fix: harden child agent control semantics 4 months ago
Authored
mweinbach 6/2/2026, 4:34:58 PM Add explicit child report diagnostics to inspect and optional rich wait inspections.
Clarify context modes, disable recursive child delegation, and enforce targetPaths across file tools plus obvious shell paths.
Verified with bun run check, bun run lint, bun run test, bun run typecheck, and bun run docs:check. Parentae84186
51 files changed
docs/generated/websocket-jsonrpc.d.ts +3 −3 docs/generated/websocket-jsonrpc.schema.json +1 −1 docs/harness/context.md +3 −2 docs/websocket-protocol.md +28 −3 packages/harness/src/run_raw_agent_loops.ts +38 −4 prompts/sub-agents/base.md +1 −1 prompts/sub-agents/default.md +6 −0 prompts/sub-agents/explorer.md +6 −0 prompts/sub-agents/research.md +17
−0
prompts/sub-agents/reviewer.md +6 −0
prompts/sub-agents/worker.md +6 −0
src/agent.ts +2 −0
src/server/agents/AgentControl.ts +60 −13
src/server/agents/DelegateRunner.ts +2 −0
src/server/agents/commandPolicy.ts +196 −0
src/server/agents/reportParser.ts +97 −10
src/server/agents/roles.ts +11 −7
src/server/agents/types.ts +11 −0
src/server/jsonrpc/routes/agents.ts +3 −2
src/server/jsonrpc/schema.agents.ts +17 −0
src/server/protocol.ts +1 −1
src/server/session/AgentSession.ts +14 −2
src/server/session/SessionAdminManager.ts +10 −1
src/server/session/SessionContext.ts +2 −0
src/server/session/SessionRuntime.ts +8 −2
src/server/session/turnExecution/runTurnInvocation.ts +7 −1
src/shared/agents.ts +28 −0
src/tools/bash.ts +24 −2
src/tools/context.ts +5 −0
src/tools/edit.ts +1 −0
src/tools/glob.ts +2 −1
src/tools/grep.ts +1 −0
src/tools/persistentAgents.ts +40 −3
src/tools/read.ts +1 −0
src/tools/spawnAgent.ts +11 −3
src/tools/write.ts +1 −0
src/utils/permissions.ts +64 −0
test/agentControl.test.ts +54 −4
test/agentReportParser.test.ts +65 −1
test/bash.readonly-policy.test.ts +35 −0
test/jsonrpc.control-schemas.test.ts +26 −0
test/jsonrpc.routes.review-fixes.test.ts +5 −0
test/jsonrpc/control.session.test.ts +5 −0
test/persistentAgents.tool.test.ts +20 −1
test/spawnAgent.tool.test.ts +30 −0
test/tools/tools.createTools.test.ts +5 −0
test/tools/tools.edit.test.ts +30 −0
test/tools/tools.glob.test.ts +14 −0
test/tools/tools.grep.test.ts +29 −0
test/tools/tools.read.test.ts +14 −0
test/tools/tools.write.test.ts +20 −0