Commit Graph
11794 Commits
Author SHA1 Message Date
Yichen Jiang b06969b56f Merge remote-tracking branch 'origin/master' into worktree/preset-plane-fallout-p1
Only `docs/module-graph.*` conflicted, from master's new
`@deepseek-ai/dsh-message-feedback` package; generated, so taken from master
and regenerated.

Hook bypassed as before: the staged-pairing check hands an archived note path
to `verify-translation-pairing`. The full-corpus gate passes.
2026-08-11 14:13:32 +08:00
Yichen Jiang 9f5eb5da8a fix(web): clamp preset card descriptions instead of sizing the roster
A preset publishes its own description, of any length, and `.cards` sizes
rows with `grid-auto-rows: 1fr` — which makes every implicit row the same
height, not just the row holding the tall card. One long description
therefore set the height of the whole roster.

The description now clamps to four lines and offers the rest through the
shared Tooltip, attached only while the element actually overflows. Card
height stays derived: with the description bounded, `grid-auto-rows: 1fr`
already equalizes, and a card carrying the broken-preset reason or a
revealed path still sizes itself.

Tooltip gains an optional `maxWidth`; its default half-viewport cap
renders a description wider than the settings dialog it belongs to.

The failed-shape-check badge reads "Failed to load" rather than "Broken":
discovery reports a composition that is missing, unreadable, or malformed,
which overstates as damage.

Fixes #2238
2026-08-11 14:09:04 +08:00
_Kerman c2569c3f9d feat(web): include referenced media in the session-log export
The export ZIP now carries every image any included log references under
media/<attachmentId>.<ext>, read and verified from the attachment store with
one entry per shared image. The endpoint requires the attachments service
alongside persistence and session-query; a referenced image that cannot be
read fails the stream like a missing descendant.
2026-08-11 14:08:58 +08:00
ZiyaZhang e800493494 fix(ci): refresh module graph pairing 2026-08-10 23:04:05 -07:00
Hypatia May bb11d72962 test(snapshot): refresh pins after master merge 2026-08-11 14:02:16 +08:00
Hypatia May 66cdba7c6c Merge branch 'feat/subagent-settlement-delivery' into feat/subagent-list-agents-vocabulary
# Conflicts:
#	examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
#	examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
#	examples/headless-agent/tests/snapshots/compaction-recovery/session.jsonl
#	examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
2026-08-11 13:58:56 +08:00
Hypatia May 8d5223bd1a test(snapshot): refresh pins after master merge 2026-08-11 13:58:36 +08:00
Hypatia May 9a8a2fc206 Merge branch 'feat/subagent-report-semantics' into feat/subagent-settlement-delivery
# Conflicts:
#	examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
#	examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
#	examples/headless-agent/tests/snapshots/compaction-recovery/session.jsonl
#	examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
2026-08-11 13:55:11 +08:00
Hypatia May e673a125bd test(snapshot): refresh pins after master merge 2026-08-11 13:54:51 +08:00
Hypatia May d4c125ceee Merge commit '580051aeb594e683b6fe088b04d9bffe4c4b5b62' into feat/subagent-report-semantics 2026-08-11 13:50:44 +08:00
_Kerman c8a201bebd Merge remote-tracking branch 'origin/master' into feat/web-session-log-export 2026-08-11 13:46:46 +08:00
_Kerman 1e22fe459b test(session): cover the readRaw abort-reason fallback branch 2026-08-11 13:39:23 +08:00
Ziya 9903d38cf9 Merge branch 'master' into feat/produced-files-folder 2026-08-11 13:31:29 +08:00
Ziya b0e022c150 Merge pull request #2217 from deepseek-harness/agent/message-feedback-backend
feat(feedback): add durable message feedback backend
2026-08-11 13:29:20 +08:00
Ziya c57221a6b6 Merge branch 'master' into feat/produced-files-folder 2026-08-11 13:25:22 +08:00
hypatiamay c76570a3b8 Merge pull request #2138 from deepseek-harness/feat/parallel-subagent-calls
feat(subagent): sibling delegations are concurrency-safe
2026-08-11 13:24:43 +08:00
Ziya 548b89c3d0 Merge branch 'master' into feat/produced-files-folder 2026-08-11 13:24:43 +08:00
Hypatia May c2261bad05 test(snapshot): refresh fork schema pins after master merge 2026-08-11 13:23:43 +08:00
_Kerman ab0b76d0a3 fix(session): reject readRaw abort with an Error to satisfy contracts lint 2026-08-11 13:20:23 +08:00
Hypatia May 0264935351 Merge branch 'feat/subagent-settlement-delivery' into feat/subagent-list-agents-vocabulary
# Conflicts:
#	examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
#	examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
#	examples/headless-agent/tests/snapshots/compaction-recovery/session.jsonl
#	examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
2026-08-11 13:19:27 +08:00
Hypatia May 8d9b71d50a test(snapshot): refresh fork schema pins after master merge 2026-08-11 13:17:40 +08:00
ZiyaZhang 682451d001 fix(ci): refresh merged doc pairings 2026-08-10 22:17:08 -07:00
Hypatia May bc3325a5f1 Merge branch 'feat/subagent-report-semantics' into feat/subagent-settlement-delivery
# Conflicts:
#	examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
#	examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
#	examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
#	examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
#	examples/headless-agent/tests/snapshots/compaction-recovery/session.jsonl
#	examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
2026-08-11 13:14:02 +08:00
Hypatia May 41790845e9 test(snapshot): refresh fork schema pins after master merge 2026-08-11 13:10:25 +08:00
Ziya d78d4a6189 Merge branch 'master' into agent/message-feedback-backend 2026-08-11 13:10:06 +08:00
Turtle d8e89e1644 Merge pull request #2198 from deepseek-harness/codex/fix-clone-instructions
docs: replace nonexistent repository references
2026-08-11 13:09:19 +08:00
Hypatia May 48dd924eda Merge branch 'feat/subagent-settlement-delivery' into feat/subagent-list-agents-vocabulary 2026-08-11 13:02:40 +08:00
Hypatia May 9340604ea5 Merge branch 'feat/subagent-report-semantics' into feat/subagent-settlement-delivery 2026-08-11 13:02:22 +08:00
Terra 346bfd23bf Merge pull request #1866 from deepseek-harness/feature/workspace-picker-composer
feat(web): open workspace picker from the composer
2026-08-11 13:01:38 +08:00
Hypatia May dbcbdfa9ce Merge commit '7baf2c33efb98eeea690c5ac58579c95dc52edd1' into feat/subagent-report-semantics 2026-08-11 13:01:29 +08:00
_Kerman 1b8175ddfd Merge remote-tracking branch 'origin/master' into feat/web-session-log-export 2026-08-11 12:59:05 +08:00
Yichen Jiang cc1cf12cb6 Merge remote-tracking branch 'origin/master' into worktree/preset-plane-fallout-p1
Generated docs (`module-graph`, `event-producer-consumer`) taken from master
and regenerated. The `cordis-inspect-jsdoc` golden likewise: master's copy is
the base, and this branch's `presentAs` per-scope rewording is re-applied on
top, since `cordis_inspect` renders that JSDoc into model-visible output.

Hook bypassed as before: the staged-pairing check hands an archived note path
to `verify-translation-pairing`. The full-corpus gate passes.
2026-08-11 12:57:58 +08:00
_Kerman 96646ce481 chore: regenerate cordis catalog after merging latest master 2026-08-11 12:55:39 +08:00
_Kerman 4724a69476 Merge remote-tracking branch 'origin/master' into feat/web-session-log-export 2026-08-11 12:54:33 +08:00
ZiyaZhang d4492a2ecd docs: refresh produced-files pairing 2026-08-10 21:53:38 -07:00
ZiyaZhang fde546593f test(web): cover produced-folder single click 2026-08-10 21:53:38 -07:00
ZiyaZhang 4357be1565 test(web): cover produced-file lifecycle edges 2026-08-10 21:53:38 -07:00
ZiyaZhang ee1a88c9f1 feat(web): make produced-file overflow discoverable 2026-08-10 21:53:38 -07:00
Yichen Jiang a40155ad23 Merge pull request #2071 from deepseek-harness/worktree/web-background-tasks-display-258f7e
feat(web): list background tasks in the session header
2026-08-11 12:52:04 +08:00
_Kerman b701090c4f docs: refresh module graph after merging master 2026-08-11 12:49:47 +08:00
_Kerman 3a6112f641 fix(web): satisfy contracts-ready lint and dedup the stable-file read
Rescope nothing new: drop the needless async from the inherited readRaw
default (reject explicitly on abort), fix the void arrow shorthand in
downloadBlob, and share one revision-stable file-read loop between readRaw
and readPrefix in the JSONL backend.
2026-08-11 12:49:27 +08:00
_Kerman 118b1a8787 Merge remote-tracking branch 'origin/master' into feat/web-session-log-export
# Conflicts:
#	docs/subsystems/persistence.i18n.yaml
#	docs/subsystems/persistence.md
#	docs/subsystems/persistence.zh.md
#	packages/client/ui-trajectory/README.i18n.yaml
#	packages/client/ui-trajectory/README.md
#	packages/client/ui-trajectory/README.zh.md
#	packages/client/ui-trajectory/package.json
#	packages/client/ui-trajectory/src/client/TrajectoryView.tsx
#	packages/client/ui-trajectory/src/client/index.ts
#	packages/client/ui-trajectory/tests/client-bundle.spec.ts
#	packages/client/ui-trajectory/tests/views.spec.tsx
#	packages/host/apiproxy/package.json
#	pnpm-lock.yaml
2026-08-11 12:42:53 +08:00
Yichen Jiang 2895113970 Merge remote-tracking branch 'origin/master' into worktree/web-background-tasks-display-258f7e 2026-08-11 12:42:30 +08:00
Hypatia May a26d03960a feat(subagent): sibling delegations are concurrency-safe
One assistant message carrying several subagent calls now overlaps them
under the rolling pool (maxParallelToolCalls) instead of serializing each
foreground delegation behind an exclusive barrier; results still commit
in model order.

tool-subagent declares isConcurrencySafe: () => true for every call form:
children work in their own sessions, a run never mutates the parent
session, and sibling workspace coordination already belongs to the model
for background, continuable, and workflow children. The former
serial-execution pin flips to a parallel pin plus a gated genuine-overlap
test, and the authored subagent-parallel snapshot pins the assembled
transcript (tool/call, tool/call, tool/result, tool/result) with
interchangeable twin children, which replay race-free under the existing
first-call binding and createdAt harvest ordering.

The provider seam now requires concurrent starts and continuable
preparations for distinct children to isolate operation-local state,
cancellation, settlement, and cleanup; a continuable gate test proves a
cancelled preparation leaves no Agent or durable Session while its
sibling persists independently.

Closes deepseek-harness/deepseek-harness#1489
2026-08-11 12:41:24 +08:00
ZiyaZhang c61be60737 fix(feedback): address backend review gaps 2026-08-10 21:40:03 -07:00
ZiyaZhang c3d0fe1bf9 fix(feedback): harden backend consistency 2026-08-10 21:40:03 -07:00
ZiyaZhang 3cffc77719 feat(feedback): add durable message feedback backend 2026-08-10 21:40:03 -07:00
Hypatia May 567fcadba0 fix(subagent): report resumable children as ready
list_agents called a storage-only continuable child 'complete', inviting
parents to poll it for a result that will never appear there. Rename the
status to 'ready' — resumable, not terminal — and rewrite the tool
description to say a parent is told when a child finishes, so listing is
for recall, not polling.
2026-08-11 12:38:57 +08:00
Turtle d00590c707 docs: replace nonexistent repository references 2026-08-11 12:35:38 +08:00
Hypatia May 85dd22fd4f feat(subagent): deliver continuable child settlement to parents
A continuable child that stopped without reporting — an error, a token
ceiling, cancellation, teardown — left its parent nothing to act on.
The continuation manager now delivers an unconditional settlement
notice to the durable direct parent before releasing ownership, folding
consumed work (foldConsumedWork supersedes findLastMessageTurnEnd) so a
claimed-but-unrun prompt reads as aborted rather than completed, waking
an idle parent, steering a busy one, and never waking a closing tree.
2026-08-11 12:31:49 +08:00