Tianyi Cui
580bdc7258
refactor: remove redundant unknown casts
2026-09-19 20:13:58 +08:00
_Kerman and Tianyi Cui
fb79a944f5
refactor(llm): separate durable producer sources from request inputs
...
Give durable user context its producer-owned source kind instead of a generic plugin wrapper. The V3-to-V4 conversion preserves the frozen rename and collision rules, all own JSON metadata, event coordinates, and historical request-only kinds. Native catalog and JSONL admission retain source validation so unknown attribution can survive without its producer while malformed owned sources are refused.
Use an explicit user-only RequestUserInput for auxiliary LLM prompts that do not own durable message identity. Auto Review and compaction remove their request-only source registrations while retaining prompt content and freezing; provider serializers and projections keep the same wire data, assistant replay isolation, image ordering, and tool correlation. Session writes, Agent delivery, and recorded title requests continue to require identified durable messages.
Bind the saved compatibility policy only to user sources and qualify tmux location attribution without weakening fixed system, model, or tool semantics. Rebuild the current inventory and unpublished V4 acknowledgement on the actual tool-role parent, preserving its rationale and all accepted historical records. The catalog format version records tooling metadata; Session remains V4. Developer-role policy and activation belong to their own feature.
The latest-master Messages adapter, serialization, request-input typing, EpochHeader reservation, and attribution checks pass 103 tests across five files. The retained V3 Messages input-history snapshot passes through the source profile; Host/Client typechecks and all 41 documentation gates pass. The generated comparison records four changed roots and 447 unchanged type fingerprints. Latest-master ARIA changes are retained, with producer source labels applied independently; new Messages fixtures retain their producer names as declared source kinds and use the fixed system-message helper; recorded Session generations are unchanged by this regrouping.
Co-authored-by: Tianyi Cui <[email protected] >
2026-09-18 19:07:12 +08:00
creatixchu
6b1808f432
release(dsh): 0.1.6-alpha.2
2026-09-17 21:11:19 +08:00
creatixchu
ea53423b60
release(dsh): 0.1.6-alpha.1
2026-09-15 09:35:57 +08:00
_Kerman
0a382becb3
Merge latest origin/master into xtr/agent-setup-hook
2026-09-14 13:57:18 +08:00
Tianyi Cui
3b27563290
fix: include package-index links and align residual metadata
2026-09-12 20:20:02 +08:00
Yichen Jiang
59f2e3be33
Merge release/dsh-0.1.5 version 0.1.5-rc.2 into master sync branch
2026-09-10 21:53:53 +08:00
Yichen Jiang
a305303422
release(dsh): 0.1.5-rc.2
2026-09-10 21:38:20 +08:00
_Kerman
fd7ee32315
Merge origin/master into xtr/agent-setup-hook
2026-09-10 17:02:57 +08:00
_Kerman
eb0a666415
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-3828
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/subsystems/session.i18n.yaml
# packages/core/session/README.i18n.yaml
2026-09-10 11:19:25 +08:00
j-xiang
4ddf777ad8
Merge master into README proofreading branch
2026-09-10 10:42:13 +08:00
imccyu
1ef9c1fa9a
release(dsh): 0.1.5-rc.1
2026-09-10 09:13:14 +08:00
j-xiang
b5578ae46a
Merge master into README proofreading branch
2026-09-10 01:29:37 +08:00
j-xiang
8e8fb2fc62
docs(i18n): proofread bilingual README corpus
2026-09-10 00:21:32 +08:00
imccyu
dd393c1820
release(dsh): 0.1.5-alpha.2
2026-09-09 22:02:09 +08:00
_Kerman
aeb13413c7
test(agent): complete awaited creation migration
2026-09-09 17:14:53 +08:00
_Kerman
9b7a8ccc9f
feat(agent): await initialization through agent/created
2026-09-09 16:20:00 +08:00
_Kerman
8f986c8da6
chore(session): scope history reader exemptions to tests
2026-09-09 12:55:32 +08:00
_Kerman
37abcb74c5
chore(session): permit existing deprecated history reads
2026-09-09 12:33:53 +08:00
imccyu
2faa751be9
release(dsh): 0.1.5-alpha.1
2026-09-08 23:06:34 +08:00
_Kerman
314ccf08af
Merge remote-tracking branch 'origin/master' into xtr/explicit-agent-context
...
# Conflicts:
# packages/bundle/headless/tests/headless.spec.ts
# packages/core/agent-loop/src/agent.ts
# packages/subagent/subagent/tests/continuation.spec.ts
2026-09-08 17:12:51 +08:00
Turtle
f1c1ff5a08
docs: constrain package README summaries
2026-09-08 13:52:40 +08:00
_Kerman
0348599f04
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/acp/acp/tests/harness.ts
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/tests/commands-queue-attachment.host.spec.ts
# packages/context/agent-instructions/tests/agent-instructions.e2e.ts
# packages/fs/tool-fs/tests/harness.ts
# packages/preset/agent-presets/tests/invariant.spec.ts
# packages/preset/agent-presets/tests/mount.spec.ts
# packages/preset/agent-presets/tests/remote.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-07 20:22:24 +08:00
Yichen Jiang
e379fa8bdd
release(dsh): 0.1.3-alpha.2
2026-09-07 19:27:06 +08:00
_Kerman
b759ad91e8
Merge remote-tracking branch 'origin/master' into xtr/explicit-agent-context
...
# Conflicts:
# packages/subagent/subagent/src/continuation.ts
2026-09-07 12:09:06 +08:00
imccyu
9b78f99dec
perf(session): transfer frozen persistence reads into restore
2026-09-06 02:10:23 +08:00
Tianyi Cui
a7a5be1703
docs(notes): archive low-future-value Agent Notes
...
Run the dsh-archive-agent-notes audit over every active Agent Note on
current master, judging each record by whether its rationale still guides
work rather than by size or age.
- Archive 453 implemented bilingual triplets (417,882 English words):
completed UI chrome, narrow adapters, closed bug fixes, implementation
walkthroughs whose package READMEs, docs pages, generators, or successor
notes now carry the useful behavior, and 51 records fully superseded by
a later active note. Keep 201 implemented notes whose ownership rules,
negative guarantees, durable or wire semantics, security rules,
reintroduction conditions, or still-tempting rejected alternatives
remain useful.
- Reject 7 proposals whose premise is gone or whose work shipped in
amended form under other records; delete 2 rejected notes that no
longer prevent a plausible mistake.
- Retarget every remaining inbound link to the archived path, and repair
active prose that named an archived record as the owner of a live fact:
parenthetical citations drop, ownership sentences redirect to the
README, docs page, or active note that states the fact, and history
citations say so. Chinese files link the English archived path because
the pairing gate treats the frozen tree as outside the bilingual corpus.
- Seal 1,359 new frozen artifacts; existing seals are unchanged and
outbound links from archived notes are neither inspected nor repaired.
- Regenerate docs/config-catalog.md after the hook-bridge comment edits
shifted two source line numbers.
2026-09-05 14:37:32 +08:00
Yichen Jiang
ed67c22496
release(dsh): 0.1.3-alpha.1
2026-09-04 15:38:55 +08:00
_Kerman
891f07a2d0
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2672
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/tests/session-projections.host.spec.ts
# packages/bundle/headless/tests/headless.spec.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent/src/runtime-types.ts
# packages/fs/tool-str-replace-editor/tests/tools.spec.ts
# packages/llm/llm-retry/tests/retry.spec.ts
# packages/llm/llm-retry/tests/transport-recovery.spec.ts
# packages/shell/tool-bash-persistent/tests/loader-composition.spec.ts
# packages/shell/tool-bash-persistent/tests/tools.spec.ts
# packages/shell/tool-pwsh-persistent/tests/loader-composition.spec.ts
# packages/shell/tool-pwsh-persistent/tests/tools.spec.ts
# packages/terminal/terminal-bash/tests/index.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-04 12:18:37 +08:00
Tianyi Cui
3aef64797d
Merge master into session format migration
...
# Conflicts:
# packages/test-support/session-snapshot/src/harness.ts
# scripts/smoke-python-runtime.py
2026-09-03 18:31:54 +08:00
imccyu
3225ec2d94
Merge remote-tracking branch 'origin/master' into release/dsh-0.1.2-rc.1-version-to-master
2026-09-03 10:40:28 +08:00
imccyu
a66e470204
release(dsh): 0.1.2-rc.1
2026-09-03 02:27:19 +08:00
Tianyi Cui
2ca559dee3
Merge master into session format migration
2026-09-02 18:46:49 +08:00
_Kerman
46d01068c6
Merge remote-tracking branch 'origin/master' into xtr/explicit-agent-context
2026-09-02 17:58:45 +08:00
_Kerman
0b8956aab9
refactor(agent): move runtime parent into options
2026-09-02 17:56:01 +08:00
imccyu
cf126d8699
Merge remote-tracking branch 'origin/merge/projcache-v6-compat-into-master' into release/dsh-0.1.2-alpha.5-version-to-master
2026-09-02 17:25:23 +08:00
imccyu
db6bdc3576
release(dsh): 0.1.2-alpha.5
2026-09-02 15:48:33 +08:00
_Kerman
02b889bff6
Merge remote-tracking branch 'origin/master' into xtr/explicit-agent-context
...
# Conflicts:
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# docs/subsystems/core.i18n.yaml
# docs/subsystems/core.md
# docs/subsystems/core.zh.md
# packages/api/remotes/package.json
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent-loop/src/index.ts
# packages/core/agent-loop/tests/resume.spec.ts
# packages/subagent/subagent/src/continuation.ts
# packages/subagent/tool-subagent/src/index.ts
# packages/subagent/tool-subagent/src/model-selection-settings.ts
# packages/typert/protocol/README.i18n.yaml
# packages/typert/protocol/README.md
# packages/typert/protocol/README.zh.md
2026-09-02 13:39:30 +08:00
Tianyi Cui
7145acfe07
Merge master into session format migration
...
# Conflicts:
# .agents/notes/archived/architecture/2026-06-18-shared-persistence-write-coordinator.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-14-session-persistence.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-14-session-persistence.md
# .agents/notes/implemented/architecture/2026-06-14-session-persistence.zh.md
# .agents/notes/implemented/architecture/2026-07-24-project-session-directories.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-24-project-session-directories.md
# .agents/notes/implemented/architecture/2026-07-24-project-session-directories.zh.md
# .agents/notes/implemented/architecture/2026-08-05-session-preparation.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-05-session-preparation.md
# .agents/notes/implemented/architecture/2026-08-05-session-preparation.zh.md
# .agents/notes/implemented/architecture/2026-08-10-message-feedback-sidecar.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-10-message-feedback-sidecar.md
# .agents/notes/implemented/architecture/2026-08-10-message-feedback-sidecar.zh.md
# .agents/notes/implemented/architecture/2026-08-27-handle-based-session-persistence.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-28-load-pre-identity-session-messages.md
# .agents/notes/implemented/bug-fix/2026-07-28-load-pre-identity-session-messages.zh.md
# .agents/notes/implemented/bug-fix/2026-08-04-load-pre-react-loop-sessions.md
# .agents/notes/implemented/bug-fix/2026-08-04-load-pre-react-loop-sessions.zh.md
# .agents/notes/implemented/bug-fix/2026-09-01-host-goal-pause-aborts-turn.i18n.yaml
# .agents/notes/implemented/feature/2026-08-10-web-session-log-export.i18n.yaml
# .agents/notes/implemented/feature/2026-08-10-web-session-log-export.md
# .agents/notes/implemented/feature/2026-08-10-web-session-log-export.zh.md
# apps/cli/tests/profiles/headless/tests/session-format-guard.expected.e2e.ts
# apps/web/tests/cold-blank-session.e2e.ts
# apps/web/tests/message-actions.e2e.ts
# apps/web/tests/scaffold.ts
# apps/web/tests/workspace-management.e2e.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# docs/subsystems/feedback.i18n.yaml
# docs/subsystems/feedback.md
# docs/subsystems/feedback.zh.md
# docs/subsystems/persistence.i18n.yaml
# docs/subsystems/persistence.md
# docs/subsystems/persistence.zh.md
# packages/acp/acp/src/index.ts
# packages/acp/acp/tests/bridge.spec.ts
# packages/api/session-controller/src/list.ts
# packages/api/session-controller/tests/agent.host.spec.ts
# packages/api/session-controller/tests/session-cold.host.spec.ts
# packages/api/session-controller/tests/session-projections.host.spec.ts
# packages/api/session-controller/tests/session-search.host.spec.ts
# packages/api/session-controller/tests/test-remote.ts
# packages/api/session-controller/tests/transport.host.spec.ts
# packages/core/agent-loop/src/index.ts
# packages/core/agent-loop/tests/config-session-id.spec.ts
# packages/core/agent-loop/tests/resume.spec.ts
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/feedback/message-feedback/src/index.ts
# packages/feedback/message-feedback/tests/helpers.ts
# packages/feedback/message-feedback/tests/message-feedback.spec.ts
# packages/session-query/session-log-export/src/archive.ts
# packages/session-query/session-log-export/tests/archive.host.spec.ts
# packages/session-query/session-log-export/tests/route.host.spec.ts
# packages/session-query/session-query-sqlite/README.i18n.yaml
# packages/session-query/session-query-sqlite/README.md
# packages/session-query/session-query-sqlite/README.zh.md
# packages/session-query/session-query-sqlite/src/index.ts
# packages/session-query/session-query-sqlite/tests/sqlite.spec.ts
# packages/session-query/session-query/README.i18n.yaml
# packages/session-query/session-query/README.md
# packages/session-query/session-query/README.zh.md
# packages/session-query/session-query/src/corpus.ts
# packages/session-query/session-query/tests/observation.spec.ts
# packages/session-query/session-query/tests/session-query.spec.ts
# packages/session-query/session-query/tests/tracing.spec.ts
# packages/session/session-checkpoint-policy/tests/session-checkpoint-policy.spec.ts
# packages/session/session-persistence-jsonl/README.i18n.yaml
# packages/session/session-persistence-jsonl/README.md
# packages/session/session-persistence-jsonl/README.zh.md
# packages/session/session-persistence-jsonl/src/index.ts
# packages/session/session-persistence-jsonl/tests/jsonl.spec.ts
# packages/session/session-persistence-jsonl/tests/zstd.spec.ts
# packages/session/session-persistence/README.i18n.yaml
# packages/session/session-persistence/README.md
# packages/session/session-persistence/README.zh.md
# packages/session/session-persistence/src/coordinator.ts
# packages/session/session-persistence/src/index.ts
# packages/session/session-persistence/tests/contract.ts
# packages/session/session-persistence/tests/coordinator-contract.ts
# packages/session/session-persistence/tests/persistence.spec.ts
# packages/session/session-telemetry/package.json
# packages/shell/tool-bash/tests/tools.spec.ts
# packages/subagent/subagent/src/continuation.ts
# packages/subagent/subagent/tests/list-children.spec.ts
# packages/workspace/workspace/src/index.ts
# packages/workspace/workspace/tests/workspace.spec.ts
# scripts/gen-cordis-catalog.ts
2026-09-02 13:34:40 +08:00
_Kerman
3c9410904e
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/session-controller/tests/session-projections.host.spec.ts
# packages/core/agent-loop/src/index.ts
# packages/experimental/agent-team/tests/persistence.spec.ts
# packages/experimental/agent-team/tests/team.spec.ts
# packages/session-query/session-query/tests/observation.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-02 10:26:43 +08:00
Turtle
8b799cd7ac
Merge pull request #3266 from deepseek-harness/refactor/session-persistence-handle-seam
...
refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path
2026-09-02 00:50:53 +08:00
imccyu
a9e185f205
release(dsh): 0.1.2-alpha.4
2026-09-01 23:19:57 +08:00
Turtle
bec6805d6a
refactor(session-persistence)!: handle-based seam with a lifecycle-owned write path
...
The persistence seam is now create/open/stat/list returning per-session
SessionHandles (read/append/flush/close); every log read and write flows
through the owning handle. The seam package exports only the service and
handle contracts, consumer-visible errors, and pure durable-data
validation helpers; each backend owns its complete storage runtime, and
the shared contract suites pin equivalent observable behavior. The
backend routes published sessions' live events by id into the active
write handle; agent-loop only acquires, seeds, and closes the handle.
Resume appends interruptedTurnClosers through its write handle;
session-query owns the revision-keyed cold cache. Legacy-only surfaces
are removed in the same swap: locate/readRaw/supportsRawArtifacts, the
legacy event-shape read migration, zstd torn-frame salvage,
DSH_SESSION_JSONL, and hook transcript_path population; a torn final
zstd frame is discarded whole; the session-list cold blank probe returns
on stat metadata (eventCount derived from the last physical row,
sizeBytes). The WebUI ZIP export serializes the logical log from a read
handle, so both backends export identically.
Refs #3245
2026-09-01 23:19:02 +08:00
Tianyi Cui
d1521ea783
feat(session)!: add released format migration
2026-09-01 22:12:21 +08:00
_Kerman
ec51b7651f
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/session-controller/tests/session-projections.host.spec.ts
# packages/context/agent-instructions/tests/agent-instructions.spec.ts
# packages/core/agent/src/inbox.ts
# packages/goal/tool-goal/tests/tool-goal.spec.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
# packages/terminal/terminal-bash/tests/index.spec.ts
2026-09-01 21:46:31 +08:00
Tianyi Cui
27bf1039db
refactor(session)!: distinguish event seqs from log offsets
2026-09-01 20:36:00 +08:00
_Kerman
9699772fff
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
...
# Conflicts:
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/context/agent-instructions/tests/agent-instructions.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/core/agent/src/inbox.ts
# packages/core/agent/tests/agent.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-09-01 11:02:30 +08:00
_Kerman
5dd876025d
Merge pull request #2907 from deepseek-harness/xtr/session-log-read-api
...
perf(session): separate indexed and snapshot log reads
2026-09-01 10:49:54 +08:00
imccyu
14bab4422b
release(dsh): 0.1.2-alpha.3
2026-08-31 23:39:37 +08:00
_Kerman
700d5407fb
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-recovery
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/api/session-controller/src/control.ts
# packages/context/agent-instructions/tests/agent-instructions.spec.ts
# packages/test-support/agent-loop-testkit/package.json
2026-08-31 13:37:55 +08:00