deepseek-harness/docs
creatixchu 6d7bd7e703 fix(web): keep the plan card to decisions it can actually answer
Review follow-ups on the presentation intent.

The card claimed any single-question request declaring the intent, then sent one
of two labels — so a producer offering a third option, or a multi-select batch,
lost answers the generic flow would have shown. That contradicts the intent's
own contract, so `planReviewOf` now claims only a binary single choice and
leaves everything else to the flow that can express it.

`ask()` also rejects a plan-review intent on a question with no `detail`: the
intent declares detail IS the plan, and without one a honouring UI asks the
user to approve something invisible. The client keeps its own fallback — it sits
downstream of a wire boundary — but the misconfiguration now fails at the asker.

`planReviewOf` stops being a value export of the client contract face (client
export discipline: pure helpers stay internal; the tests already import it
relatively), and the ui-question README fallback list, both languages, now
states every condition the code enforces.
2026-07-30 19:38:18 +08:00
..
cookbook refactor: migrate linting to Oxlint 2026-07-29 14:32:11 +08:00
cordis-catalog feat(user-interaction): declare a plan-review presentation intent on questions 2026-07-30 19:09:19 +08:00
cordis-tutorial docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
core-data-structures fix(web): keep the plan card to decisions it can actually answer 2026-07-30 19:38:18 +08:00
i18n Merge branch 'master' into fix/translation-brief-uncommitted-pair 2026-07-29 20:54:30 +08:00
postmortem docs(i18n): record proofread README pairs 2026-07-29 15:30:44 +08:00
user Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine 2026-07-27 16:48:38 +08:00
agent-lifecycle.md refactor(agent): return request retry action 2026-07-27 21:17:49 +08:00
AGENTS.md docs(notes): archive low-value decision records 2026-07-26 23:06:00 +08:00
architecture.i18n.yaml refactor(agent): scope queue actions to edit and remove 2026-07-30 01:58:51 +08:00
architecture.md refactor(agent): scope queue actions to edit and remove 2026-07-30 01:58:51 +08:00
architecture.zh.md refactor(agent): scope queue actions to edit and remove 2026-07-30 01:58:51 +08:00
capability-seams.md refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
config-catalog.md Merge branch 'master' into worktree/persistent-bash-str-replace-editor 2026-07-30 15:19:27 +08:00
cordis-primer.i18n.yaml docs(i18n): clarify Cordis and test wording 2026-07-24 14:21:15 +08:00
cordis-primer.md Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-23 13:40:29 +08:00
cordis-primer.zh.md docs(i18n): clarify Cordis and test wording 2026-07-24 14:21:15 +08:00
defensive-patterns.i18n.yaml docs(security): include password names in scrub rule 2026-07-28 09:40:33 -07:00
defensive-patterns.md docs(security): include password names in scrub rule 2026-07-28 09:40:33 -07:00
defensive-patterns.zh.md docs(security): include password names in scrub rule 2026-07-28 09:40:33 -07:00
development.i18n.yaml docs: correct the Oxlint workflow contract 2026-07-29 23:45:06 +08:00
development.md docs: correct the Oxlint workflow contract 2026-07-29 23:45:06 +08:00
development.zh.md docs: correct the Oxlint workflow contract 2026-07-29 23:45:06 +08:00
event-producer-consumer.md Merge branch 'master' into worktree/persistent-bash-str-replace-editor 2026-07-30 15:19:27 +08:00
glossary.i18n.yaml docs: align Goal Round step cardinality 2026-07-24 12:10:40 +08:00
glossary.md docs: align Goal Round step cardinality 2026-07-24 12:10:40 +08:00
glossary.zh.md docs(i18n): allow zero-step Goal Rounds 2026-07-23 21:13:34 +08:00
graph-atlas.md docs(graphs): retain archived rationale link 2026-07-26 23:08:47 +08:00
module-graph.md Merge branch 'master' into worktree/persistent-bash-str-replace-editor 2026-07-30 15:19:27 +08:00
persistence-catalog.md refactor(session): rename the seed boundary to end-seed 2026-07-30 15:32:06 +08:00
testing.i18n.yaml ci: gate web browser snapshots 2026-07-30 10:23:05 +08:00
testing.md ci: gate web browser snapshots 2026-07-30 10:23:05 +08:00
testing.zh.md ci: gate web browser snapshots 2026-07-30 10:23:05 +08:00
tool-catalog.md Merge branch 'master' into worktree/persistent-bash-str-replace-editor 2026-07-30 15:19:27 +08:00
tool-execution-pipeline.md Merge remote-tracking branch 'origin/master' into feat/send-unify 2026-07-23 22:41:45 +08:00
typert-catalog-integration-design.i18n.yaml refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
typert-catalog-integration-design.md refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
typert-catalog-integration-design.zh.md refactor(cordis): generate catalogs from Typert models 2026-07-29 23:55:12 +08:00
web-styling.i18n.yaml docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
web-styling.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
web-styling.zh.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00