story-044: The documenter records what it changed - #42
Merged
Conversation
Implemented by the l5 harness story workflow.
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.
Every stage that writes to the repository declared a
changed_filesrecord — except the documenter. It was the least constrained stage in the workflow and the only one whose effect on the repository nothing recorded.Three checks read a stage's record and therefore skipped it entirely: blocked paths, stage-output ownership, and the freshness check that holds a required artifact to this attempt. The documenter could have edited
orchestration/story_coordinator.pyand nothing would have noticed.What changed
Named for the stage, following
changed-files.jsonandtester-changed-files.json, and satisfying the same schema.prompts/documenter.mdasks for it the way the other writing stages' prompts do.Why it matters beyond the record itself
It has already cost something. story-043's documenter wrote a sentence naming a module that story deleted,
ARCHITECTURE.mdfailed story-038's dangling-path rule, and all three CI jobs went red on a run that reportedstory completed. Nothing could attribute the breakage, because nothing recorded that the documenter had written anything.Seven consecutive stories — 034, 037, 039, 040, 041, 042, 043 — carry a verifier note saying the documenter's file could not be judged because the documenter had not run yet.
This story does not close that gap;
the-documenter-runs-before-verificationdoes. What it provides is the attribution that story needs: with a record, a clean-clone failure whose paths fall under the documenter can be routed to the documenter rather than guessed at.Scope held deliberately
Confinement was considered and left out.
may_not_createsays "not under this prefix"; there is no "only under this prefix", so confining the documenter to documentation would mean inventing a declaration form. The record makes misbehaviour visible, which is what the queued stories need, and the only misbehaviour observed so far is a stale filename.Verification
2327 passed, 11 written; verification passed on the first iteration, no retries; clean-clone green with the story committedtests/were permitted by the revert check — the suite fails with them revertedOne note for the reviewer
The verifier flagged that
ARCHITECTURE.mdstill said "The documenter declares no record and is intentionally unchecked; enabling it later is a one-line workflow change" — true when written, false as of this story, and assigned to the documenter stage which runs after the verifier. The documenter did correct it. That it worked is luck rather than construction, and it is exactly what the next story makes structural.🤖 Generated with Claude Code