Surfaced by the Fable 5 prompting-guide alignment audit (PR #2000), from the section auditor assigned to "Rare cases of early stopping". Filed rather than fixed there — the fix would have meant copying upstream text into this repository, which its own documentation doctrine forbids.
What the guide asks for
That section names two failures — ending a turn with a text-only statement of intent and no matching tool call, and pausing to ask permission when the model already has enough to proceed — and prescribes a system reminder for autonomous pipelines carrying seven clauses: the autonomy framing, the named "Want me to…?" / "Shall I…?" phrasings, reversible actions proceeding without asking, follow-ups-are-fine-but-re-asking-is-not, a check-your-last-paragraph self-check, an enumeration of shapes that must be acted on rather than ended on, and ending the turn only when complete or blocked on input only the user can provide.
What the gate actually does
plugins/autonomy/hooks/lane-stop-gate.sh is registered on every Stop event and is default-off, engaging only for a trusted-enabled lane. Its reason string targets stopping on "a self-estimated context percentage, a turn count, or a vague sense that enough was done" — an adjacent failure, not either of the two above.
Against the guide's seven clauses, five have no counterpart at all. The gate performs no content classification of the final message beyond a literal check for its completion sentinel, so it cannot distinguish a turn ending in a genuine blocked-on-user question from a lazy premature stop. Both get the same one-time block, then are allowed on the second attempt with an operator alert.
Why this was judged low priority rather than a defect
The over-blocking is benign in practice: a lane genuinely blocked on user input costs one wasted nudge and then stops with the operator alerted, which is what a blocked lane wants. And the repository is not uncovered — unexecuted intent is carried by playbooks:fable-5 (SKILL.md:110, context/communication.md:40), and the loop lanes carry standing authorization plus "speak to me only when fully blocked."
The real remainder
Nothing ships the guide's autonomous-pipeline reminder as a reusable artifact for a consumer's own pipeline. It exists only hand-authored inline in two of the three lane templates in prompts/loops/loop-lane-prompts.md. Reproducing the guide's text here was rejected as hand-copying upstream content; if this is worth closing, the shape to decide first is whether a pointer plus a locally-authored equivalent earns its place, or whether the doctrine surface already suffices.
Surfaced by the Fable 5 prompting-guide alignment audit (PR #2000), from the section auditor assigned to "Rare cases of early stopping". Filed rather than fixed there — the fix would have meant copying upstream text into this repository, which its own documentation doctrine forbids.
What the guide asks for
That section names two failures — ending a turn with a text-only statement of intent and no matching tool call, and pausing to ask permission when the model already has enough to proceed — and prescribes a system reminder for autonomous pipelines carrying seven clauses: the autonomy framing, the named "Want me to…?" / "Shall I…?" phrasings, reversible actions proceeding without asking, follow-ups-are-fine-but-re-asking-is-not, a check-your-last-paragraph self-check, an enumeration of shapes that must be acted on rather than ended on, and ending the turn only when complete or blocked on input only the user can provide.
What the gate actually does
plugins/autonomy/hooks/lane-stop-gate.shis registered on every Stop event and is default-off, engaging only for a trusted-enabled lane. Its reason string targets stopping on "a self-estimated context percentage, a turn count, or a vague sense that enough was done" — an adjacent failure, not either of the two above.Against the guide's seven clauses, five have no counterpart at all. The gate performs no content classification of the final message beyond a literal check for its completion sentinel, so it cannot distinguish a turn ending in a genuine blocked-on-user question from a lazy premature stop. Both get the same one-time block, then are allowed on the second attempt with an operator alert.
Why this was judged low priority rather than a defect
The over-blocking is benign in practice: a lane genuinely blocked on user input costs one wasted nudge and then stops with the operator alerted, which is what a blocked lane wants. And the repository is not uncovered — unexecuted intent is carried by
playbooks:fable-5(SKILL.md:110,context/communication.md:40), and the loop lanes carry standing authorization plus "speak to me only when fully blocked."The real remainder
Nothing ships the guide's autonomous-pipeline reminder as a reusable artifact for a consumer's own pipeline. It exists only hand-authored inline in two of the three lane templates in
prompts/loops/loop-lane-prompts.md. Reproducing the guide's text here was rejected as hand-copying upstream content; if this is worth closing, the shape to decide first is whether a pointer plus a locally-authored equivalent earns its place, or whether the doctrine surface already suffices.