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
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
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
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
_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
687ae5c9c0
Merge remote-tracking branch 'github/master' into xtr/session-log-read-api
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.md
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.zh.md
# .agents/notes/implemented/feature/2026-08-05-context-form-vocabulary.i18n.yaml
# .agents/notes/implemented/feature/2026-08-05-context-form-vocabulary.md
# .agents/notes/implemented/feature/2026-08-05-context-form-vocabulary.zh.md
# packages/examples/agent-spine-demo/tests/agent-core.spec.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
2026-08-31 17:19:59 +08:00
Turtle
0e7c769540
Merge remote-tracking branch 'origin/master' into turtle/pr-864-master-port
2026-08-31 14:39:13 +08:00
Turtle
b8e3b32fcf
Merge master into codex/omit-unneeded-invariants
2026-08-31 14:38:55 +08:00
Tianyi Cui
1f3101982b
Revert "test(session): resolve one relative root on both sides of the jsonl round-trip"
2026-08-31 14:32:48 +08:00
Tianyi Cui
2491a9d1d9
Merge pull request #2573 from deepseek-harness/fix/windows-path-case-test-fragility
...
test(session): resolve one relative root on both sides of the jsonl round-trip
2026-08-31 14:13:23 +08:00
Tianyi Cui
4553c9d957
refactor(session)!: remove SQLite persistence backend
2026-08-31 13:23:07 +08:00
_Kerman
6c63e708b8
Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2907
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/persistence-catalog.i18n.yaml
# docs/subsystems/session.i18n.yaml
# packages/api/session-controller/tests/transport.host.spec.ts
# packages/bundle/headless/src/index.ts
# packages/core/session/README.i18n.yaml
# packages/schedule/schedule/README.i18n.yaml
# packages/schedule/schedule/README.md
# packages/schedule/schedule/README.zh.md
# packages/session-query/tool-session-query/src/workspace-access.ts
# packages/session/session-log-deepseek/src/index.ts
2026-08-31 10:56:53 +08:00
imccyu
3f1b46a5db
release(dsh): 0.1.2-alpha.2
2026-08-30 21:19:29 +08:00
Yichen Jiang
a12e9de5f7
perf(session): stat the probe parent only on Windows
...
`JsonlSessionPersistence.exists` treats ENOENT as absence and stats the
path's parent first, so a session directory blocked by a regular file
stays a storage fault. Only Windows needs that: it reports ENOENT rather
than ENOTDIR for `regular-file/child`, while POSIX open reports ENOTDIR
before the branch is reached.
The stat ran on every platform and every absent probe. findLog issues
four probes per project directory and the coordinator resolves an id
twice per inspect, so nearly every probe paid it. Counting fs calls
against a five-project store, loading an existing session drops from
40 open + 41 stat to 40 open + 3 stat.
2026-08-28 15:40:34 +08:00
_Kerman
5660f44d29
perf(session): separate indexed and snapshot log reads
2026-08-28 13:25:58 +08:00
Turtle
15f2997bcb
cleanup: omit unneeded invariant companions
2026-08-28 13:12:52 +08:00
Chinesezjc
206fb8b53c
test(session): resolve one relative root on both sides of the jsonl round-trip
2026-08-28 10:21:26 +08:00
imccyu
6c705be1ce
release(dsh): 0.1.2-alpha.1
2026-08-28 00:50:12 +08:00
Magolor
df76bc695b
feat(session): reduce persistence storage size ( #3048 )
2026-08-26 08:01:07 +00:00
Magolor
0b5eba0c8d
docs: rebuild the documentation skill and standards ( #2983 )
2026-08-25 23:47:20 +08:00
imccyu
211e6939e3
Revert "Merge pull request #2698 from deepseek-harness/xtr/session-format-migration"
...
This reverts commit 4b592eb90df20dc53dd12215921d5a9137214777, reversing
changes made to d15d3275d905e4d21229cd70a074388a428189d1.
2026-08-25 15:30:10 +08:00
_Kerman
d385dfb3e3
Merge remote-tracking branch 'github/master' into xtr/session-format-migration
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# packages/session/session-persistence-jsonl/src/index.ts
# packages/session/session-persistence/src/coordinator.ts
# packages/session/session-persistence/src/index.ts
2026-08-25 12:41:23 +08:00
imccyu
7f4cdc809c
refactor(session-persistence): add borrowable prepared sessions
2026-08-25 06:05:50 +08:00
Turtle
528815dd1e
Merge pull request #2860 from deepseek-harness/turtle/warn-torn-jsonl-recovery
...
fix(jsonl): warn when repairing torn tails
2026-08-24 11:15:05 +08:00
_Kerman
2ba721f799
Merge github/master into xtr/session-format-migration
2026-08-22 21:51:30 +08:00
Tianyi Cui
c1764157e7
Merge origin/master into worktree/acp-v1-control
2026-08-22 18:52:58 +08:00
Tianyi Cui
511181684c
feat(acp): complete standard v1 automation controls
2026-08-22 18:52:27 +08:00
_Kerman
421a577b1c
Merge remote-tracking branch 'origin/master' into xtr/session-format-migration
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-08-10-session-log-version-mechanism.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-10-session-log-version-mechanism.md
# .agents/notes/implemented/architecture/2026-08-10-session-log-version-mechanism.zh.md
# docs/subsystems/persistence.i18n.yaml
# docs/subsystems/persistence.md
# docs/subsystems/persistence.zh.md
# packages/session/session-persistence-jsonl/src/format.ts
# packages/session/session-persistence/src/coordinator.ts
2026-08-22 16:01:15 +08:00
Tianyi Cui
d72ff1f49a
docs: harden chain-of-thought leakage audits
2026-08-22 13:39:00 +08:00
Tianyi Cui
934976732d
docs: purge residual chain-of-thought leakage
2026-08-22 13:10:23 +08:00
Turtle
6b3e971805
docs: remove implementation narration from prose
2026-08-21 22:22:23 +08:00
_Kerman
95ed302c9c
fix(session): remove unreachable listing branch
2026-08-21 22:08:53 +08:00
imccyu
aa6c361a97
release(dsh): 0.1.1-rc.2
2026-08-21 19:48:58 +08:00
_Kerman
7e3d5332dc
fix(session): address migration review feedback
2026-08-21 17:48:45 +08:00
_Kerman
8cf2445f11
Merge remote-tracking branch 'origin/master' into xtr/session-format-migration
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-14-session-persistence.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-14-session-persistence.zh.md
# docs/config-catalog.i18n.yaml
# docs/subsystems/persistence.i18n.yaml
# docs/subsystems/persistence.md
# docs/subsystems/persistence.zh.md
# packages/session/session-persistence-jsonl/README.i18n.yaml
# packages/session/session-persistence/README.i18n.yaml
# packages/session/session-persistence/README.zh.md
2026-08-21 15:55:20 +08:00
imccyu
3ec5e8f8c4
release(dsh): 0.1.1-rc.1
2026-08-21 14:11:09 +08:00
Turtle
d97e398383
fix(jsonl): warn when repairing torn tails
2026-08-21 13:44:35 +08:00
pku-xht
84cbec28e9
Merge remote-tracking branch 'origin/master' into codex/localized-chinese-doc-links
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.zh.md
# .agents/notes/implemented/architecture/2026-06-18-shared-persistence-write-coordinator.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md
# .agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md
# .agents/notes/implemented/bug-fix/2026-08-18-request-image-payload-bound.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-18-request-image-payload-bound.zh.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# .agents/notes/implemented/feature/2026-07-16-persistent-pty-sessions.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.i18n.yaml
# .agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.i18n.yaml
# .agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.zh.md
# .agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml
# .agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.zh.md
# .agents/notes/implemented/feature/2026-08-05-agent-teams.i18n.yaml
# .agents/notes/implemented/feature/2026-08-05-agent-teams.zh.md
# .agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.i18n.yaml
# .agents/notes/implemented/feature/2026-08-15-product-subagent-noninteractive-permissions.i18n.yaml
# .agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.i18n.yaml
# .agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.zh.md
# .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.i18n.yaml
# .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md
# .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml
# .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.zh.md
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.zh.md
# .agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.i18n.yaml
# .agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.zh.md
# .agents/notes/proposed/architecture/2026-07-27-session-projection-and-command-log.i18n.yaml
# README.i18n.yaml
# README.zh.md
# docs/architecture.i18n.yaml
# docs/architecture.zh.md
# docs/development.i18n.yaml
# docs/development.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.zh.md
# docs/subsystems/README.i18n.yaml
# docs/subsystems/README.zh.md
# docs/subsystems/agent-team.i18n.yaml
# docs/subsystems/agent-team.zh.md
# docs/subsystems/client-modules.i18n.yaml
# docs/subsystems/client-modules.zh.md
# docs/subsystems/commands.i18n.yaml
# docs/subsystems/commands.zh.md
# docs/subsystems/persistence.i18n.yaml
# docs/subsystems/persistence.zh.md
# docs/subsystems/session-reference.i18n.yaml
# docs/tool-catalog.i18n.yaml
# docs/tool-catalog.zh.md
# docs/user/guide/providers.i18n.yaml
# docs/user/guide/providers.zh.md
# packages/README.i18n.yaml
# packages/README.zh.md
# packages/bundle/web-app/README.i18n.yaml
# packages/bundle/web-app/README.zh.md
# packages/client/README.i18n.yaml
# packages/client/README.zh.md
# packages/client/connection/README.i18n.yaml
# packages/client/connection/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-primitives/README.i18n.yaml
# packages/client/ui-primitives/README.zh.md
# packages/client/ui-sidebar/README.i18n.yaml
# packages/client/ui-sidebar/README.zh.md
# packages/client/ui-workspace/README.i18n.yaml
# packages/client/ui-workspace/README.zh.md
# packages/context/README.i18n.yaml
# packages/context/README.zh.md
# packages/core/agent-loop/README.i18n.yaml
# packages/credentials/README.i18n.yaml
# packages/credentials/README.zh.md
# packages/experimental/agent-team/README.i18n.yaml
# packages/experimental/agent-team/README.zh.md
# packages/experimental/tool-agent-team/README.i18n.yaml
# packages/experimental/tool-agent-team/README.zh.md
# packages/host/frontend-static/README.i18n.yaml
# packages/host/frontend-static/README.zh.md
# packages/host/webserver/README.i18n.yaml
# packages/host/webserver/README.zh.md
# packages/interaction/commands/README.i18n.yaml
# packages/interaction/commands/README.zh.md
# packages/plan/plan-mode/README.i18n.yaml
# packages/plan/plan-mode/README.zh.md
# packages/sandbox/sandbox-local/README.i18n.yaml
# packages/sandbox/sandbox-local/README.zh.md
# packages/session/README.i18n.yaml
# packages/session/README.zh.md
# packages/session/session-persistence-sqlite/README.i18n.yaml
# packages/session/session-persistence-sqlite/README.zh.md
# packages/session/session-projection-cache/README.i18n.yaml
# packages/session/session-projection-cache/README.zh.md
# packages/shell/tool-pwsh/README.i18n.yaml
# packages/shell/tool-pwsh/README.zh.md
# packages/subagent/subagent-codex/README.i18n.yaml
# packages/subagent/subagent-codex/README.zh.md
# packages/subagent/subagent/README.i18n.yaml
# packages/subagent/subagent/README.zh.md
# packages/web/tool-web/README.i18n.yaml
# packages/web/tool-web/README.zh.md
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-20 19:15:33 +08:00
imccyu
f1f7dc36fa
release(dsh): 0.1.0-rc.8
2026-08-19 23:00:28 +08:00
_Kerman
270a06b38b
fix(session-persistence-jsonl): drop crash-unsafe cross-process log lock
...
The product model has no cross-process writer exclusion (the coordinator
serializes per-session operations in-process; the README documents one
live writer per session), so the wx-created .lock sibling only guarded
byte-level races while adding two failure modes: a crash leaves a stale
lock that permanently wedges that log's appends/repairs/replacements, and
a post-commit lock cleanup failure makes a committed append look failed,
so the retained write-behind batch retries into duplicate seqs.
Remove withLogLock and keep replaceStored's revision compare-and-swap at
the commit boundary (recheck immediately before the atomic rename).
2026-08-19 20:42:56 +08:00
_Kerman
c4b3f48e64
fix(session): address format migration review
2026-08-19 11:07:23 +08:00
pku-xht
8d3674695b
docs(i18n): localize Chinese internal links
2026-08-18 19:00:37 +08:00
_Kerman
d4ff836dc2
refactor(session-persistence): share stored read machinery
2026-08-18 18:06:48 +08:00
_Kerman
cc9ab200c7
feat(session): add format migration decoder pipeline
2026-08-18 17:42:40 +08:00