deepseek-harness/docs/core-data-structures
Yichen Jiang 2dd4b8e78d fix(host): pin model discovery to loopback and drop its unread wire field
llm.discoverModels was reachable from any declared trusted host. The
method takes a caller-supplied baseURL and makes the host issue a GET to
it, then reports the status or the parsed body — so on a LAN deployment
an anonymous caller had a probe for whatever the host can reach and the
browser cannot, plus a path that carries a draft credential. The
PRIVILEGED_METHODS doc already states the rule this broke: trustedHosts
is a DNS-rebinding fence, not authentication, so the configuration plane
stays loopback-same-origin. It is in that set now, asserted both against
the hand-built fence and over real HTTP beside the catalog reads that
deliberately stay reachable.

supportsDiscovery and listModelDiscoveryNamespaces are gone. The field
was required on the wire and read by nobody: its own contract said a
surface should offer the action "instead of naming an adapter family it
would have to hardcode", while the surface hardcodes llm-pi-ai in two
places and gates the button on whether there is anything to probe. Its
shape did not fit the second caller either — the create card has no row
to read a per-row field from. Keeping a required field alive for a
consumer that may never arrive costs every producer and fixture a value
nobody consults, which is exactly how the fixtures drifted. The registry
that fed it had no other production consumer, so registration and
disposal are now observed through the offer itself.

The Agent Note claimed the key is never logged, which the wire schema
beside it already contradicts, and predated both the provider field and
the catalog-answer path. The two new public types pointed at core.md
without a type-equiv block or manifest entry, so the generated service
catalog named documentation that did not exist.
2026-08-05 19:51:11 +08:00
..
approval.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
approval.md feat(system-prompt): cache dynamic policy context 2026-07-30 22:09:15 +08:00
approval.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
bash.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
bash.md subprocess: one explicit env channel on the spawn spec 2026-07-27 04:14:51 +08:00
bash.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
code-runtime.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
code-runtime.md Merge branch 'worktree/pr343-retarget-latest-master' into worktree/pr344-retarget-stack 2026-07-23 19:10:25 +08:00
code-runtime.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
commands.i18n.yaml docs(i18n): address proofreading review findings 2026-08-04 18:42:13 +08:00
commands.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
commands.zh.md docs(i18n): address proofreading review findings 2026-08-04 18:42:13 +08:00
compaction.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
compaction.md Merge latest PR 956 stack base 2026-07-30 17:55:35 +08:00
compaction.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
core.i18n.yaml fix(host): pin model discovery to loopback and drop its unread wire field 2026-08-05 19:51:11 +08:00
core.md fix(host): pin model discovery to loopback and drop its unread wire field 2026-08-05 19:51:11 +08:00
core.zh.md fix(host): pin model discovery to loopback and drop its unread wire field 2026-08-05 19:51:11 +08:00
credentials.i18n.yaml docs: bilingual credentials/settings-consumer documentation, catalogs, and gates 2026-07-29 14:20:06 +08:00
credentials.md docs: bilingual credentials/settings-consumer documentation, catalogs, and gates 2026-07-29 14:20:06 +08:00
credentials.zh.md docs: bilingual credentials/settings-consumer documentation, catalogs, and gates 2026-07-29 14:20:06 +08:00
filesystem.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
filesystem.md Merge branch 'worktree/pr343-retarget-latest-master' into worktree/pr344-retarget-stack 2026-07-23 19:10:25 +08:00
filesystem.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
goal.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
goal.md Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine 2026-07-26 16:45:27 +08:00
goal.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
llm-streaming.i18n.yaml docs: rescan rebased documentation hierarchy 2026-08-05 16:16:57 +08:00
llm-streaming.md docs: apply hierarchy across the corpus 2026-08-05 16:13:28 +08:00
llm-streaming.zh.md docs: apply hierarchy across the corpus 2026-08-05 16:13:28 +08:00
lsp.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
lsp.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
lsp.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
persistence.i18n.yaml docs: apply hierarchy across the corpus 2026-08-05 16:13:28 +08:00
persistence.md docs: apply hierarchy across the corpus 2026-08-05 16:13:28 +08:00
persistence.zh.md docs: apply hierarchy across the corpus 2026-08-05 16:13:28 +08:00
pty.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
pty.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
pty.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
sandbox.i18n.yaml docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
sandbox.md docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
sandbox.zh.md docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
scope.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
scope.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
scope.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
session-query.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
session-query.md Merge remote-tracking branch 'origin/master' into session-query-tool 2026-07-25 14:17:24 +08:00
session-query.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
session-reference.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
session-reference.md refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +08:00
session-reference.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
session-title.i18n.yaml docs(i18n): address proofreading review findings 2026-08-04 18:42:13 +08:00
session-title.md fix(session-title): typed rename rejection, provenance invariant, contract docs 2026-07-29 20:10:42 +08:00
session-title.zh.md docs(i18n): address proofreading review findings 2026-08-04 18:42:13 +08:00
session.i18n.yaml docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
session.md docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
session.zh.md docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
settings.i18n.yaml fix(llm): let a catalog route keep the auth its provider actually declares 2026-08-05 18:54:47 +08:00
settings.md fix(llm): let a catalog route keep the auth its provider actually declares 2026-08-05 18:54:47 +08:00
settings.zh.md fix(llm): let a catalog route keep the auth its provider actually declares 2026-08-05 18:54:47 +08:00
skills.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
skills.md Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729 2026-07-29 23:36:49 +08:00
skills.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
spill.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
spill.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
spill.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
subagent.i18n.yaml feat(subagent): add explicit child reports 2026-08-02 12:51:10 +08:00
subagent.md feat(subagent): add explicit child reports 2026-08-02 12:51:10 +08:00
subagent.zh.md feat(subagent): add explicit child reports 2026-08-02 12:51:10 +08:00
subprocess.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
subprocess.md Merge remote-tracking branch 'origin/worktree-process-service-seam' into subprocess-simpl/d-one-env-channel 2026-07-27 11:31:38 +08:00
subprocess.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
system-prompt.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
system-prompt.md feat(system-prompt): cache dynamic policy context 2026-07-30 22:09:15 +08:00
system-prompt.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
tasks.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
tasks.md Merge remote-tracking branch 'origin/master' into worktree-tasks-service-seam 2026-07-26 20:28:37 +08:00
tasks.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
token-meter.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
token-meter.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
token-meter.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
tools.i18n.yaml cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
tools.md cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
tools.zh.md cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
user-interaction.i18n.yaml cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
user-interaction.md cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
user-interaction.zh.md cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
web.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
web.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
web.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
workflow.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
workflow.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
workflow.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00