docs(conventions): a step whose reference routes every exit still signposts#570
Open
leeovery wants to merge 1 commit into
Open
Conversation
…nposts Discovery's Step 5 loads confirm-trigger and ends there. Every other step in that skill says where it goes next, so a reader arriving at the blank line has one signal left — the next heading — and takes it. A walk did exactly that: read confirm-trigger's route to Step 7, talked itself into Step 6 because the file numbers it earlier, then caught itself. The convention already anticipates most of this. A reference whose paths need different backbone steps overrides its caller, because "the caller's single Proceed to line can only go one place". That wording assumes a line exists to be overridden, and for final-review.md it does — three of its eight exits return bare and the caller's footer is what serves them. confirm-trigger has no such exit. Every path routes, so any footer would name a step that never runs, and the step was left with nothing at all. That is the shape with no documented form, and it now has one: the footer defers rather than naming a step. The rule also states what a footer governs — the bare returns only, never the branches the reference routed itself — which was true already and unwritten, and is what lets a reader over-apply a footer to all eight of final-review's exits when it serves three. A step is never left with no footer. Silence reads as the end of the step, and the heading below becomes the fall-through by default. Behaviour is unchanged: the routing was always complete for anyone who read the reference. This makes it complete for someone who has just finished reading it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Jul 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Discovery's Step 5 loads
confirm-trigger.mdand ends there. Every other step in that skill says where it goes next — so a reader reaching the blank line has one signal left, the next heading, and takes it. A walk did exactly that: read confirm-trigger's route to Step 7, talked itself into Step 6 because the file numbers it earlier, then caught itself and corrected.The convention already anticipates most of this. A reference whose paths need different backbone steps overrides its caller, because "the caller's single
→ Proceed toline can only go one place, so the file overrides it." That wording assumes a line exists to be overridden — and forfinal-review.mdit does: three of its eight exits return bare, and the caller's footer is what serves them.confirm-trigger.mdhas no such exit. Every path routes, so any footer would name a step that never runs, and the step was left with nothing at all. That's the one shape with no documented form.Two rules added under
### Load Directive Format:→ On return, proceed as the reference directed.→ Return to caller.exits — never branches the reference routed itself. True already, unwritten, and what lets a reader over-apply a footer to all eight offinal-review's exits when it serves three.Applied to
workflow-discoveryStep 5. Behaviour is unchanged — the routing was always complete for anyone who read the reference; this makes it complete for someone who has just finished reading it.Swept for other instances
Only two other footerless load-steps exist:
workflow-specification-entryStep 4 — terminal (invokes the processing skill), correct as-is.workflow-bridgeStep 2 — a different shape: six conditional branches, each a bare Load, none carrying routing. Reads against the every-branch-routes rule, though each continuation ends by invoking a skill, which is terminal and may be legitimately exempt. Surfaced, not touched.Test plan
🤖 Generated with Claude Code
Stack