Turtle
c58097a826
feat(session-persistence-jsonl): cross-process write-ownership lease
...
Write handles now hold a durable lease (session.lock.json beside the
log): a random owner token, diagnostic pid, and an expiry. Acquisition
wins by exclusive create; a second process's create or write open rejects
while the record is unrenewed for less than leaseTtlMs (default 5 min),
and takes over after that — a crashed holder is waited out, never
reclaimed by pid. The holder renews every leaseRenewIntervalMs (default
4 min); a renewal that finds a foreign, vanished, or expired record — or
fails outright — marks the lease lost permanently, so every later
append/flush rejects with SessionOwnershipLostError while reads continue.
Close releases the record; read handles never touch it. Takeover of an
expired record is eventually exclusive: a replaced holder stops within
one renewal interval.
Refs #3245
2026-09-04 14:12:14 +08:00
Tianyi Cui
91904d7c10
Merge commit 'fef079e5c9' into worktree/session-format-06-v2-snapshot-rollout
...
# Conflicts:
# snapshots/session/fs-policy-reject/session.jsonl
2026-09-03 18:51:05 +08:00
Tianyi Cui
28b16c011a
Merge commit 'a123cb0055' into worktree/session-format-05-v1-v2-chunk-migration
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
2026-09-03 18:39:44 +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
0850261706
fix(test): align current session fixture headers
2026-09-02 19:01:41 +08:00
Tianyi Cui
b5b4ef74a0
Merge embedded stream migration into v2 snapshot rollout
2026-09-02 18:50:56 +08:00
Tianyi Cui
e12258e2b7
Merge live assistant stream into embedded stream migration
2026-09-02 18:49:39 +08:00
Tianyi Cui
2ca559dee3
Merge master into session format migration
2026-09-02 18:46:49 +08:00
Tianyi Cui
8de41bbe99
Merge embedded stream migration into v2 snapshot rollout
...
# Conflicts:
# docs/testing.i18n.yaml
# docs/testing.md
# docs/testing.zh.md
# packages/test-support/session-snapshot/README.i18n.yaml
# packages/test-support/session-snapshot/README.md
# packages/test-support/session-snapshot/README.zh.md
# snapshots/session/read-image-attachment-path/session.v2.jsonl
# snapshots/session/read-image-dimension/session.v2.jsonl
# snapshots/session/read-image-reencode/session.v2.jsonl
# snapshots/session/read-image/session.v2.jsonl
# snapshots/web/navigation-panes/session.jsonl
# snapshots/web/ptc-round/session.v2.jsonl
# snapshots/web/pwsh-terminal/session.jsonl
# snapshots/web/seeded-history/session.jsonl
2026-09-02 18:45:14 +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
Tianyi Cui
25098647e8
Merge live assistant stream into embedded stream migration
...
# Conflicts:
# .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-08-08-bounded-session-persistence-write-batching.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-08-bounded-session-persistence-write-batching.md
# .agents/notes/implemented/architecture/2026-08-08-bounded-session-persistence-write-batching.zh.md
# .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/message-actions.e2e.ts
# apps/web/tests/scaffold-generation.spec.ts
# apps/web/tests/scaffold.ts
# apps/web/tests/seeded-history.e2e.ts
# apps/web/tests/subagent-conversation.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/persistence-catalog.zh.md
# docs/subsystems/persistence.i18n.yaml
# docs/subsystems/persistence.md
# docs/subsystems/persistence.zh.md
# docs/subsystems/session.i18n.yaml
# docs/subsystems/session.md
# docs/subsystems/session.zh.md
# packages/api/session-controller/tests/session-projections.host.spec.ts
# packages/core/agent-loop/tests/resume.spec.ts
# packages/session-query/session-query-sqlite/tests/sqlite.spec.ts
# packages/session-query/session-query/tests/tracing.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/tests/contract.ts
# packages/session/session-persistence/tests/coordinator-contract.ts
# packages/session/session-persistence/tests/persistence.spec.ts
# packages/subagent/subagent/src/continuation.ts
# packages/subagent/subagent/tests/list-children.spec.ts
2026-09-02 17:20:51 +08:00
imccyu
db6bdc3576
release(dsh): 0.1.2-alpha.5
2026-09-02 15:48:33 +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
Magolor
d921d4b357
fix(storage-json): reject cross-version legacy bootstrap ( #3431 )
...
* fix(storage-json): reject cross-version legacy bootstrap
* test(webworker): sync projection cache fixture version
* docs(storage): record legacy bootstrap version ownership
2026-09-02 04:37:15 +00:00
Tianyi Cui
f693946509
test(snapshot): roll corpus forward to format v2
2026-09-02 04:18:52 +08:00
Tianyi Cui
f99b06eaed
feat(session)!: embed assistant streams in format v2
2026-09-02 04:00:01 +08:00
imccyu
a9e185f205
release(dsh): 0.1.2-alpha.4
2026-09-01 23:19:57 +08:00
Tianyi Cui
d1521ea783
feat(session)!: add released format migration
2026-09-01 22:12:21 +08:00
Tianyi Cui
27bf1039db
refactor(session)!: distinguish event seqs from log offsets
2026-09-01 20:36:00 +08:00
Turtle
d68ff7e66f
Merge remote-tracking branch 'origin/master' into turtle/omit-unneeded-invariants
...
# Conflicts:
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/session/session-projection/src/invariant.ts
# tsconfig.base.json
2026-09-01 11:18:11 +08:00
imccyu
14bab4422b
release(dsh): 0.1.2-alpha.3
2026-08-31 23:39:37 +08:00
Turtle
b8e3b32fcf
Merge master into codex/omit-unneeded-invariants
2026-08-31 14:38:55 +08:00
imccyu
3f1b46a5db
release(dsh): 0.1.2-alpha.2
2026-08-30 21:19:29 +08:00
Tianyi Cui
2c6ff296af
Revert "Merge pull request #3087 from deepseek-harness/worktree/remove-ignorable-session-events"
...
This reverts commit 2123b2f418b1c8fbb86dc327b598fb11423da226, reversing
changes made to 3c0b5c68ce697537a21084f9135663017474a2e1.
2026-08-30 12:26:20 +08:00
imccyu
804b1ffbfc
refactor(api): converge the Remote failure vocabulary and client surface
...
Single RemoteError with a merge-extensible, domain-prefixed code map;
owners throw at the failure point; streams surface marked failures;
clients consume ctx.remote directly with isRemoteFailure as the only
discrimination point and construct no failure instances.
2026-08-28 22:37:36 +08:00
Turtle
15f2997bcb
cleanup: omit unneeded invariant companions
2026-08-28 13:12:52 +08:00
_Kerman
f6d4f2149d
fix(webworker-runtime): restore v1 title cache fixture
2026-08-28 11:53:17 +08:00
_Kerman
25b0c943ce
Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.md
# .agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.zh.md
# .agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.i18n.yaml
# .agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.md
# .agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.zh.md
# .agents/notes/implemented/process/2026-07-20-gui-testing-system.i18n.yaml
# .agents/notes/implemented/process/2026-07-20-gui-testing-system.md
# .agents/notes/implemented/process/2026-07-20-gui-testing-system.zh.md
2026-08-28 10:59:30 +08:00
imccyu
6c705be1ce
release(dsh): 0.1.2-alpha.1
2026-08-28 00:50:12 +08:00
_Kerman
13c1541c63
Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
...
# Conflicts:
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# pnpm-lock.yaml
2026-08-27 23:18:55 +08:00
imccyu
e14d354e83
refactor(connection): own RPC transport contracts
2026-08-27 22:26:29 +08:00
imccyu
827acd07b1
docs(client-modules): align resolver contract
2026-08-27 20:10:20 +08:00
imccyu
ac13b16c0c
fix(inspector): stabilize client bootstrap identity
2026-08-27 19:35:34 +08:00
_Kerman
bd6f72cbbb
Merge remote-tracking branch 'origin/master' into xtr/session-projection-migrations
2026-08-26 19:59:02 +08:00
_Kerman
4d34d59733
test(webworker-runtime): refresh title projection fixture
2026-08-26 15:14:34 +08:00
_Kerman
e296e79b18
fix(session-projection): complete mandatory compositions
2026-08-26 15:13:51 +08:00
imccyu
b72f5879c8
fix(webworker): scope createRequire dependency discovery
2026-08-26 15:09:49 +08:00
imccyu
437ab3cefe
docs(webworker): define createRequire reachability limits
2026-08-26 15:09:48 +08:00
imccyu
f2cc573eb3
test(webworker): keep dependency coverage generic
2026-08-26 15:09:48 +08:00
imccyu
8f88a6f207
fix(webworker): expose Node process identity
2026-08-26 15:09:48 +08:00
imccyu
ba54d722a1
docs(web): clarify worker globals and HMR polling
2026-08-26 15:09:48 +08:00
imccyu
d54c2795cc
fix(webworker): retain createRequire dependencies
2026-08-26 15:09:48 +08:00
imccyu
b588cdc478
docs(webworker): define createRequire reachability
2026-08-26 15:09:48 +08:00
imccyu
2d89a76b94
test(webworker-runtime): restore the transform semantic spec
2026-08-26 12:35:05 +08:00
imccyu
8793cd477b
test(webworker-runtime): keep the corpus gate as a Node import sweep
2026-08-26 12:35:05 +08:00
imccyu
6d9cc6ab96
test(webworker-runtime): drop coverage requirement and compile transform suites
2026-08-26 12:35:04 +08:00
Tianyi Cui
42dc2a46c2
refactor(session): require known event types on read
2026-08-26 00:22:31 +08:00
Magolor
0b5eba0c8d
docs: rebuild the documentation skill and standards ( #2983 )
2026-08-25 23:47:20 +08:00