Yichen Jiang
424c8457d9
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/session-controller/tests/control-jobs.host.spec.ts
# snapshots/web/fresh-round-trip/session.v2.jsonl
# snapshots/web/ptc-round/session.v2.jsonl
2026-09-04 12:02:02 +08:00
Tianyi Cui
71089f8df7
Merge commit '8f7250f904' into worktree/session-format-06-v2-snapshot-rollout
...
# Conflicts:
# apps/cli/tests/profiles/headless/tests/expected/subagent-settlement/child.expected.jsonl
2026-09-03 19:41:58 +08:00
Tianyi Cui
874b174fd6
test(web): compare fixture inventories by Session role and pin the v2 upload
...
`assertFixtureInventory` folds every retained generation of one parent or
child fixture into a single role before comparing, so an older generation kept
beside the current one is not an inventory drift. The generation spec writes
headers that match each filename, since fixture selection validates the chosen
generation, and asserts that an absent parent resolves only for an
override-only replay. The `dsh_session_log` composition expectation follows the
extension's version 2 payload.
2026-09-03 19:41:16 +08:00
Tianyi Cui
d5044d5675
Merge commit 'ee4bad5cde' into worktree/session-format-05-v1-v2-chunk-migration
2026-09-03 19:25:29 +08:00
Tianyi Cui
d455ad99e3
test(session): record the v2 SDK expectations and cover review-fix branches
...
The continuable-child headless expectation and the Python `advanced` and
`restart` scenarios pin the current runtime, whose subagent children carry no
`session/end-seed` marker and whose assistant messages embed their streams:
the child fixture drops the marker and renumbers its references, `advanced/`
re-records `result.json`, and both scenarios gain their v2 Session fixtures.
Unit tests cover the `tool-call-delta` id and name validation, embedded
stream members without timing arrays, and the versionless-header refusal.
2026-09-03 19:22:37 +08:00
Tianyi Cui
778e0866c3
test(session): cover the migration read faults and the versioned export name
...
The JSONL backend rethrows storage errno failures and abort signals from the
source read of a pending migration unwrapped; a test now drives both through
the stat seam so the classification stays covered. The navigation-panes Web
e2e derives the exported archive entry from `SESSION_FORMAT_VERSION`, which
`session-log-export` uses for its `session.v<N>.jsonl` name. The module graph
records the `session-log-export` → `session` peer edge.
2026-09-03 19:00:16 +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
Yichen Jiang
fec81b7295
test(web): re-record the job goldens for the ring-backed rows
...
A settled job that retained no output is a static row, and a killed row
shows the kill reason in its detail. The live-stream scenario's idle
locator now matches the settled trigger exactly, so its settled capture
cannot race the roster refresh.
2026-09-03 17:20:06 +08:00
Yichen Jiang
84efac2c42
refactor(ui-jobs): read rows and observations from ctx.jobs
...
The header list watches its session's roster through ctx.jobs.watchRows
while mounted and reads rows and observed views from one jobs snapshot. A
row is expandable while the job is live or once it left retained output
behind; it shows the live progress line or the terminal detail. The web
e2e drivers kill through visibleTo(), and the client fixtures the roster
removal missed drop their jobs baselines.
2026-09-03 17:00:51 +08:00
Yichen Jiang
10d76fbd03
refactor(producers): subagent and terminal jobs use session owners, results, and pull sources
...
- tool-subagent registers the parent session id as the owner and settleRun
reports the child's final text as the job result, which the first read
after settlement carries once
- tool-terminal hands the registry one pull source over the backend's
consuming send reader (sendSource in background.ts) instead of a
readOutput hook; the truncation marker stays in the delivered text
- the model's kill reason now shows in a killed job's status line, as the
registry records it as the terminal detail
- test call sites move from jobs.list(owner) to visibleTo(owner).list()
2026-09-03 16:37:35 +08:00
Yichen Jiang
a2b9b8b03b
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
2026-09-03 13:42:07 +08:00
Yichen Jiang
7169660d33
Merge pull request #3198 from deepseek-harness/worktree/deepseek-harness-proxy-config-2f5b4a
...
feat(net): route every outbound request through the configured proxy
2026-09-03 13:19:19 +08:00
Yichen Jiang
6d65c12ef2
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# packages/client/ui-jobs/package.json
2026-09-03 11:30:41 +08:00
Yichen Jiang
761282724b
fix(jobs): constant pump waits, quiescent client disposal, record flag on the roster
...
Review corrections on the observation record:
- `pumpJobOutput` subscribes to `done` once and keeps one pending timer;
racing the same pending promise every poll round retained a reaction
per round for the life of the job.
- The `ctx.jobOutput` effect disposer is async and awaits every open
carrier's `dispose()`, so the fiber reports unloaded only once the old
iterators are quiescent.
- `SessionJob.record: true` replaces `outputTotal`: `append` never commits
a roster change, so the mirrored count was stale while output flowed;
the live offsets ride the observation stream's `opened` anchor.
- The record is documented as a best-effort live preview whose
cross-stream reordering is bounded by the poll interval.
- The web e2e scenarios hold their background job on a test-owned barrier
file instead of a wall-clock sleep, and each is one test rather than a
chain sharing a job id.
2026-09-03 11:23:41 +08:00
imccyu
48d84990a0
Merge pull request #3471 from deepseek-harness/release/dsh-0.1.2-rc.1-version-to-master
...
sync: merge 0.1.2-rc.1 to master
2026-09-03 11:21:56 +08:00
Yichen Jiang
777d46cf81
Merge branch 'master' into worktree/fix-model-listing-discovery
2026-09-03 10:59:28 +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
Tianyi Cui
06b93748eb
fix(snapshot): address v2 rollout review
2026-09-03 05:15:04 +08:00
Tianyi Cui
e10f671167
Merge remote-tracking branch 'origin/worktree/session-format-05-v1-v2-chunk-migration' into worktree/session-format-06-v2-snapshot-rollout
...
# Conflicts:
# apps/web/tests/scaffold.ts
# apps/web/tests/subagent-conversation.e2e.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.zh.md
# packages/test-support/llm-replay/README.i18n.yaml
# packages/test-support/llm-replay/README.md
# packages/test-support/llm-replay/README.zh.md
# packages/test-support/llm-replay/tests/llm-replay.spec.ts
# snapshots/sdk/subagent-continuable-inheritance/session.1.v2.jsonl
# snapshots/sdk/subagent-continuable/session.1.v2.jsonl
# snapshots/sdk/subagent-dsh-sdk-diagnostic/session.v2.jsonl
# snapshots/sdk/subagent-list-agents/session.1.v2.jsonl
# snapshots/sdk/subagent-send-message/session.1.v2.jsonl
# snapshots/session/agent-instructions/session.v2.jsonl
# snapshots/session/headless.snapshot.ts
# snapshots/web/schedule-catalog/session.v2.jsonl
2026-09-03 05:09:32 +08:00
Tianyi Cui
a88ef734cc
Merge remote-tracking branch 'origin/worktree/session-format-04-live-assistant-stream' into worktree/session-format-05-v1-v2-chunk-migration
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.md
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.zh.md
# .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.i18n.yaml
# .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.md
# .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.zh.md
# apps/web/tests/scaffold.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.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/src/client/sessions/assistant-stream.ts
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/assistant-stream.ts
# packages/core/agent-loop/tests/loop.spec.ts
# packages/core/agent/src/runtime-types.ts
# packages/session/session-telemetry/tests/telemetry.spec.ts
# packages/test-support/llm-replay/README.i18n.yaml
# packages/test-support/llm-replay/README.md
# packages/test-support/llm-replay/README.zh.md
# packages/test-support/llm-replay/src/alpha-refusal-fixtures.ts
# packages/test-support/llm-replay/src/index.ts
# packages/test-support/llm-replay/tests/llm-replay.spec.ts
# packages/test-support/session-snapshot/README.i18n.yaml
# packages/test-support/session-snapshot/README.md
# packages/test-support/session-snapshot/README.zh.md
# packages/test-support/session-snapshot/src/suite.ts
# packages/test-support/session-snapshot/tests/suite.spec.ts
# snapshots/sdk/sdk.snapshot.ts
# snapshots/session/headless.snapshot.ts
2026-09-03 03:10:05 +08:00
imccyu
a66e470204
release(dsh): 0.1.2-rc.1
2026-09-03 02:27:19 +08:00
Tianyi Cui
f044d3fad2
fix(session): address v0 migration review
2026-09-03 01:52:25 +08:00
Tianyi Cui
c2fa93f567
Merge remote-tracking branch 'origin/worktree/session-format-05-v1-v2-chunk-migration' into worktree/session-format-06-v2-snapshot-rollout
...
# Conflicts:
# apps/web/tests/scaffold.ts
2026-09-02 22:21:50 +08:00
Tianyi Cui
ac8b58241d
Merge remote-tracking branch 'origin/worktree/session-format-04-live-assistant-stream' into worktree/session-format-05-v1-v2-chunk-migration
...
# Conflicts:
# apps/web/tests/scaffold.ts
2026-09-02 22:19:50 +08:00
Tianyi Cui
99567996bd
test(session): cover body-free listing races
2026-09-02 22:16:06 +08:00
Yichen Jiang
4db24c642d
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# packages/client/ui-chat/src/client/contract/slots.ts
# packages/client/ui-chat/src/client/conversation-nodes/chat-snapshot-builder.ts
# packages/client/ui-jobs/package.json
# packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
2026-09-02 22:04:03 +08:00
Tianyi Cui
fe06dccea4
Merge remote-tracking branch 'origin/master' into worktree/session-format-03-v0-v1-migration
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
2026-09-02 21:40:29 +08:00
Yichen Jiang
b6427a899e
Merge remote-tracking branch 'origin/master' into worktree/deepseek-harness-proxy-config-2f5b4a
2026-09-02 21:38:19 +08:00
Tianyi Cui
e974a655a0
Revert "feat(session, agent, web): support same-session message editing"
2026-09-02 21:20:07 +08:00
Yichen Jiang
5eb499ed35
Merge remote-tracking branch 'origin/master' into worktree/deepseek-harness-proxy-config-2f5b4a
2026-09-02 21:14:16 +08:00
Tianyi Cui
5a9353adda
Merge remote-tracking branch 'origin/master' into worktree/session-format-03-v0-v1-migration
...
# Conflicts:
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
2026-09-02 20:48:26 +08:00
Tianyi Cui
68e24ddef9
fix(test): keep v2 fixture parsing content-only
2026-09-02 19:24:32 +08:00
Tianyi Cui
4a80818ddc
Merge embedded stream migration into v2 snapshot rollout
2026-09-02 19:23:45 +08:00
Tianyi Cui
af68f9e10c
fix(test): qualify selected replay fixture
2026-09-02 19:22:57 +08:00
Tianyi Cui
bc0e57a480
Merge live assistant stream into embedded stream migration
...
# Conflicts:
# apps/web/tests/scaffold.ts
2026-09-02 19:21:52 +08:00
Tianyi Cui
aa97372fe4
fix(test): repair alpha fixture and Windows gates
2026-09-02 19:17:32 +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
lsdsjy
ef88756f13
feat(session, agent, web): support same-session message editing
2026-09-02 18:26:55 +08:00
Tianyi Cui
042bd8d01a
Merge live assistant stream into embedded stream migration
...
# Conflicts:
# packages/session/session-projection-cache/src/spec.ts
2026-09-02 17:52:32 +08:00
imccyu
49a606bc5b
Merge pull request #3456 from deepseek-harness/release/dsh-0.1.2-alpha.5-version-to-master
...
sync: merge 0.1.2-alpha.5 to master
2026-09-02 17:47:12 +08:00
Tianyi Cui
3bdc1b37e5
Merge master into session format migration
2026-09-02 17:43:06 +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
Dudu-0223
1180707084
Merge remote-tracking branch 'origin/master' into feat/3330-team-send-message-steer
...
# Conflicts:
# packages/experimental/agent-team/tests/team.spec.ts
2026-09-02 16:58:09 +08:00