Yichen Jiang
80fa0bee05
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# packages/shell/bash-local/README.i18n.yaml
# packages/shell/bash-local/README.md
# packages/shell/bash-local/README.zh.md
# packages/shell/bash-local/src/index.ts
# packages/shell/bash-local/tests/executor.spec.ts
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.md
# packages/shell/pwsh-local/README.zh.md
# packages/shell/pwsh-local/src/index.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# snapshots/session/pwsh-tool-turn/tool-schemas.expected.json
2026-09-08 13:52:08 +08:00
Yichen Jiang
1242fdfdef
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
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# docs/subsystems/shell.i18n.yaml
# docs/subsystems/shell.md
# docs/subsystems/shell.zh.md
# packages/api/remotes/package.json
# packages/api/remotes/src/client/index.ts
# packages/api/session-controller/src/control.ts
# packages/api/session-controller/tests/control-jobs.host.spec.ts
# packages/bundle/web-app/cordis.patch.yml
# packages/bundle/web-app/package.json
# packages/client/ui-chat/src/client/details/DetailsPanel.tsx
# packages/client/ui-chat/src/client/details/tool-node-reader.ts
# packages/client/ui-chat/tests/gate-branch-tails.client.spec.tsx
# packages/client/ui-jobs/package.json
# packages/client/ui-tool/tests/diff-card.client.spec.tsx
# packages/client/ui-tool/tests/read-card.client.spec.tsx
# packages/client/ui-tool/tests/search-card.client.spec.tsx
# packages/client/ui-tool/tests/terminal-card.client.spec.tsx
# packages/client/ui-tool/tests/web-card.client.spec.tsx
# packages/shell/bash-local/README.i18n.yaml
# packages/shell/bash-local/README.md
# packages/shell/bash-local/README.zh.md
# packages/shell/bash-local/src/index.ts
# packages/shell/bash-local/tests/executor.spec.ts
# packages/shell/pwsh-local/README.i18n.yaml
# packages/shell/pwsh-local/README.md
# packages/shell/pwsh-local/README.zh.md
# packages/shell/pwsh-local/src/index.ts
# packages/shell/shell/README.i18n.yaml
# packages/shell/shell/README.md
# packages/shell/shell/README.zh.md
# packages/shell/shell/src/types.ts
# packages/terminal/tool-terminal/tests/tools.spec.ts
# tsconfig.client.json
2026-09-08 13:34:53 +08:00
Turtle
a56619d9f7
fix(session): reject empty queue edits
2026-09-08 10:48:32 +08:00
Turtle
ae19d9383b
fix(session-controller): reject empty prompts
2026-09-08 10:47:36 +08:00
_Kerman
dbb9db5f34
docs(session-controller): refresh translation pairing record
2026-09-07 21:05:29 +08:00
_Kerman
68643a07f9
docs(session-controller): unwrap zh readme paragraph
2026-09-07 20:52:09 +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
Dudu-0223
96ead6091d
feat(subagent): align human inbox controls ( #3223 )
...
* feat(subagent): align continuable human inbox controls
* fix: repair rebase documentation and close test persistence
* docs: refresh rebased module dependency graph
2026-09-07 07:39:39 +00:00
Yichen Jiang
6371bc4a41
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.zh.md
2026-09-07 10:44:53 +08:00
Yichen Jiang
bf91cd855e
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# .agents/notes/archived/manifest.json
# .agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.md
# .agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.zh.md
# .agents/notes/implemented/bug-fix/2026-09-05-nested-terminal-cards.i18n.yaml
# .agents/notes/implemented/feature/2026-08-11-background-job-completion-wakes-an-idle-owner.i18n.yaml
# .agents/notes/implemented/testing/2026-09-06-standard-hosted-benchmark-runner.i18n.yaml
# docs/architecture.i18n.yaml
# docs/capability-seams.i18n.yaml
# docs/config-catalog.i18n.yaml
# docs/cookbook/adding-a-tool.i18n.yaml
# docs/event-producer-consumer.i18n.yaml
# docs/module-graph.i18n.yaml
# docs/persistence-catalog.i18n.yaml
# docs/subsystems/shell.i18n.yaml
# packages/client/ui-primitives/README.i18n.yaml
# packages/jobs/jobs-local/README.i18n.yaml
# packages/jobs/jobs/README.i18n.yaml
# packages/jobs/jobs/README.md
# packages/jobs/jobs/README.zh.md
# packages/jobs/tool-jobs/README.i18n.yaml
# packages/shell/tool-bash/README.i18n.yaml
# packages/shell/tool-pwsh/README.i18n.yaml
2026-09-07 10:39:56 +08:00
Tianyi Cui
40792330c0
fix(system-prompt): keep model persona prefix and place cwd in suffix
2026-09-06 20:35:42 +08:00
Tianyi Cui
165cc31eb8
perf(llm,host): read embedded Assistant streams per compact record
...
Session format v2 embeds each attempt's compact stream in
assistant/message and assistant/attempt, but Host and client consumers
still expanded it into per-member TimedStreamChunk arrays and did
per-member work; expandAssistantStream materializes the full array before
find/toReversed/break can answer. Session Stats (the projection phase of
every Session open), the token meter's usage and provider-assembly folds,
the subagent output fold, and the Session Controller image lookup still
paid O(members) allocation and time per settlement.
The Chat and Trajectory definitions were already settled from
message.content on master; the remaining per-member folds stay.
dsh-llm now exports record-level readers (first token, visible content,
visible text, last raw chunk of a type, raw chunks of a type, joined
text, run-aware assembly, per-run first-token/first-visible times) that
scan the compact records once with early exit. Session Stats reads
assistantStreamFirstTokenTime, the token meter reads
lastAssistantStreamChunk(stream, 'usage') and assembles through
assembleAssistantStream, the subagent output fold appends
joinAssistantStreamText, and the Session Controller scans
assistantStreamChunks(stream, 'block-end').
expandAssistantStream is deliberately not memoized: retaining expansions
costs roughly ten times the compact stream for the Session's lifetime.
It remains the validating path at durable boundaries.
Synthetic 200-turn v0 migration benchmark, median of five: first-open
projection 28.0 ms -> 5.4 ms, first-open total 76.9 -> 50.0 ms, peak RSS
137.2 -> 94.9 MB; reopen projection 17.8 -> 5.6 ms; all phase budgets and
the 128 MB heap constraint keep passing.
2026-09-06 12:41:25 +08:00
imccyu
9b78f99dec
perf(session): transfer frozen persistence reads into restore
2026-09-06 02:10:23 +08:00
Yichen Jiang
206e5c6545
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# apps/web/tests/background-job-list.e2e.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.zh.md
# packages/api/job-controller/README.i18n.yaml
# packages/api/job-controller/README.md
# packages/api/job-controller/README.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
2026-09-05 14:06:00 +08:00
Yichen Jiang
e001a9d2e4
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# packages/client/ui-jobs/package.json
2026-09-04 17:33:19 +08:00
Yichen Jiang
d3b1f2d1bc
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
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/api/remotes/package.json
# packages/api/remotes/src/client/index.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/tsconfig.host.json
# packages/client/ui-approval/src/client/contract/slots.ts
# packages/client/ui-chat/src/client/chat/MessageItem.tsx
# packages/client/ui-chat/src/client/conversation-nodes/assistant.ts
# packages/client/ui-chat/src/client/conversation-nodes/partial.ts
# packages/client/ui-chat/src/client/conversation-nodes/tool.ts
# packages/client/ui-chat/src/client/model/tool-call-tree.ts
2026-09-04 17:28:12 +08:00
Yichen Jiang
14befe7ff7
Merge branch 'master' into release/dsh-0.1.3-alpha.1
2026-09-04 16:16:15 +08:00
creatixchu
58ec1f0867
refactor(file-upload): keep storage helpers and the HTTP route package-private
...
Stop re-exporting the verbatim file-store helpers from attachment-local, move
the raw-byte upload route handler into a non-entry module of file-upload, and
drop the redundant hook type re-exports from the Client entry. The route test
moves next to the module it exercises.
2026-09-04 15:41:25 +08:00
Yichen Jiang
ed67c22496
release(dsh): 0.1.3-alpha.1
2026-09-04 15:38:55 +08:00
Yichen Jiang
ca3d9af0a7
Merge remote-tracking branch 'origin/worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# packages/shell/bash-sandbox/tests/sandbox.spec.ts
# packages/shell/pwsh-local/tests/executor.spec.ts
2026-09-04 13:42:20 +08:00
Yichen Jiang
7e5627f8e3
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
2026-09-04 13:39:42 +08:00
Yichen Jiang
42858723a6
Merge remote-tracking branch 'origin/worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# packages/api/job-controller/README.i18n.yaml
# packages/api/job-controller/README.md
# packages/api/job-controller/README.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/shell/bash-local/src/index.ts
# packages/shell/pwsh-local/src/index.ts
# packages/shell/tool-bash/src/background.ts
# packages/shell/tool-bash/tests/tools.spec.ts
# packages/shell/tool-pwsh/src/background.ts
# packages/shell/tool-pwsh/tests/background.spec.ts
# snapshots/web/approval-composer/session.v2.jsonl
# snapshots/web/feedback-command/session.v2.jsonl
# snapshots/web/fresh-round-trip/session.v2.jsonl
# snapshots/web/goal-multi-turn-actions/session.jsonl
# snapshots/web/lifecycle-chrome/session.v2.jsonl
# snapshots/web/live-interactions/session.v2.jsonl
# snapshots/web/minimal-preset/session.v2.jsonl
# snapshots/web/permission-policy-context/session.v2.jsonl
# snapshots/web/plan-review/session.jsonl
# snapshots/web/ptc-round/session.v2.jsonl
# snapshots/web/question-composer/session.v2.jsonl
# snapshots/web/steering/session.v2.jsonl
# snapshots/web/turn-tail-actions/session.v2.jsonl
# snapshots/web/web-search-round/session.v2.jsonl
2026-09-04 13:27:34 +08:00
creatixchu
268cf0101e
Merge remote-tracking branch 'origin/master' into worktree/2984-generic-file-upload
2026-09-04 13:08:41 +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
Yichen Jiang
70a37b6cc1
chore(jobs): drop the formatting-only hunks left by the seam refactor
...
Revert the two brace-only rewrites in tool-workflow to master's one-line form and collapse the blank lines left where SessionJob was removed from the session-controller types.
2026-09-04 12:05:43 +08:00
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
Chinesezjc
3f07443702
Merge branch 'master' into fix/test-tmp-teardown-self-clean
2026-09-04 11:15:31 +08:00
creatixchu
48656b4594
test(session-controller): restore Session type import
2026-09-04 10:14:15 +08:00
creatixchu
fb743759a7
Merge remote-tracking branch 'origin/master' into worktree/2984-generic-file-upload
...
# Conflicts:
# apps/web/tests/scaffold.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
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/llm/token-meter/src/index.ts
# packages/session-query/session-log-export/README.i18n.yaml
# packages/session-query/session-log-export/README.md
# packages/session-query/session-log-export/README.zh.md
# packages/session-query/session-log-export/src/archive.ts
# scripts/package-dependency-policy.ts
2026-09-04 10:12:19 +08:00
Tianyi Cui
86241a442d
fix(session): keep independent version fields off the format generation
...
`SESSION_FORMAT_VERSION` is the only value that names the Session format
generation. Two other version fields had moved to 2 alongside it:
- The `dsh_session_log` request extension's outer schema `version` returns
to 1 and its Session header projection keeps `seedLength`, derived from
the logical inherited cut, so the external wire is unchanged in this PR;
`sessionFormatVersion` alone identifies the embedded generation.
- The `sessionStats` projection unit's `stateVersion` returns to 1: the
projection cache binds every checkpoint to the format generation, so a
generation change discards old rows without a unit version bump.
Test doubles and the standalone Client fixture that build a current
header now spell `SESSION_FORMAT_VERSION` instead of the literal.
2026-09-03 22:36:51 +08:00
Tianyi Cui
d58964a010
Merge commit 'be5db297c7' 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
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.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/assistant-stream.ts
# packages/api/session-controller/src/client/sessions/assistant-stream.ts
# packages/api/session-controller/src/types.ts
# packages/api/session-controller/tests/assistant-stream.client.spec.ts
# packages/api/session-controller/tests/session-history-journal.host.spec.ts
# packages/api/session-controller/tests/sessions-service.client.spec.ts
# packages/api/session-controller/tests/transport.client.spec.ts
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.md
# packages/core/agent/README.zh.md
# packages/extensions/tool-cordis/src/api-catalog.ts
# scripts/package-dependency-policy.ts
2026-09-03 22:09:31 +08:00
Tianyi Cui
fe9c2d7053
refactor(agent, session-controller): drop the unread startedTime frame field
...
The `start` frame and the reconnect baseline attempt carried a wall-clock
`startedTime` that no Host or Client consumer read: the Host accumulator
and the Client reconciler copied it into their attempt maps and nothing
looked at it again. Presentation frames now carry only the coordinates
consumers use (attempt, revision, turn, step, chunk index, and v1 seq
provenance); the type-equivalence block, event graph, READMEs, and the
live-stream Agent Note follow the type.
2026-09-03 21:58:34 +08:00
creatixchu
de022388ea
test(ci): stabilize attachment fixtures
2026-09-03 21:25:45 +08:00
creatixchu
0516edb037
test(file-upload): restore host composition fixtures
2026-09-03 21:12:50 +08:00
creatixchu
ea669428be
refactor(attachment): unify prompt content admission
2026-09-03 20:53:29 +08:00
creatixchu
3eb9736eb6
refactor(file-upload): scope prompt binding rollback
2026-09-03 20:15:18 +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
13074e4aa2
Merge commit '308c1c69a6' into worktree/session-format-04-live-assistant-stream
2026-09-03 18:36:02 +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
creatixchu
b2c4483c9d
refactor(attachment): own prompt admission on service
2026-09-03 18:18:32 +08:00
Yichen Jiang
59b16ed0e3
Merge remote-tracking branch 'origin/worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
2026-09-03 18:01:12 +08:00
Yichen Jiang
14dc38b2fd
test(session-controller): cover the cold-session baseline queue
...
The roster spec that exercised a session without a live agent left with
the roster; the queue baseline's empty arm needs its own case.
2026-09-03 18:00:42 +08:00
Yichen Jiang
cd3a9ac881
Merge remote-tracking branch 'origin/worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# apps/web/tests/background-job-list.e2e.ts
# apps/web/tests/live-job-stream.e2e.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/subsystems/jobs.i18n.yaml
# docs/subsystems/jobs.md
# docs/subsystems/jobs.zh.md
# packages/api/job-controller/README.i18n.yaml
# packages/api/job-controller/README.md
# packages/api/job-controller/README.zh.md
# packages/api/job-controller/src/client/index.ts
# packages/api/job-controller/src/client/service.ts
# packages/api/job-controller/src/index.ts
# packages/api/job-controller/src/types.ts
# packages/api/job-controller/tests/client-apply.client.spec.ts
# packages/api/job-controller/tests/model.client.spec.ts
# packages/api/job-controller/tsconfig.host.json
# packages/api/session-controller/tests/control-jobs.host.spec.ts
# packages/client/ui-jobs/README.i18n.yaml
# packages/client/ui-jobs/README.md
# packages/client/ui-jobs/README.zh.md
# packages/client/ui-jobs/src/client/JobListAction.tsx
# packages/client/ui-jobs/src/client/index.ts
# packages/client/ui-jobs/tests/browser-plugin.client.spec.ts
# packages/client/ui-jobs/tests/job-list-action.client.spec.tsx
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/jobs/jobs-local/src/index.ts
# packages/jobs/jobs-local/tests/jobs.spec.ts
# packages/jobs/jobs/README.i18n.yaml
# packages/jobs/jobs/README.md
# packages/jobs/jobs/README.zh.md
# packages/jobs/jobs/src/index.ts
# packages/jobs/jobs/src/types.ts
# packages/jobs/tool-jobs/src/index.ts
# packages/shell/tool-bash/src/index.ts
# packages/shell/tool-bash/src/render.ts
# packages/shell/tool-bash/tests/background.spec.ts
# packages/shell/tool-bash/tests/tools.spec.ts
# packages/shell/tool-pwsh/src/index.ts
# packages/shell/tool-pwsh/src/render.ts
# packages/subagent/tool-subagent/tests/tool-subagent.spec.ts
# snapshots/web/background-job-list/settled.expected.md
2026-09-03 17:45:44 +08:00
creatixchu
f989df7c8e
test(file-upload): cover extensible request identifiers
2026-09-03 17:04:29 +08:00
creatixchu
8a84c1edff
test(file-upload): cover isolated service paths
2026-09-03 17:03:14 +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
2132b7beeb
refactor(session-controller): drop the job roster from the control stream
...
The control baseline and frames carry queues and projections only; the
SessionJob row type, the jobs frame, the registry subscription, and the
client jobsBySession mirror are gone, and every client fixture drops the
empty mirror. The roster moves to dsh-api-job-controller's job.rows
stream in the next change.
2026-09-03 16:43:15 +08:00
creatixchu
7158227650
fix(file-upload): declare host runtime dependencies
2026-09-03 16:35:50 +08:00
Chinesezjc
0364343a7e
test: remove dsh-* temp dirs created by unit tests at teardown
...
Spec files that create /tmp/dsh-* directories via mkdtemp now track and
delete them in afterEach/afterAll; module-scope fixture dirs (executor
spill dirs) are removed in afterAll. The file list came from the
observed-residue inventory on the self-hosted CI host: only specs whose
dirs actually accumulated were leak sources (issue #3134 ), superseding
the kept-but-unmerged CI sweep branch per the #3233 review decision.
Product per-process spill roots (dsh-subprocess-local spawn,
dsh-spill-local store) register a process-exit handler that removes the
memoized dir, so processes that used the spawn/spill path clean up on
normal exit. A SIGKILLed process cannot run in-process teardown; the
machine-side timer remains the backstop for that path.
Agent Note: .agents/notes/implemented/process/2026-08-28-test-temp-dir-self-cleanup.md
2026-09-03 16:19:18 +08:00