deepseek-harness/docs/core-data-structures
Yichen Jiang eab0aeb9db feat(web): list background tasks in the session header
The task registry has run every background bash, pwsh, pty-send, and
one-shot subagent since it landed, but only the model could read it: a
human at the Web client could not see that a build was running, tell a
finished task from a stuck one, or find its outcome anywhere but the
`run_in_background` tool card that printed an id and never updated.

Task state now reaches the browser as one whole-snapshot `session/tasks`
mux frame per session, pushed at every registry commit that changes what
that session can see. `TaskService` gains `onTasksChanged`, which is
owner-granular because owner-disposal removal is a change no per-task
record can express. The carrier reads the exact owner the listener hands
it, so a push stays correct while that scope tears down, and reads the
baseline through the non-resuming `ctx.agents.get` so listing never
revives a cold session. The client keeps a last-wins mirror on
`SessionListState`, and a new `dsh-client-ui-task` package renders it
beside the subagent catalog — rendering nothing at all until the session
has a task, so an ordinary conversation grows no new chrome.

Streamed per-task output and human-initiated cancellation are separate
phases; the note records why neither has to undo this channel, and why
no Web path may call the consuming `ctx.tasks.read()`.
2026-08-08 23:29:41 +08:00
..
approval.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
approval.md feat(system-prompt): cache dynamic policy context 2026-07-30 22:09:15 +08:00
approval.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
bash.i18n.yaml fix(docs): re-record translation pair hashes after master merge 2026-08-05 13:19:56 +08:00
bash.md docs: sync seam ownership, roadmap ordering, and card JSDoc per review 2026-08-05 11:42:49 +08:00
bash.zh.md Merge origin/master into feat/pwsh-ui-parity 2026-08-05 12:47:09 +08:00
code-runtime.i18n.yaml Merge remote-tracking branch 'origin/master' into feat/code-runtime-multilang-seam 2026-08-07 13:20:34 +08:00
code-runtime.md Merge remote-tracking branch 'origin/master' into feat/code-runtime-multilang-seam 2026-08-07 13:20:34 +08:00
code-runtime.zh.md Merge remote-tracking branch 'origin/master' into feat/code-runtime-multilang-seam 2026-08-07 13:20:34 +08:00
commands.i18n.yaml feat(web): merge compact status and summary cards 2026-08-08 14:11:26 +08:00
commands.md feat(web): merge compact status and summary cards 2026-08-08 14:11:26 +08:00
commands.zh.md feat(web): merge compact status and summary cards 2026-08-08 14:11:26 +08:00
compaction.i18n.yaml fix(compact): enforce replay provenance 2026-08-08 15:28:35 +08:00
compaction.md fix(compact): enforce replay provenance 2026-08-08 15:28:35 +08:00
compaction.zh.md fix(compact): enforce replay provenance 2026-08-08 15:28:35 +08:00
core.i18n.yaml cleanup: replace FIXMEs with tracked issues 2026-08-08 00:04:55 +08:00
core.md cleanup: replace FIXMEs with tracked issues 2026-08-08 00:04:55 +08:00
core.zh.md cleanup: replace FIXMEs with tracked issues 2026-08-08 00:04:55 +08:00
credentials.i18n.yaml fix(config): close the review findings on configuration source ownership 2026-08-05 11:18:06 +08:00
credentials.md fix(config): close the review findings on configuration source ownership 2026-08-05 11:18:06 +08:00
credentials.zh.md fix(config): close the review findings on configuration source ownership 2026-08-05 11:18:06 +08:00
filesystem.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
filesystem.md Merge branch 'worktree/pr343-retarget-latest-master' into worktree/pr344-retarget-stack 2026-07-23 19:10:25 +08:00
filesystem.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
goal.i18n.yaml fix(web): address the review round on the remaining context forms 2026-08-05 17:39:50 +08:00
goal.md fix(web): address the review round on the remaining context forms 2026-08-05 17:39:50 +08:00
goal.zh.md fix(web): address the review round on the remaining context forms 2026-08-05 17:39:50 +08:00
llm-streaming.i18n.yaml Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification 2026-08-05 20:43:30 +08:00
llm-streaming.md Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification 2026-08-05 20:43:30 +08:00
llm-streaming.zh.md Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification 2026-08-05 20:43:30 +08:00
lsp.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
lsp.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
lsp.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
persistence.i18n.yaml feat(session): bound persistence write batching 2026-08-08 15:43:52 +08:00
persistence.md feat(session): bound persistence write batching 2026-08-08 15:43:52 +08:00
persistence.zh.md feat(session): bound persistence write batching 2026-08-08 15:43:52 +08:00
pty.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
pty.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
pty.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
sandbox.i18n.yaml docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
sandbox.md docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
sandbox.zh.md docs: finish hierarchy rescan after rebase 2026-08-05 16:18:58 +08:00
scope.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
scope.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
scope.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
session-query.i18n.yaml fix(session-persistence): address preparation review feedback 2026-08-06 04:11:58 +08:00
session-query.md fix(session-persistence): address preparation review feedback 2026-08-06 04:11:58 +08:00
session-query.zh.md fix(session-persistence): address preparation review feedback 2026-08-06 04:11:58 +08:00
session-reference.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
session-reference.md refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +08:00
session-reference.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
session-title.i18n.yaml docs(i18n): address proofreading review findings 2026-08-04 18:42:13 +08:00
session-title.md fix(session-title): typed rename rejection, provenance invariant, contract docs 2026-07-29 20:10:42 +08:00
session-title.zh.md docs(i18n): address proofreading review findings 2026-08-04 18:42:13 +08:00
session.i18n.yaml feat(session): bound persistence write batching 2026-08-08 15:43:52 +08:00
session.md feat(session): bound persistence write batching 2026-08-08 15:43:52 +08:00
session.zh.md feat(session): bound persistence write batching 2026-08-08 15:43:52 +08:00
settings.i18n.yaml fix(llm): let a catalog route keep the auth its provider actually declares 2026-08-05 18:54:47 +08:00
settings.md fix(llm): let a catalog route keep the auth its provider actually declares 2026-08-05 18:54:47 +08:00
settings.zh.md fix(llm): let a catalog route keep the auth its provider actually declares 2026-08-05 18:54:47 +08:00
skills.i18n.yaml fix: address dsh badge review feedback 2026-08-06 18:54:53 +08:00
skills.md fix: address dsh badge review feedback 2026-08-06 18:54:53 +08:00
skills.zh.md fix: address dsh badge review feedback 2026-08-06 18:54:53 +08:00
spill.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
spill.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
spill.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
subagent.i18n.yaml fix: address review round four 2026-08-07 00:05:43 +08:00
subagent.md fix: address review round four 2026-08-07 00:05:43 +08:00
subagent.zh.md fix: address review round four 2026-08-07 00:05:43 +08:00
subprocess.i18n.yaml Merge retargeted parent into Claude Code subagent provider 2026-08-06 21:38:47 +08:00
subprocess.md Merge commit 'a9cc0fddb40be295c43cb2badb4cbcb2b032556c' into codex/product-providers-pr2-claude-code 2026-08-05 04:41:27 +08:00
subprocess.zh.md Merge retargeted parent into Claude Code subagent provider 2026-08-06 21:38:47 +08:00
system-prompt.i18n.yaml Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification 2026-08-05 13:09:53 +08:00
system-prompt.md refactor(agent): complete inbox lifecycle migration 2026-08-03 12:25:33 +08:00
system-prompt.zh.md Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification 2026-08-05 13:09:53 +08:00
tasks.i18n.yaml feat(web): list background tasks in the session header 2026-08-08 23:29:41 +08:00
tasks.md feat(web): list background tasks in the session header 2026-08-08 23:29:41 +08:00
tasks.zh.md feat(web): list background tasks in the session header 2026-08-08 23:29:41 +08:00
token-meter.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
token-meter.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
token-meter.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
tools.i18n.yaml cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
tools.md cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
tools.zh.md cleanup: remove TUI package and legacy dsh entrypoints 2026-08-04 13:20:28 +08:00
typert.i18n.yaml refactor(api): expose traced remote namespaces 2026-08-07 21:47:18 +08:00
typert.md refactor(api): expose traced remote namespaces 2026-08-07 21:47:18 +08:00
typert.zh.md refactor(api): expose traced remote namespaces 2026-08-07 21:47:18 +08:00
user-interaction.i18n.yaml fix: guard human interaction by runtime ownership 2026-08-08 15:30:08 +08:00
user-interaction.md fix: guard human interaction by runtime ownership 2026-08-08 15:30:08 +08:00
user-interaction.zh.md fix: guard human interaction by runtime ownership 2026-08-08 15:30:08 +08:00
web.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
web.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
web.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
workflow.i18n.yaml docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00
workflow.md Merge refreshed docs/i18n-batch-core into docs/i18n-batch-cds-postmortem 2026-07-22 22:26:24 +08:00
workflow.zh.md docs(i18n): proofread active Chinese documentation 2026-08-04 17:36:14 +08:00