Files
ai-agent/frontend/openapi.json
Gabriel Vidal 0c70f3bf85 feat(sidecar,hub): relay a follow-up sent during a stop-guard hold; "held" tag
A message written to the CLI's inbox socket while the session sits in a
Stop hook is accepted and dropped (verified: delivered while idle on a
Monitor, lost during a guard hold). So the guard now keeps
logs/<sid>.hold for the hold's duration; /message checks it first and,
when present, leaves the text in logs/<sid>.inbox/ (delivered: "hold");
the hook polls that mailbox every poll, ends the hold at once and relays
the text in its block reason between <<<USER MESSAGE>>> fences, saying
what is still running and to end the turn again so the hold resumes.

The viewer shows the guard's plain feedback as a compact "held" tag
(ThreadItem kind "held", amber, the hold spelled out in the label) and a
relayed message as the user's own turn. Guard lines go to
logs/<sid>.guard.log next to the run log (a hook's stderr never reaches
it); STOP_GUARD_STATE_DIR = LOG_DIR in the run env.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:43:34 +02:00

359 KiB