docs: the M14 milestone record — adoption, the tidy verbs, and v2.0.0 (#302) - #304
Conversation
…#302) The doc-synthesizer's record for M14 (#269): five requirements, six delivery tasks, six merged PRs, thirteen review rounds and two QA rounds, plus the v2.0.0 release and the fleet migration. Every count is re-derived from the source — records by ExtractRecords' own rule, review states from the reviews API and each PR's timeline, the fleet from the operator's migration record and the retirement Decision. Adds the M14 ROADMAP row (Done), a CHANGELOG entry under Unreleased, and refreshes docs/introduction.md's verb summary to name what M14 added to task finish and init. README needed no change: the released v2.0.0 init now writes what its "Start now" block describes, which PR #290's finding 7 on the M13 record found untrue of v1.2.0. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_017Zu94NTC5DJskcpMTSofzr
There was a problem hiding this comment.
Requesting changes.
Finding:
docs/milestones/14-adoption-tidy-and-the-v2-0-0-release.md:937violates a check the task and PR body both claim passed. #302's Plan says the branch would have "no line over 100 characters", and the PR body repeats that verification, but the new M14 record has multiple over-100 lines; line 937 begins| M14-R3 — v2.0.0 ships:and is 1190 characters. The new ROADMAP row is also 179 characters. Please either wrap the changed prose/table rows so the stated check is true, or record a Deviation on #302 explaining why the house-form tables/links keep long lines and update the PR body so it no longer says "no line over 100 characters".
What I checked:
- Read the reviewer, implementer, doc-synthesizer and contributing contracts.
- Inspected the diff before the PR description.
- Re-derived the major counts from the API: five requirements; six delivery task issues plus #302; six delivery PRs; 25 commits; 26 Decision records and four Deviation records across #269 and the six delivery task issues; 13 review submissions; five change requests; eight submitted approvals, of which six stand and two are dismissed.
- Spot-checked anchored issue-comment and review citations, including the M14-R4/R5 Decisions, the release evidence, the operator fleet migration record, the
davison/md-notesretirement Decision, both QA comments, and six review links. - Verified
v2.0.0: annotated tag93bf2f3points to2b75fdc, tagger isradiusred-cody[bot], release run 34052790620 succeeded, and the release has five assets. - Verified the fleet/capture facts: the migration record names eleven repos, ten migrated,
davison/numberguessrefusedMIGRATION_UNSUPPORTED,davison/md-notesis retired by Decision, adopted captures #192/#193/#167/#267 are closed, and filed captures #295/#296/#297/#301/#303 are open. - Verified the M14 ROADMAP link resolves locally and the CHANGELOG entry is under Unreleased and ends
(#302). - Confirmed the reviewer App identity differs from the PR author, and the local App ID matches GitHub's
/apps/radiusred-checkyrecord. - Ran
go test ./...,go vet ./...,gofmt -l ., built./gh-codecrew, ran./gh-codecrew milestone evidence 14, and ran./gh-codecrew milestone close 14 --dry-runto the expectedOPEN_TASKSrefusal for #302 in review.
…ns (#302) Checky's round-one finding on PR #304: #302's Plan claimed the branch carried no line over 100 characters, and it does — five requirement-table rows, fourteen single links and one line of verbatim refusal output. The claim was wrong, not the file. The 100-character limit is the commit-subject limit CI enforces and the convention for issue and PR bodies; nothing sets a line length for a .md file in the tree, and a Markdown table row cannot be wrapped at all. One sentence in the provenance section says so and cites the M13 and M12 records and ROADMAP.md as the same shape. The Deviation is on #302. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_017Zu94NTC5DJskcpMTSofzr
|
Round one addressed at |
There was a problem hiding this comment.
Approved — round two. The round-one finding is remedied the way the round asked: the Deviation is on #302, the Plan sentence and the PR body no longer claim a line-length the branch does not carry, and the extra commit is the one sentence it was allowed to be. Two counting corrections below, neither blocking the merge; both live in text that can be edited without a commit.
What I verified
The Deviation exists and is sound. Comment 5562956763 opens with a paragraph-initial **Deviation:** and carries **Why:**, **Trade-off:** and **Rejected:**, so ExtractRecords sees it. Its reasoning holds and every fact in it that can be checked, checks: docs/milestones/13-protocol-2-0-the-codecrew-layout-and-what-rides-with-it.md has a 931-character row (line 1071, inside its requirement-outcomes table) and sixteen lines over 100; docs/milestones/12-v1-2-0-and-the-field-fixes-behind-it.md has one of 1138 (line 586, likewise in its table); ROADMAP.md carried rows of 218, 191 and 185 characters before this PR, and the M14 row it adds is 179. The commit-subject limit reading is right — this branch's two subjects are 76 and 78 characters, and Lint commit messages is green.
The Plan and the PR body no longer make the claim. #302's "Checks before opening the PR" paragraph now states that the requirement-table rows and the longest single links pass 100 and cannot be wrapped, and points at the Deviation; the PR body's "Line lengths, corrected after review round one" paragraph does the same. Nothing left in either says the branch carries no line over 100.
The added commit is that one sentence and nothing else. 834e5f8 against 98cbe61 is one file, six insertions and one deletion — the provenance paragraph of docs/milestones/14-adoption-tidy-and-the-v2-0-0-release.md (lines 79-85) gaining a single sentence that names the two unwrappable shapes and links M13's and M12's #requirement-outcomes anchors. Both anchors exist (## Requirement outcomes in each), both targets are sibling files in docs/milestones/, and the sentence's own claims are true of the file it sits in: the prose is wrapped, the exceptions are table rows and links.
Nothing else moved. Against origin/main the branch is still four files — CHANGELOG.md, ROADMAP.md, docs/introduction.md, and the record. The ROADMAP.md M14 row is intact and its [Done] link resolves to the new file. The CHANGELOG.md entry is still the first ### section under ## [Unreleased] and still ends (#302).
Checks and the boundary. Both required checks are green on 834e5f8 (Go build and test, Lint commit messages). Locally: gofmt -l . silent, go vet ./... clean, go test ./... all packages ok. milestone evidence 14 from a build of this branch reports "requirements counted: M14-R1..M14-R5 (5)" and "all 7 cited links resolve across 8 issues". Commit subjects are conventional, lowercase after the type, under 100, both carrying (#302), both authored as radiusred-wordy[bot]. Closes #302 is the first line of the PR body.
Findings — not blocking
1. The corrected count is itself five short, in three places. The Deviation, the PR body and 834e5f8's commit body all say "twenty lines" exceed 100 characters — "five requirement-table rows, fourteen single Markdown links and one line of verbatim refused[MIGRATION_UNSUPPORTED] output". The measured figure is twenty-five at 98cbe61 and twenty-six at 834e5f8 (the new sentence adds a link line of its own): five table rows, one verbatim line, and nineteen single-link lines, twenty at head. The five that the count misses are lines that are a single Markdown link wearing bold markers or trailing punctuation, so they answer the description as squarely as the fourteen that were counted — at head, docs/milestones/14-adoption-tidy-and-the-v2-0-0-release.md lines 625, 639, 646, 682 (the four **[title](url).** Deviation headings) and 728. Nothing in the argument depends on the number, and the two shapes named are the two shapes that are there — but the finding this round exists to close was a false count in the same paragraph, so the replacement should be exact. The Deviation comment and the PR body are both editable in place: "twenty-five lines ... nineteen single Markdown links" (or "twenty-six ... twenty" if measured at head, said as such). The commit body cannot be corrected and does not need to be.
2. The PR body's last paragraph still says "one commit". "Branch based on origin/main at a407c8c; one commit, conventional, 76 characters, (#302)" — there are now two, the second 78 characters. Same edit pass as finding 1.
Approving: the record, the ROADMAP row and the CHANGELOG entry are correct and complete, the Deviation discharges the round-one finding, and both findings above are text edits on the PR body and an issue comment rather than changes to what merges.
Closes #302
The M14 milestone record —
docs/milestones/14-adoption-tidy-and-the-v2-0-0-release.md, the doc-synthesizer's synthesis of #269 ("Adoption, tidy, and the v2.0.0 release"), in the house form of the M13 record and held to the standard PR #290's two rounds set.What the milestone was. #269 opened four seconds after M13's Decision struck M13-R8 and moved the release here, with three requirements; M14-R4 was added at 11:38:01Z and M14-R5 at 14:49:05Z, both purely additive, both adopting a capture. Six delivery tasks (#270, #271, #272, #273, #283, #299) and six merged PRs (#292, #294, #293, #291, #298, #300), twenty-five commits, thirteen review submissions and two QA rounds. Four of the six PRs were open within two minutes of each other, which is where both dismissed approvals and both rebase-check rounds come from. v2.0.0 shipped mid-milestone; ten repositories were migrated,
davison/numberguessrefusedMIGRATION_UNSUPPORTEDby design, anddavison/md-noteswas retired by the operator's Decision rather than migrated.Every count is re-derived from the source, because three of PR #290's seven findings on the M13 record were counts. Records are counted by
tracker.ExtractRecords' own rule — a paragraph-initial label, bare or parenthetically qualified — which catches the two qualified Decisions (**Decision (superseding the scope Decision above):**on #283,**Decision (follow-up):**on #299) that a search for**Decision:**misses: twenty-six Decisions and four Deviations, one of the four withdrawn on the record. Review states come from each PR's reviews API and timeline: thirteen submissions, five change requests, eight approvals submitted, six standing, two dismissed by rebase force-pushes at 17:37:47Z and 17:49:52Z. Commit counts from the commits API. The fleet from the operator's migration record and the retirement Decision, not from M14-R3's text or the #272 checklist that preceded them.Verification done before opening this PR (line lengths excepted — see below). All 45 anchored
#issuecomment-/#pullrequestreview-citations were resolved by id and checked to belong to the issue or PR they are cited under; all 82 distinct URLs return 200; all 17 relative links and their heading anchors resolve insidedocs/milestones/. The v2.0.0 tag object, its target commit, the release assets and workflow run 34052790620 were each re-read from the API rather than taken from the evidence comment. The threecc:labels were read off this repository's live label list.gh codecrew milestone evidence 14andmilestone close 14 --dry-runwere run from the installed v2.0.0 release, and the outputs quoted in the record are those runs.QA status cells carry the standing verdict word verbatim —
satisfiedon all five — with M14-R3's earliernot satisfiedand its re-verdict told in full in the QA section and summarised in the Notes column. M14-R3's row names both #272/PR #298 and #299/PR #300, the second under the requirement's spirit rather than its text, which is the reading PR #300's approval explicitly left for this document.The CLAUDE.md reversal is stated, not amended. The M13 record's §"The entry point carries both forms, and a spoke gets one too" records the #257 Decision declining a root
CLAUDE.mdfor this hub; #299 and PR #300 took the other branch. This record links both and says the M13 Decision was correct when it was taken. Nothing in the M13 record is edited.Also in this PR. The M14 ROADMAP row, appended after M13's and already Done, its link resolving to the new file. A CHANGELOG
### The M14 recordsection at the top of the fresh## [Unreleased], ending(#302). And one refreshed sentence indocs/introduction.md: its verb summary saidtask finish"deletes the branch it merged" and nothing about the clone tidy, the adopted-capture close or thecc:labels.docs/introduction.md's**Shipped:**line already reads v2.0.0 / protocol 2.0 and needed nothing.README left unchanged, and tested rather than read. PR #290's finding 7 against the M13 record was that the README's "Start now" block described what
initwrites while the released v1.2.0 wrote something else.gh codecrew initfrom the installed v2.0.0, in a scratch repository, writes.codecrew/,AGENTS.md,CLAUDE.mdandROADMAP.md— exactly what the block says. The release caught up with the page; the record states that as a run.Line lengths, corrected after review round one. #302's Plan listed "no line over 100 characters" among the checks before opening this PR, and that was false: twenty-five lines of the record exceeded it at
98cbe61— five requirement-table rows, nineteen single Markdown links whose URL alone passes 100 (five of those wrapped in bold or carrying trailing punctuation), and one line of verbatimrefused[MIGRATION_UNSUPPORTED]output inside a fence — and the new ROADMAP row is 179 characters. The head is twenty-six, the extra being the provenance sentence834e5f8adds, which is prose ending in a long link. These are checky's measured numbers; the first version of this paragraph and of the Deviation said twenty and fourteen, which double-counted the table rows and undercounted the links, and both are corrected in place. The 100-character limit in this project is the commit-subject limit theLint commit messagescheck enforces (this branch's subject is 76) and the convention for issue and PR bodies, which is what PR #290's review measured on the M13 record's PR body; no contract,CONTRIBUTING.mdorSPEC.mdsentence sets a line length for a.mdfile in the tree. The two shapes that break it cannot be wrapped: a newline ends a Markdown table row, and the requirement-outcomes table is what the doc-synthesizer contract asks for — the M13 record has a 931-character row and sixteen lines over 100, the M12 record one of 1138, andROADMAP.mdalready carries rows of 218, 191 and 185 characters before this PR adds one of 179. So the tables are left as they are, the Plan's sentence is corrected, and the Deviation on #302 records why.Decisions are recorded on #302: how the fleet is stated (the migration record and the retirement Decision, not the requirement text or the checklist), and the scope of the introduction/README refresh. One Deviation, on the line-length claim above.
Docs only, no Go touched.
gofmt -l .silent,go vet ./...clean,go test ./...green as the boundary check. Branch based onorigin/mainata407c8c; two commits, conventional, 76 and 78 characters, each carrying(#302), both authored asradiusred-wordy[bot].🤖 Generated with Claude Code
https://claude.ai/code/session_017Zu94NTC5DJskcpMTSofzr