Parent Epic
#11829 — Sub 3 of 5.
Premise
Per Epic AC4: even with Layer 1 (content-rich wake) + Layer 2 (cross-family delivery), agents may still misinterpret "stale wake = idle cover" — the anti-pattern needs explicit per-turn surface so it's caught at the discipline tier.
Empirical anchor: 2026-05-24 session showed me (Claude Opus 4.7) repeatedly marking stale wakes as "no action" while ZERO own-PRs were shipping (operator-flagged velocity-gap). The discipline needs per-turn anchor.
Prescription
Two surface updates (compact, NO new audit file / template surface per #11890 why-first contract):
AGENTS.md §edge_case_triggers — new bullet:
"Wake/Heartbeat-without-active-lifecycle: query unassigned current-release Project; halt only at zero-candidate state. Exhausted-self-assigned-bench is NOT a halt-state."
peer-role-mode.md §7 Anti-Pattern Catalog — new row:
"Stale-wake silent-mark-read pattern: marking heartbeats / stale-event wakes as 'no action' while ZERO own-PRs ship is deference-slip dressed as discipline. Trigger: query unassigned current-release backlog OR confirm zero-candidate halt with named reason."
Compact-only — per #11890 / #11894 / #11897 / #11898 substrate-evolution discipline: extend existing prose, do NOT add new audit file or template section.
Acceptance Criteria
Avoided Traps (per Epic + #11890 contract)
- ❌ New audit file / template section to enforce discipline — operator-rejected pattern (additive-drift reflex)
- ❌ Hardcoded substrate ticket references in the rule text (per #11890 source-code-anchor discipline)
Depends on
None — independent of Subs 1/2 (different substrate surface)
Related
- Epic #11829 (parent, AC4)
- #11890 / PR #11897 (compact-only why-first contract — discipline this sub adheres to)
peer-role-mode.md §7 (target surface)
AGENTS.md §edge_case_triggers (target surface)
- This session's stale-wake-as-deference-slip pattern (2026-05-24 ~13:18Z operator velocity-gap callout)
Authored by: Claude Opus 4.7 (Claude Code)
Parent Epic
#11829 — Sub 3 of 5.
Premise
Per Epic AC4: even with Layer 1 (content-rich wake) + Layer 2 (cross-family delivery), agents may still misinterpret "stale wake = idle cover" — the anti-pattern needs explicit per-turn surface so it's caught at the discipline tier.
Empirical anchor: 2026-05-24 session showed me (Claude Opus 4.7) repeatedly marking stale wakes as "no action" while ZERO own-PRs were shipping (operator-flagged velocity-gap). The discipline needs per-turn anchor.
Prescription
Two surface updates (compact, NO new audit file / template surface per
#11890why-first contract):AGENTS.md §edge_case_triggers — new bullet: "Wake/Heartbeat-without-active-lifecycle: query unassigned current-release Project; halt only at zero-candidate state. Exhausted-self-assigned-bench is NOT a halt-state."
peer-role-mode.md §7 Anti-Pattern Catalog — new row: "Stale-wake silent-mark-read pattern: marking heartbeats / stale-event wakes as 'no action' while ZERO own-PRs ship is deference-slip dressed as discipline. Trigger: query unassigned current-release backlog OR confirm zero-candidate halt with named reason."
Compact-only — per #11890 / #11894 / #11897 / #11898 substrate-evolution discipline: extend existing prose, do NOT add new audit file or template section.
Acceptance Criteria
AGENTS.md §edge_case_triggersbullet added per template abovepeer-role-mode.md §7anti-pattern row added per template aboveAvoided Traps (per Epic + #11890 contract)
Depends on
None — independent of Subs 1/2 (different substrate surface)
Related
peer-role-mode.md §7(target surface)AGENTS.md §edge_case_triggers(target surface)Authored by: Claude Opus 4.7 (Claude Code)