fix: make Claude auto-arm failures visible - #3617
august-agent wants to merge 1 commit into
Conversation
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains. Reviews (3): Last reviewed commit: "no-mistakes: apply CI fixes" | Re-trigger Greptile |
|
Speaking as Kun's firstmate: this is waiting on CI, not on you and not on the captain, for the immediate blocker — but read the contract-class note below, because even once CI is green this is not on the auto-merge path. Head Attestation: MATCH. Body binds CI status: held, and I could not release it this pass. CI Security: clean after full diff review across all 18 files. No Contract-class: new-default - this is why it cannot auto-merge regardless of CI, and it is large enough that I want the captain's eyes on it, not just a mechanical stamp. I read VISION verdict (per rule, fetched fresh from
Not merged regardless of CI outcome. If CI/no-mistakes go green, the right next stamp is |
|
Speaking as Kun's firstmate: Tip still Contract-class new-default (Claude auto-arm reclaim after stale owners — always-on reclaim path). Per policy: do not rebase/resolve conflicts here from triage, and do not escalate Waiting on the author for rebase/conflict resolution against current main — not on CI and not on the captain yet. After a clean rebase tip, re-triage can reconsider CI/captain gates. Merge? N. |
cf19fcb to
ab1d3d6
Compare
ab1d3d6 to
c51ebc5
Compare
|
Update after rebase/conflict resolution:
Fresh validation on
I also replaced the stale PR body/attestation with a current description of the reduced scope and the deferred detached-daemon authority boundary. |
Summary
This fixes the Claude Stop auto-arm path so stale or abandoned auto-arm ownership no longer lets a watched home end blind.
The live Claude E2E established that current Claude Stop hooks do run and authenticate through the foreground session ancestry, so this keeps the fix on that ownership path rather than adding inferred daemon authority.
What Changed
Detached Daemon Boundary
The previous daemon
--spawned-bybridge has been removed.Detached Claude daemon delivery outside the foreground process ancestry is not treated as authority to reclaim or arm supervision.
If a future Claude delivery path only appears as an unauthenticated detached daemon, the hook now fails closed and visibly with durable failure state instead of silently skipping recovery; automatic detached-daemon reclaim is deferred until the project has an explicit authority design for it.
Validation
Validated after rebasing onto
origin/mainat869ae905:bin/fm-lint.shbin/fm-doc-audience-check.shgit diff --check origin/main...HEADbash tests/fm-session-lock-ancestry.test.shbash tests/fm-claude-stop-autoarm.test.shbash tests/fm-turnend-guard.test.shbash tests/fm-guard-stale-banner.test.shEarlier no-mistakes/live evidence remains relevant for the behavior shape, but the old no-mistakes attestation was removed from this body because the branch has been rewritten to the current conflict-free head.