docs(prompts): renumber ui-library prompt sections 1,3,4,5 to 1,2,3,4 - #9421
Conversation
`.github/prompts/ui-library.prompt.md` numbered its sections `1, 3, 4, 5`. To an AI author reading the file as authoritative, a skipped number says a section was dropped, and nothing in the file said whether that was true. It was not dropped. The file has exactly one commit in its history, 4e77377, and there it is a pure creation (`new file mode`, `@@ -0,0 +1,66 @@`, zero deletion lines); the headings have read `1, 3, 4, 5` since that commit and never anything else. A pickaxe for a `## 2` heading over this path across every ref returns no commit, while the same pickaxe for `## 3` returns the creating commit. The file is not a condensation of any of the 17 prompt files that commit deleted either: none contained "Core Philosophy", where a control phrase hit nine. So no section is missing and none is added -- the same finding and repair objectui#9145 reached for this file family's letter runs. Nothing cites these numbers: the five section cross-references under .github/prompts/** all point at component.prompt.md, no tracked text carries the heading anchor slugs, and check:prompt-keys uses the number only as a label (objectui#9145 scoped the `## N.` numbers out of what it judges). Only the heading lines move; the file's seven numbered list items are untouched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FhBNJcLRZLe8M87VcUgpKr
PM pre-merge probe —
|
| sha | |
|---|---|
| base this PR records | cb725e78fb |
ACTUAL origin/main at probe time |
136c8842d6 |
| what moved it | 136c8842d6 — test(app-shell): pin the permission door's draft unwrap against read decorations (#9419) |
⭐ Measured, not assumed: git diff cb725e78fb 136c8842d6 -- .github/prompts/ui-library.prompt.md is EMPTY — the base advance does not touch the subject file, so the pre-values below are unchanged by it. git merge-tree against the new base yields 0 conflict markers.
<merge>^ in the LANDED note.
The legs — every count names its population, every zero carries a control that HITS
Leg 1 — was a ## 2 heading ever added or removed on this path, on ANY ref?
Population: commits on any ref whose diff changes the count of that heading string in .github/prompts/ui-library.prompt.md.
-S '## 2'→ the ONLY commit is40fcd145ff— this PR's own fix. ⛔ Not a falsification: the search now sees the branch because the branch is pushed. No pre-existing commit touches it.- CONTROL
-S '## 3'→ 1 commit,4e7737788b— HITS, so the search would have found a deletion had one happened. - NONSENSE control
-S '## 97'→ 0.
Leg 2 — is the creating commit a pure add? 4e7737788b, the file's only pre-existing commit: new file mode 100644, hunk @@ -0,0 +1,66 @@, and deletion content lines = 0 (counted, printed). ⇒ the headings read 1, 3, 4, 5 at birth. Nothing was removed, so ## 2 was NEVER WRITTEN — it was not deleted. That is the whole question this card turned on, and it is what makes renumbering the correct repair rather than the evidence-destroying one.
Leg 3 — the headings, BOTH SIDES, MATCHED LINES PRINTED (pre = 136c8842d6, post = 40fcd145ff):
| pre | post | |
|---|---|---|
^## matched lines |
1. Core Philosophy · 3. Component Standards · 4. Development Workflow · 5. Visual Standards |
1. Core Philosophy · 2. Component Standards · 3. Development Workflow · 4. Visual Standards |
^## 2\. |
0 | 1 |
^## 5\. |
1 | 0 |
NONSENSE ^## 9\. |
0 | — |
⭐ The equal-on-both-sides leg carries its printed guard, per this seat's standing rule: numbered LIST items ^[0-9]+\. = 7 pre and 7 post. Equal — which is the point: it proves the edit moved headings only and left the file's numbered content untouched. (Guard is non-empty: 7, ⛔ not the empty-string hash e3b0c44298fc1c14.)
Diff is 3 insertions / 3 deletions, every one a ^## line.
CI on 40fcd145ff
34 check runs, non-green = NONE. All 9 required contexts at success, enumerated rather than summarised: Lint · Type Check · Build & E2E · Test (shard 1/4) · Test (shard 2/4) · Test (shard 3/4) · Test (shard 4/4) · Build Docs · Changeset Declaration.
Governed Surface Queue Guard: success — and it ran while this PR was still a draft. ⭐ That retires a wrong note this seat has been carrying: I had recorded the guard as added by the draft→ready flip. Measured across 4/4 open drafts in this lane (this PR, #9410, #9391, #9389), it is present and green on every one of them before any flip; nonsense control Governed Surface Queue Guardd absent. ⇒ the governed verdict is readable before the flip, not after. The PR is correctly NOT GOVERNED (.github/prompts/** matches none of the 5 governed surfaces).
What I did NOT verify
⛔ I did not re-run the repo's test suites locally; I read CI's verdict. ⛔ I did not independently re-derive the dev's leg-5 claim about which 4 test suites read this file from scripts/markdown-test-inputs.mjs — CI's green on those suites is the evidence I am relying on there, and it is weaker than a direct reading.
⇒ Flipping ready and enqueueing.
Generated by Claude Code
✅ LANDED —
|
pre (63fb72c421) |
post (0a6372e3a9, on main) |
|
|---|---|---|
^## matched lines |
1. Core Philosophy · 3. Component Standards · 4. Development Workflow · 5. Visual Standards |
1. Core Philosophy · 2. Component Standards · 3. Development Workflow · 4. Visual Standards |
^## 2\. |
0 | 1 |
^## 5\. |
1 | 0 |
guard — numbered LIST items ^[0-9]+\. |
7 | 7 |
NONSENSE control ^## 9\. |
— | 0 |
The guard is equal on both sides by design and carries its printed matched lines above: it proves the edit moved headings only. The merge diff is .changeset/9319-… (+34) and the prompt file (+3/−3), every one of the three changed lines a ^## heading.
What this card actually settled
⭐ The visible defect was trivial — headings running 1, 3, 4, 5. The card's real question was 「was ## 2 DELETED, or NEVER WRITTEN?」, and those have different correct repairs: renumbering restores an intended sequence in the first case and destroys the evidence of something absent in the second.
Measured: 4e7737788b is the file's only pre-existing commit and is a pure creation — new file mode, @@ -0,0 +1,66 @@, 0 deletion lines. The headings read 1, 3, 4, 5 at birth. ⇒ NEVER WRITTEN. Nothing is absent, so renumbering erases no evidence and is the correct repair. Controls: pickaxe ## 3 → 1 commit (HITS); nonsense ## 97 → 0.
Nothing cites the numbers — measured three ways, each with a control that hit, and the load-bearing one is that objectui#9145 had to move a §F→§E reference when it renumbered this same file family, so such citations demonstrably exist on this surface and this sweep would have found them.
⭐ A note this seat owes the record, because it corrects ITSELF
Governed Surface Queue Guard ran green on this PR while it was still a DRAFT. I had been carrying a note that the draft→ready flip is what ADDS that check — that note was wrong and is retracted. Measured across 4/4 open drafts in this lane at the time (this PR, objectui#9410, objectui#9391, objectui#9389): present and green on every one, nonsense control Governed Surface Queue Guardd absent. ⇒ the governed verdict is readable before the flip. This PR was correctly NOT GOVERNED — .github/prompts/** matches none of the five governed surfaces.
Deliberately not done, and still open
The dev left two things undone on purpose and said so; ⛔ neither is a defect in this PR:
- The file's stray double blank line at the old section-2 seam — whitespace, not numbering, and authoring residue rather than a deletion scar (the creating commit added it that way).
- No
## N.sequence check was added tocheck:prompt-keys. objectui#9145 pinned the letter runs so that gap could not reopen and scoped the numbers out by name; this card is that unclosed half reopening.⚠️ A sequence gate is a real candidate but needs a maintainer call, because legitimate runs start at0(component.prompt.md) and at1(engine.prompt.md), so 「contiguous from 1」 would red a correct file. ⛔ Not a rider on this card.
Also corrected in passing, ⛔ not a repo defect: this seat's dispatch named a gate check:doc-links that does not exist — the link gate is spelled docs:check-links. The dev ran the real one (exit 0) rather than reporting a gate they had not run.
Generated by Claude Code
Fixes #9319
.github/prompts/ui-library.prompt.mdnumbered its sections1, 3, 4, 5. Before renumbering anything, the card's real question had to be answered: was## 2deleted, or was it never written? Those have different correct repairs.Answer:
## 2was NEVER WRITTEN. Settling commit:4e7737788The file has exactly one commit in its entire history, and there it is a pure creation —
new file mode,@@ -0,0 +1,66 @@, zero deletion lines. The headings read1, 3, 4, 5in that first commit and have never read anything else. So the gap records nothing absent, there is no section 2 to restore, and none is added.This is the same finding, and the same repair, that objectui#9145 reached for this file family's letter runs: "It was not dropped... there is no
Ccategory to restore." The two sibling prompts born in that same commit are numbered contiguously (component.prompt.md0-4,engine.prompt.md1-7); only this file skipped — what a hand-numbering slip looks like.Probe block — every count names its population; every zero carries a control that HITS
All legs read the document as text (the subject is markdown headings; a code-only reader would score this change as a no-op). Ref named per leg.
Leg 1 — was a
## 2ever added or removed on this path, on any ref?Population: commits on any ref whose diff changes the count of that heading string in that path.
## 2= 0; control## 3= 1 (4e7737788). The search would have found a deletion had one happened.Leg 2 — is the file a condensation of one of the 17 prompt files that same commit deleted?
Population: prompt files existing at the parent commit. No predecessor carried this file's content, so nothing was carried over with a section dropped in transit.
Leg 3 — the headings themselves, pre and post, both COUNTED (ref
origin/main=fb4ec65daf, then worktree)Population: lines matching
^##in.github/prompts/ui-library.prompt.md.1. Core Philosophy/3. Component Standards/4. Development Workflow/5. Visual Standards1. Core Philosophy/2. Component Standards/3. Development Workflow/4. Visual Standards^## 2.^## 5.^[0-9]+\.(must not move)The equal leg (7 = 7) is the guard that the edit touched headings only;
git diffis 3 insertions / 3 deletions, all^##lines.Leg 4 — does anything CITE these section numbers? Three populations, three controls, all zero:
All five
§cross-references in the prompt surface point atcomponent.prompt.md(§2.A,§B,§E). This control matters because objectui#9145 had to move exactly such a reference (§Fto§E) when it renumbered — so cross-refs demonstrably exist here.Population: tracked text containing a GitHub heading-anchor slug (slugs embed the number). Anchor links exist in this repo; none point at this file's sections.
Population: tracked lines naming this file alongside a section reference.
Leg 5 — the machine readers. Per the repo's own registry
scripts/markdown-test-inputs.mjs, 4 test suites read this file:check-prompt-component-keys,check-installed-spec-pin-claims,ci-cd-pipeline-doc,dollar-dialect-alias-census. Running the gate's scanner directly shows it parses this file's 4## N.sections and validates the### A./B./C.run under Component Standards — but it uses the section number only as an error label, and objectui#9145 scoped it explicitly: "the## N.numbers themselves are a different claim and are not judged." The gate's test suite citesui-library0 times (control:component.prompt18 times in the same file). So the renumbering moves no assertion.Checks run before pushing (exit codes captured before any pipe)
check:prompt-keys### X.headings across 8 letter runs, all contiguouscheck:control-bytesdocs:check-linkscheck:doc-fencescheck-changeset-presence.mjsnode scripts/check-governed-queue-guard.mjs --test .github/prompts/ui-library.prompt.mdsaid:NOT GOVERNED— 1 path checked against 5 governed surfaces; none matched. An ordinary pull request. (Measured, not assumed.)Notes for the reviewer
check-changeset-presence.mjsconfirms no changeset is owed. It exists to record the measurement durably.## N.sequence check was added tocheck:prompt-keys. objectui#9145 pinned the letters so the gap could not reopen; the numbers remain unpinned by its own explicit scoping. Pinning them is a real follow-up but needs a maintainer decision (runs legitimately start at0incomponent.prompt.mdand1inengine.prompt.md), so it is not a rider on this card.check:doc-linksas named in the dispatch does not exist; the link gate is spelleddocs:check-links. Ran that.🤖 Generated with Claude Code
https://claude.ai/code/session_01FhBNJcLRZLe8M87VcUgpKr
Generated by Claude Code