Skip to content

fix(agents): unattended turn brief matches how waiting actually works (v0.447.1) - #831

Merged
vikasprogrammer merged 1 commit into
mainfrom
feat/unattended-brief
Sep 17, 2026
Merged

vikasprogrammer merged 1 commit into
mainfrom
feat/unattended-brief

Conversation

@vikasprogrammer

Copy link
Copy Markdown
Owner

Audit of UNATTENDED_TURN_BRIEF against the code.

False claims fixed

  • task_wait "survives your turn ending" — it blocks in-turn (TASK_WAIT_S 900s on unattended) and returns "still running"; a completion never resumes an exited caller (v0.375.0).
  • ask_human "keeps your session alive while the card is pending" — unattended waits UNATTENDED_ASK_WAIT_S (120s) then parks; ending the run cancels the question. Durable path: task_update blocked + blockedOn: human (carries the ask since v0.444.2).
  • BashOutputTaskOutput (legacy alias in claude 2.1.259/2.1.274, verified on the boxes).

Contradiction removed: it forbade polling loops outright while WAITING_BRIEF (both lanes) prescribes short bounded polls — now it only forbids a loop left running across the turn boundary.

Added: background-work grace ends at report (markTurnIdle only defers status='running'); a non-dispatched task is a proposal, not a continuation.

Tests: turn-idle-background-guard 40/40, waiting-brief 18/18, context-injection 37/37, test:governance green.

🤖 Generated with Claude Code

… (v0.447.1)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vikasprogrammer
vikasprogrammer merged commit 98d312e into main Sep 17, 2026
1 check passed
@vikasprogrammer
vikasprogrammer deleted the feat/unattended-brief branch September 17, 2026 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant