deepseek-harness/docs
Hypatia May 035a99f922 fix(tui,host): pin replayed compaction and correct projection wording
Review follow-ups on the append-origin transcript projection.
The live/replay equivalence claim was stated unconditionally but does not
cover `tool/call`: only replay re-derives call pairing, because a call
event carries no `surfaceOp` of its own and inherits transcript
membership from the `assistant/message` that advertised it — which the
live listener has necessarily just rendered. Narrow the claim in the TUI
README and Agent Note, and record at `rebuildTranscript` why the filter
is replay-only rather than a missing live branch.
Add `surface-replayed-compaction`: the three existing fixtures all come
from the live path, leaving the resume case the bug report leads with
pinned only by a unit test. The new checkpoint mounts with the
replacement already stored and records byte-identical to
`surface-after-compaction-wide`, so the two fixtures now pin the
equivalence they assert. The shared fixture appends move into
`appendPreCompactionLog` / `appendCompactionCheckpoint`.
`MESSAGE_TYPES` is not "human message event types" — it includes
`assistant/message`. Say what the code distinguishes (append-origin
conversation messages vs. model-only replacement copies) at the const,
the `paginate` and `session.history` JSDoc, the apiproxy README, and the
Agent Note.
Also: spell the replace shape as `Extract<SurfaceOp, { op: 'replace' }>`
for symmetry with the module's two other uses; document why
`isCompactCheckpoint` keeps a replacement check that is redundant at both
call sites; say that Ctrl+R toggles reasoning, which rebuilds the
transcript; and qualify "the sole source of derived history" as derived
*model* history now that the transcript is the other projection.
2026-07-29 17:17:46 +08:00
..
cookbook refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +08:00
cordis-catalog fix(tui,host): pin replayed compaction and correct projection wording 2026-07-29 17:17:46 +08:00
cordis-tutorial docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
core-data-structures fix(tui,host): pin replayed compaction and correct projection wording 2026-07-29 17:17:46 +08:00
i18n Merge remote-tracking branch 'origin/master' into worktree-i18n-update-workflow 2026-07-27 09:39:54 +08:00
postmortem docs(i18n): mirror ACP-automation edits into the zh pairs from master 2026-07-25 01:58:42 +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 fix(client,doc): address review — flow-open busy gating, seam on the architecture map, browse gap documented 2026-07-28 22:29:34 +08:00
architecture.md fix(client,doc): address review — flow-open busy gating, seam on the architecture map, browse gap documented 2026-07-28 22:29:34 +08:00
architecture.zh.md fix(client,doc): address review — flow-open busy gating, seam on the architecture map, browse gap documented 2026-07-28 22:29:34 +08:00
capability-seams.md fix(build,doc): native paths aliases; the note states browse's client half is stacked 2026-07-29 02:11:31 +08:00
config-catalog.md Merge remote-tracking branch 'origin/master' into web-permission-sandbox-merge-master 2026-07-29 11:16:49 +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 Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-24 21:20:17 +08:00
defensive-patterns.md Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-24 21:20:17 +08:00
defensive-patterns.zh.md Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-24 21:20:17 +08:00
development.i18n.yaml fix(dev-infra): migrate copied worktree hooks 2026-07-29 13:38:55 +08:00
development.md fix(dev-infra): migrate copied worktree hooks 2026-07-29 13:38:55 +08:00
development.zh.md fix(dev-infra): migrate copied worktree hooks 2026-07-29 13:38:55 +08:00
event-producer-consumer.md Merge origin/master (plan line #590) into web-permission-sandbox-merge-master 2026-07-29 03:52:55 +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 fix(tui,host): project the human transcript from append-origin events 2026-07-29 16:13:36 +08:00
persistence-catalog.md Merge origin/master (plan line #590) into web-permission-sandbox-merge-master 2026-07-29 03:52:55 +08:00
testing.i18n.yaml build(web): rebuild plugin bundles before the browser lane 2026-07-28 18:14:22 +08:00
testing.md build(web): rebuild plugin bundles before the browser lane 2026-07-28 18:14:22 +08:00
testing.zh.md build(web): rebuild plugin bundles before the browser lane 2026-07-28 18:14:22 +08:00
tool-catalog.md Restore Cordis mount and unmount names 2026-07-27 21:20:06 +08:00
tool-execution-pipeline.md Merge remote-tracking branch 'origin/master' into feat/send-unify 2026-07-23 22:41:45 +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