Commit Graph
10077 Commits
Author SHA1 Message Date
Hypatia May 5e1ec10d5a fix(subagent): address descendant listing review 2026-08-08 20:02:37 +08:00
Hypatia May d769d3cbb7 feat(subagent): let ancestors interrupt descendants
interrupt_agent(agent_id) passes the calling agent as the ancestor
authority for ctx.subagents.interrupt(); the service verifies live
registry identity and recorded lineage, so a direct child or deeper
descendant stops with the same generic parameter while send_message keeps
its exact-direct-parent authority.

Discovery: list_agents gains an optional scope. descendants walks the new
SubagentService.listDescendants() — one lineage trace flattened in stable
pre-order across ordinary and one-shot intermediates, each entry carrying
its verified parentId and depth — and every status now comes from the
live Agent registry (running/idle/complete).

Refs #1535
2026-08-08 20:02:37 +08:00
Hypatia May 4b29f9ca7a test(web): refresh interrupt UI golden after master merge 2026-08-08 20:02:36 +08:00
Hypatia May 5793614b86 feat(web): expose continuable subagent interrupt
The composer's single primary action now stops a running continuable
child: Session.cancel() routes a continuable address through
subagent.interrupt (ordinary sessions keep session.cancel; one-shot
addresses stay uncancellable), and InputBar switches the same Send button
to Stop while a continuable child runs. A running parent-offline child
keeps the default composer with disabled input so that Stop stays
reachable; the read-only takeover returns once it stops.

Refs #1535
2026-08-08 20:02:36 +08:00
Hypatia May 336c84baf0 docs(subagent): clarify interrupt edge cases 2026-08-08 20:02:36 +08:00
Hypatia May 57e9e6977c docs(subagent): record the public interrupt in the continuation contract docs
The continuable-subagent core-data page and the continuation lifecycle
Agent Note claimed no public subagent cancellation existed; interrupt()
is now that one public stop. Both pages and their Chinese counterparts
state the shipped contract and link the owning interrupt note.

Refs #1535
2026-08-08 20:02:36 +08:00
Hypatia May 82019134b1 test(web): verify subagent.interrupt over the real composition
A browserless keyless-replay e2e boots the shipped web composition, holds
a continuable child's turn open with a replay hang entry, queues a
follow-up and interrupts over plain HTTP, and proves from the real
session state that the turn aborted, the follow-up parked without a new
turn, and a waking send resumed the preserved FIFO order.

Refs #1535
2026-08-08 20:02:36 +08:00
Hypatia May 66a21a38b1 feat(subagent): add current-turn interrupt RPC
ctx.subagents.interrupt() stops one live continuable child's current turn
via Agent.cancel(cause, { keepInbox: true }) under either a human durable
parent address or an exact live ancestor Agent. Fire-and-return: admission
is synchronous, quiescence is not awaited. Pending inbox work, the
Activation, and published descendants are preserved; only a later waking
send resumes the parked FIFO queue. Absent, one-shot, and disposing
targets are accepted no-ops.

The new Host RPC subagent.interrupt calls only that primitive with user
authority — no catalog, history, persistence, or parent-registry lookup —
so a live child stays stoppable while its parent Agent is offline.

Refs #1535
2026-08-08 20:02:36 +08:00
Ziya 5f9456c24f Merge pull request #1807 from deepseek-harness/feat/web-inline-file-mentions
feat(web): a prose mention of a produced file opens it
2026-08-08 04:59:16 -07:00
Tianyi Cui 1bb17d3616 Merge pull request #1870 from deepseek-harness/fix/agent-loop-cancel-wake-latch
fix(agent-loop): latch wakes landing in the cancel-convergence window
2026-08-08 19:55:53 +08:00
ZiyaZhang 4db962ecbb Merge remote-tracking branch 'origin/master' into feat/web-inline-file-mentions 2026-08-08 04:46:48 -07:00
_Kerman 853f929704 refactor(agent-loop): tighten wake-latch comments 2026-08-08 19:42:42 +08:00
_Kerman df30c62e2b fix(agent-loop): latch wakes landing in the cancel-convergence window 2026-08-08 19:42:42 +08:00
imccyu 22609ea425 Merge pull request #2054 from deepseek-harness/worktree-code-dispatch-tree
refactor(client): localize nested Tool call trees
2026-08-08 18:47:17 +08:00
imccyu 4de2de98e4 fix(client): bound nested Tool call depth 2026-08-08 18:15:34 +08:00
imccyu 091b993198 fix(client): harden nested Tool call projection 2026-08-08 17:59:50 +08:00
imccyu 9ed33dfe4f refactor(client): localize nested Tool call trees 2026-08-08 17:59:50 +08:00
Tianyi Cui 5e0b7571e6 Merge pull request #2059 from deepseek-harness/worktree/browser-gif-evidence-chain-20260808
docs(skills): preserve browser GIF evidence chains
2026-08-08 17:45:48 +08:00
Tianyi Cui 40ea07a33b docs(skills): tighten GIF evidence boundaries 2026-08-08 17:35:21 +08:00
Tianyi Cui c21b8f1068 Merge remote-tracking branch 'origin/master' into worktree/browser-gif-evidence-chain-20260808 2026-08-08 17:28:24 +08:00
imccyu b217fcc5bf Merge pull request #2042 from deepseek-harness/worktree-uitool
cleanup(client): extract Tool presentation ownership
2026-08-08 17:23:25 +08:00
Tianyi Cui 5934bbc32e docs(skills): preserve browser GIF evidence chains 2026-08-08 17:17:14 +08:00
imccyu 871c59c3bc fix(client): address tool tree review 2026-08-08 17:12:54 +08:00
imccyu 3b31b2eba1 fix: ci 2026-08-08 16:53:25 +08:00
imccyu c5b37f6845 fix(client): keep compact row in conversation package 2026-08-08 16:53:25 +08:00
imccyu 810bfc4b5e fix: ci 2026-08-08 16:53:25 +08:00
imccyu ab50037b93 fix(client): address tool presentation review 2026-08-08 16:53:24 +08:00
imccyu 9c10925340 fix(docs): align ui-tool package contracts 2026-08-08 16:53:24 +08:00
imccyu 61f3982348 fix: gen docs 2026-08-08 16:53:24 +08:00
imccyu 67c753dcb7 fix(client): restore built Tool presentation snapshots 2026-08-08 16:53:24 +08:00
imccyu cd64cc7ecd docs(notes): update Tool UI implementation references 2026-08-08 16:53:23 +08:00
imccyu fafd54fc03 docs(client): record Tool presentation ownership 2026-08-08 16:53:23 +08:00
imccyu 7cc554ef16 cleanup(client): extract Tool presentation into ui-tool 2026-08-08 16:53:23 +08:00
imccyu 1674af147e cleanup(client): detach conversation rows from Tool presentation 2026-08-08 16:53:22 +08:00
Tianyi Cui a44e35793c Merge pull request #2048 from deepseek-harness/worktree/batch-session-persistence
Batch durable session writes with a bounded delay
2026-08-08 16:51:15 +08:00
Tianyi Cui 41b2fd7a70 Merge pull request #1145 from deepseek-harness/fix/f4-ask-user-child-guard
fix(user-interaction): guard human interaction by runtime ownership
2026-08-08 16:47:24 +08:00
Yichen Jiang e75a5c6651 Merge pull request #2040 from deepseek-harness/worktree/sidebar-subagent-activity
feat(web): surface subagent activity in sidebar
2026-08-08 16:47:06 +08:00
Tianyi Cui 1576d049ed fix(session-persistence): close batching failure gaps 2026-08-08 16:43:37 +08:00
Yichen Jiang 3b10120d60 Merge remote-tracking branch 'origin/master' into worktree/sidebar-subagent-activity
# Conflicts:
#	packages/client/runtime/README.i18n.yaml
2026-08-08 16:37:29 +08:00
Turtle bd518cb684 Merge pull request #1696 from deepseek-harness/codex/dsh-badge-plugin
feat: add optional dsh badge skill provider
2026-08-08 16:33:00 +08:00
Yichen Jiang d174edf9eb Merge pull request #2034 from deepseek-harness/worktree/merge-compact-card
feat(web): merge compact status and summary cards
2026-08-08 16:23:00 +08:00
Tianyi Cui 235a94b179 Merge pull request #1734 from deepseek-harness/codex/unify-landlock-release
refactor(landlock-run): unify workspace and release
2026-08-08 16:22:41 +08:00
Tianyi Cui 1627728eff fix: allow audited publishing repository links 2026-08-08 16:15:00 +08:00
Tianyi Cui 9614bce6c6 docs(graph): refresh session persistence dependency 2026-08-08 16:08:03 +08:00
Tianyi Cui 8dcbabc3a4 docs: refresh module graph 2026-08-08 16:04:24 +08:00
Tianyi Cui 2268f0ecec Merge origin/master into codex/dsh-badge-plugin 2026-08-08 16:03:30 +08:00
Tianyi Cui a6ef1c2e7e Merge remote-tracking branch 'origin/master' into codex/unify-landlock-release 2026-08-08 16:03:18 +08:00
Tianyi Cui dac4b068c4 Merge remote-tracking branch 'origin/master' into codex/unify-landlock-release
# Conflicts:
#	.agents/notes/implemented/process/2026-07-30-generated-third-party-notices.i18n.yaml
#	scripts/check-workspace-constraints.ts
2026-08-08 16:01:53 +08:00
Tianyi Cui 74a8e2e776 Merge remote-tracking branch 'origin/master' into worktree/fix-pr1145-revised-guard-20260808 2026-08-08 16:00:25 +08:00
Yichen Jiang fb1d230518 test(web): avoid replay timing assertions 2026-08-08 15:56:36 +08:00