deepseek-harness/docs/core-data-structures
Yichen Jiang f376ee23d1 fix(llm): size unknown models and refuse a section that cannot be served
Three defects surfaced while driving the Models page.

A hand-declared model needed an explicit contextWindow and maxTokens,
but a provider listing usually returns ids and nothing else — so the
page happily wrote a profile the adapter then rejected, which took the
whole namespace down silently. Capacities now fall back to the route's
`defaultContextWindow` (262,144) and `defaultMaxTokens` (32,768). Both
are guesses by construction, which is why they are route fields a
deployment corrects once rather than constants buried in the adapter;
the fallback sizes the model and never becomes a per-request cap.

That silent failure was the second defect. A schema-valid profile the
adapter could not serve was stored and only rejected later, disabling
every route in the namespace with nothing said. `dsh-settings` gains an
optional `validate` on registration — a check for what a schema cannot
express — and `llm-pi-ai` refuses an unserviceable section at the write
that produced it. A stored section that fails keeps the namespace's last
good value, as a schema failure already did, so an externally edited
document still cannot strand the owner. The plugin's own last-good
fallback goes with it: nothing reaching it can fail any more.

Third, a model with no reasoning metadata advertised the single level
`off`, which pi-ai translates to *omitting* the reasoning option — the
same request naming no effort produces. Selecting it disabled nothing,
so a provider whose default is to think kept thinking with `off` shown
as selected. Such a model now reports no reasoning capability at all,
which is the seam's way of saying the control is unavailable, and the
per-model `reasoning` flag is gone: without a thinkingLevelMap to spell
levels it could only invent them.

The protocol table narrows to the three a hand-declared route reaches
today, most-reached first so a surface offering a choice defaults to the
one gateways actually speak.
2026-08-05 18:54:23 +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 feat(web): steer queued messages into active turns 2026-08-02 17:53:07 +08:00
core.md feat(web): steer queued messages into active turns 2026-08-02 17:53:07 +08:00
core.zh.md feat(web): steer queued messages into active turns 2026-08-02 17:53:07 +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): size unknown models and refuse a section that cannot be served 2026-08-05 18:54:23 +08:00
settings.md fix(llm): size unknown models and refuse a section that cannot be served 2026-08-05 18:54:23 +08:00
settings.zh.md fix(llm): size unknown models and refuse a section that cannot be served 2026-08-05 18:54:23 +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