Background
`commands/watch-inbox.md` §Overview already says:
Monitor is an alarm clock, not a mailbox. On `INBOX_GREW`, end the turn and return to idle without emitting acknowledgment text or narrating the wake event...
And the §Overview audit anchor flags as a failure mode: "the woken lead emitting acknowledgment text like `(Alarm.)` or `(Idle ping.)` instead of returning to silent idle".
Observed Failure Mode
The current language doesn't explicitly forbid degenerate single-character acknowledgments like `.`, whitespace, or one-token replies. An LLM following the no-narration spirit but defaulting to "the harness probably needs something" emits `.` per bare Monitor event — which is functionally narration in stunted form, still consumes a turn slot, and pollutes the transcript.
Empirically observed in session `pact-7b1e760a` while orchestrating PR #609:
- Agent emitted `.` on 3+ consecutive bare `INBOX_GREW` events before user flagged it.
- After user explanation, agent claimed it would "attempt empty content next bare event" but defaulted back to `.` on the next opportunity.
- Once explicitly tested, the Claude Code harness DOES accept truly empty assistant turns — terminal display goes `Monitor event → next user prompt` with no assistant turn between.
The agent's failure mode wasn't disagreement with the discipline; it was an unstated assumption that the harness required some token per turn. The current §Overview prose does not contradict that assumption.
Proposed Fix
Add an explicit instruction in `commands/watch-inbox.md` §Overview alarm-clock paragraph (or as a new §Discipline subsection) stating:
The harness accepts truly empty assistant turns on bare Monitor events. Do not emit a single-character placeholder (`.`, whitespace, newline) as a degenerate ack. The desired output is genuinely empty content — the terminal should go from Monitor event directly to the next prompt with no visible assistant turn. `.` is narration in stunted form and is forbidden by the same rule that forbids `(Alarm.)` and `(Idle ping.)`.
Same audit-anchor pattern as the existing alarm-clock paragraph: explicit-rule-plus-rationale so an editing LLM can't silently drop the discipline.
Cross-References
- Existing `feedback_wait_in_silence_across_idle_pings` memory in user auto-memory
- `skills/orchestration/SKILL.md` §Wait in Silence
- Communication Charter Part I (idle-boundary discipline)
Test Invariant
Hard to mechanically pin (LLM-behavior, not file-shape). Two options:
- Runbook addition to `pact-plugin/tests/runbooks/591-inbox-wake.md`: a manual verification step that fires a Monitor wake while the lead is idle and asserts no visible assistant content appeared.
- Phrase pin in `test_watch_inbox_command_structure.py`: assert the new explicit empty-turn instruction string is present in the §Overview block. Catches discipline-language drift; doesn't catch LLM compliance.
Option 2 is the agent-reader-primary catch (per the pinned axiom).
Out of Scope
- The corresponding teammate-side discipline — teammates don't run Monitor and don't see Monitor wake events; the rule is lead-only.
- General "wait in silence" guidance for non-Monitor idle pings — already covered by orchestration §Wait in Silence.
Source
Surfaced 2026-05-02 in dogfood orchestration session pact-7b1e760a while running peer-review on PR #609. Empirical confirmation of empty-turn capability happened in that same session.
Background
`commands/watch-inbox.md` §Overview already says:
And the §Overview audit anchor flags as a failure mode: "the woken lead emitting acknowledgment text like `(Alarm.)` or `(Idle ping.)` instead of returning to silent idle".
Observed Failure Mode
The current language doesn't explicitly forbid degenerate single-character acknowledgments like `.`, whitespace, or one-token replies. An LLM following the no-narration spirit but defaulting to "the harness probably needs something" emits `.` per bare Monitor event — which is functionally narration in stunted form, still consumes a turn slot, and pollutes the transcript.
Empirically observed in session `pact-7b1e760a` while orchestrating PR #609:
The agent's failure mode wasn't disagreement with the discipline; it was an unstated assumption that the harness required some token per turn. The current §Overview prose does not contradict that assumption.
Proposed Fix
Add an explicit instruction in `commands/watch-inbox.md` §Overview alarm-clock paragraph (or as a new §Discipline subsection) stating:
Same audit-anchor pattern as the existing alarm-clock paragraph: explicit-rule-plus-rationale so an editing LLM can't silently drop the discipline.
Cross-References
Test Invariant
Hard to mechanically pin (LLM-behavior, not file-shape). Two options:
Option 2 is the agent-reader-primary catch (per the pinned axiom).
Out of Scope
Source
Surfaced 2026-05-02 in dogfood orchestration session pact-7b1e760a while running peer-review on PR #609. Empirical confirmation of empty-turn capability happened in that same session.