deepseek-harness/docs
kingwl 6adb14b56d feat(telemetry): adopt from the construction boundary — constructor seeds never re-export
A cursor-less adoption (process restart + resume, fork, seam-module
reload) replayed the session's full log from seq 0, re-exporting
history that already left the process — a resume re-billed its entire
stored log on every restart, and a fork re-shipped the parent's prefix
under the child's id, doubling query-time counts on OTLP backends with
no native ingest dedupe.

dsh-session now exposes the fact the constructor already validated but
discarded: Session.firstLiveSeq, the constructor-seed length — the
first seq appended in this process. header.seedLength cannot serve
here: it is the durable fork-lineage boundary, and a resumed session's
constructor seed is its full stored log while the header keeps the
original fork value (llm-replay and session-query-sqlite depend on
that meaning). Constructor seeds also never publish on the
session/event firehose, so adoption replaying them was inconsistent
with the system's own publication semantics.

Adoption's cursor-less fallback starts at firstLiveSeq; seed events
still feed the chunk projection, so mid-step continuations re-drop
after a resume. Fork streams are no longer self-contained: records now
carry session.seed_length (with the existing session.parent_id) so
receivers stitch the child's stream onto the parent's. Accepted cost,
consistent with at-most-once delivery and recorded in the revival
Agent Note: a resume no longer backfills records a previous process
failed to deliver — a deployment with that requirement needs the
deferred outbox, not replay.

Pinned red-first: seeded adoption exports nothing (assertion reversed
from the prior seed-readback test, obsolete behavior changed with its
test), resume-shaped seed rebuilds the projection without exporting,
and fork records carry the stitch attributes.
2026-07-27 18:35:03 +08:00
..
cookbook docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
cordis-catalog feat(telemetry): adopt from the construction boundary — constructor seeds never re-export 2026-07-27 18:35:03 +08:00
cordis-tutorial docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
core-data-structures feat(telemetry): adopt from the construction boundary — constructor seeds never re-export 2026-07-27 18:35:03 +08:00
i18n docs: make bilingual pairing universal 2026-07-26 15:06:51 +08:00
postmortem docs(i18n): mirror ACP-automation edits into the zh pairs from master 2026-07-25 01:58:42 +08:00
user refactor(acp): reduce bridge to automation protocol 2026-07-24 01:40:25 +08:00
agent-lifecycle.md refactor(agent): align delivery method names 2026-07-24 15:08:36 +08:00
AGENTS.md docs: restore generated Cordis core API 2026-07-20 16:33:44 +08:00
architecture.i18n.yaml Merge remote-tracking branch 'origin/master' into session-query-tool 2026-07-25 14:17:24 +08:00
architecture.md Merge remote-tracking branch 'origin/master' into session-query-tool 2026-07-25 14:17:24 +08:00
architecture.zh.md Merge remote-tracking branch 'origin/master' into session-query-tool 2026-07-25 14:17:24 +08:00
capability-seams.md Merge remote-tracking branch 'origin/master' into feat/telemetry-otel-plugin 2026-07-26 16:58:35 +08:00
config-catalog.md Merge remote-tracking branch 'origin/master' into feat/telemetry-otel-plugin 2026-07-26 16:58:35 +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 docs: deduplicate paired code-block checks 2026-07-26 02:52:48 +08:00
development.md docs: deduplicate paired code-block checks 2026-07-26 02:52:48 +08:00
development.zh.md docs: deduplicate paired code-block checks 2026-07-26 02:52:48 +08:00
event-producer-consumer.md Merge remote-tracking branch 'origin/master' into feat/telemetry-otel-plugin 2026-07-26 16:58:35 +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 refactor(acp): reduce bridge to automation protocol 2026-07-24 01:40:25 +08:00
module-graph.md Merge remote-tracking branch 'origin/master' into feat/telemetry-otel-plugin 2026-07-26 16:58:35 +08:00
persistence-catalog.md docs(agent-notes): consolidate superseded decisions 2026-07-25 16:43:07 +08:00
testing.i18n.yaml Merge remote-tracking branch 'origin/master' into web-e2e-lane 2026-07-25 14:20:19 +08:00
testing.md Merge remote-tracking branch 'origin/master' into web-e2e-lane 2026-07-25 14:20:19 +08:00
testing.zh.md Merge remote-tracking branch 'origin/master' into web-e2e-lane 2026-07-25 14:20:19 +08:00
tool-catalog.md fix(session-query): keep model tools opt-in 2026-07-25 18:14:36 +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