spec: 009 Phase 1 — the task list, and the three places the corpus had moved - #114
Merged
Conversation
…ad moved 009's requirements and design were approved 2026-08-03. Spec 010 completed 2026-08-22 and moved the tree underneath them, so this list opens with errata (§2, nine items measured 2026-08-23) rather than with planning. Two of the nine change what someone would do: - SUMMARY.md already has a `## Get Started` section and it is not ours. 010 built it as section 1, holding WhyBrighter / BasicConcepts / ShowMeTheCode. Design's Before shows `## Overview` and its After creates the section; neither describes the file. §2.1 settles it — the five entries join the existing section, ladder above the orientation pages. Free: slugs are filename-derived, so re-ordering inside a section moves no URL, and S2 goes 3 to 8 of 12. - A sample under samples/ is not necessarily built by Brighter's CI. CI runs `dotnet build` at the root, which resolves to Brighter.slnx; the solution names 109 sample .csproj and there are 110 on disk. TodoApi is in the directory, not in the build. That premise is the whole case for the CLAUDE.md samples exception and it is stated in three places, all resting on one unexamined assumption. AC4's check is now presence in Brighter.slnx plus a green run naming the projects. Also measured: all five D12 glossary terms are still absent, the twelve present anchors still resolve (design's line numbers for them are stale), `#dispatcher` is unblocked since 011 merged the duplicate, `Tutorial` is a page type no page in 142 has ever used, and every Brighter source citation in the design still holds line-exact 140 commits on — while all eight of its Docs-side page lengths have moved. One sequencing change: versioncheck.py moves from design's step 6 to Phase 4, immediately after rung 1, so its first CI run scans a real page and finds a real pin instead of passing vacuously for several phases. Reviewed 2026-08-24; four findings applied. The total moved 38 to 39 — Task 3.5 was added for a CLAUDE.md entry design asked for in a paragraph that no box covered. Both counting methods re-derived afterwards, not incremented, and they disagreed by one until the phase table was corrected too. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
§2.4 said reporting TodoApi upstream was out of scope. Raised at the maintainer's direction instead: Brighter#4272 for the defect, #4274 fixing it (five lines of Brighter.slnx — the sample builds clean, so nothing was keeping it out), #4273 for a CI guard that fails the build when any .csproj is unreferenced. None is a 009 deliverable and no phase blocks on them. Two things the guard work turned up, both recorded because each cost a wrong answer first: - Compare against `git ls-files`, not `find`. `find` reads the working filesystem, so on a case-insensitive macOS checkout it reports src/Paramore.Brighter.MessageScheduler.Aws where the repository and Linux CI both have .AWS. That phantom mismatch was nearly published as a second finding in a public issue. - Brighter's master is currently red on one net10.0 test in Transforms.Adaptors.Tests, unrelated to any of this. Task 5.3 now says to read which check failed before concluding anything about your own sample — the assumption that a red master implicated my change was wrong, and so was the earlier assumption that a green one proved coverage. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…isleads Task 1.2 asked for dated pointers at the two places in design.md a writer would be misled by. There were three. The third is § D2's "do not link before it lands" about #dispatcher: 011 merged the duplicates, so it is the only sentence in the document telling a writer not to do something that is now safe — the phase preamble's own criterion for a permitted pointer. Task 6.1 already carried the correction, which is why the task said two: the writer following the task list was never at risk, the writer following design § D2 — Task 6.1's stated Input — was. The D12 pointer sits below the anchor table AND its Confirmed-present list, because the stale line numbers §2.2 corrects are in the list. Task 1.3: #67 OPEN, unchanged since 2026-08-03, no reply from the issue author. PR #72 checked too, since that is the other place pushback was invited: merged, zero reviews. Both flagged positions are unchallenged rather than endorsed, and nothing obliges a change of shape. README § Next Steps marked spent — three resolved items sitting under a checklist that contradicts them, one of them calling the ladder three rungs. Marked, not deleted, on §2's principle that stale text dates itself. Totals re-derived, not incremented: 39 tasks, 3 done, 36 open. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Spec 009's Phase 1: the plan ratified, the corpus re-measured, #67 re-checked. Three tasks, all three now ticked. No page under
contents/is touched, so nothing here changes the published site.What lands
tasks.md— 39 tasks across 12 phases, reviewed and approved 2026-08-24. Its §2 is errata: nine items re-measured 2026-08-23 against a corpus Spec 010 moved after 009 was approved.design.mdat the places a writer would be misled. Pointers only — the stale blocks stay as evidence of when they were written.The two premises that had moved
SUMMARY.mdalready has a## Get Startedsection, and it is not ours. 010 built it as section 1. Design's Before and After describe neither the old tree nor the new one. Settled: the five entries join the existing section. Free — slugs are filename-derived, so re-ordering inside a section moves no URL, and S2 goes 3 → 8 of 12.samples/is not necessarily built by Brighter's CI.Brighter.slnxnamed 109 sample.csprojagainst 110 on disk. That premise is stated in three places —CLAUDE.md's exception, 009's README, AC4 — and all three trace to one unexamined assumption. AC4's check became presence in the solution plus a green run naming the projects, never presence in the directory.Task 1.2 asked for two pointers and there were three
The third is design § D2's "do not link before it lands" about
#dispatcher. Spec 011 merged the duplicate definitions, so it is the only sentence in the document instructing a writer not to do something that is now safe. Task 6.1 already carried the correction — which is why the task was written as two — but design § D2 is Task 6.1's own stated Input.A count inside a task body is a claim about the corpus like any other.
Task 1.3 — #67 and #72
#67 is OPEN, two comments, unchanged since 2026-08-03, no reply from the issue author. PR #72 was checked too, because that is the other place pushback was invited: merged, one comment (ours), zero reviews. The two positions flagged for pushback — Diátaxis as an authoring discipline, and the prose-vs-generated reference distinction — are unchallenged rather than endorsed. Nothing obliges a change of shape.
Gates
The
--changedrun reached 0 code blocks, and its scope line says so. That is the correct result for a prose-only change outsidecontents/, not a pass to lean on.Next: Phase 2, the five missing glossary terms, which gates rungs 3 and 4.
🤖 Generated with Claude Code