Skip to content

docs(prompts): renumber ui-library prompt sections 1,3,4,5 to 1,2,3,4 - #9421

Merged
baozhoutao merged 1 commit into
mainfrom
claude/issue-9319-ui-library-prompt-numbering
Sep 13, 2026
Merged

baozhoutao merged 1 commit into
mainfrom
claude/issue-9319-ui-library-prompt-numbering

Conversation

@baozhoutao

Copy link
Copy Markdown
Contributor

Fixes #9319

.github/prompts/ui-library.prompt.md numbered its sections 1, 3, 4, 5. Before renumbering anything, the card's real question had to be answered: was ## 2 deleted, or was it never written? Those have different correct repairs.

Answer: ## 2 was NEVER WRITTEN. Settling commit: 4e7737788

The 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 read 1, 3, 4, 5 in 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 C category to restore." The two sibling prompts born in that same commit are numbered contiguously (component.prompt.md 0-4, engine.prompt.md 1-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 ## 2 ever added or removed on this path, on any ref?

git log --all --oneline -S '## 2' --pickaxe-regex -- .github/prompts/ui-library.prompt.md   # 0 commits
git log --all --oneline -S '## 3' --pickaxe-regex -- .github/prompts/ui-library.prompt.md   # 1 commit  <- CONTROL HITS

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?

git grep -l 'Core Philosophy' 4e7737788b^ -- .github/prompts/   # 0 files
git grep -l 'Shadcn'          4e7737788b^ -- .github/prompts/   # 9 files  <- CONTROL HITS

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.

pre post
headings (matched lines printed in-run) 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
numbered list lines ^[0-9]+\. (must not move) 7 7

The equal leg (7 = 7) is the guard that the edit touched headings only; git diff is 3 insertions / 3 deletions, all ^## lines.

Leg 4 — does anything CITE these section numbers? Three populations, three controls, all zero:

grep -rn '§' .github/prompts/                    # 5 occurrences, NONE pointing at this file
grep -n '§E of `component.prompt.md`' .github/prompts/engine.prompt.md   # 1  <- CONTROL HITS

All five § cross-references in the prompt surface point at component.prompt.md (§2.A, §B, §E). This control matters because objectui#9145 had to move exactly such a reference (§F to §E) when it renumbered — so cross-refs demonstrably exist here.

git grep -c '3-component-standards' -- .   # 0 files  (and #4-development-workflow, #5-visual-standards, #1-core-philosophy: 0)
git grep -l '#development-workflow' -- .   # 2 files  <- CONTROL HITS

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.

git grep -in 'ui-library' -- . | grep -icE 'section|§|#[0-9]'   # 0

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 cites ui-library 0 times (control: component.prompt 18 times in the same file). So the renumbering moves no assertion.

Checks run before pushing (exit codes captured before any pipe)

check pre post
check:prompt-keys 0 0 — 29 ### X. headings across 8 letter runs, all contiguous
check:control-bytes 0 0 — 7585 tracked text files
docs:check-links 0 — links valid across 17 scan roots
check:doc-fences 0 0
check-changeset-presence.mjs 0 0 — no changeset owed
the 4 test suites above 0 — 4 files, 187 tests passed

node scripts/check-governed-queue-guard.mjs --test .github/prompts/ui-library.prompt.md said: NOT GOVERNED — 1 path checked against 5 governed surfaces; none matched. An ordinary pull request. (Measured, not assumed.)

Notes for the reviewer

  • The changeset uses empty frontmatter — the repo's first-class "no release" declaration (472 existing changesets use it), and check-changeset-presence.mjs confirms no changeset is owed. It exists to record the measurement durably.
  • Not done, deliberately: the file's stray double blank line before the renumbered Component Standards heading is untouched (whitespace, not numbering), and no ## N. sequence check was added to check: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 at 0 in component.prompt.md and 1 in engine.prompt.md), so it is not a rider on this card.
  • check:doc-links as named in the dispatch does not exist; the link gate is spelled docs:check-links. Ran that.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FhBNJcLRZLe8M87VcUgpKr


Generated by Claude Code

`.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
@baozhoutao baozhoutao changed the title docs(prompts): renumber ui-library prompt sections 1,3,4,5 -> 1,2,3,4 docs(prompts): renumber ui-library prompt sections 1,3,4,5 to 1,2,3,4 Sep 13, 2026
@claude

claude Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

PM pre-merge probe — domain:devx @ objectui seat (#5748)

⚠️ Posted BEFORE the merge, deliberately. A probe published after landing is a report; published before, it is a prediction that can be falsified. Every value below was re-taken by this seat on the ACTUAL current base, ⛔ not copied from the dev's report and ⛔ not from the base this PR records.

⛔ ERRATA 62b — the base MOVED under this PR while it was in review

sha
base this PR records cb725e78fb
ACTUAL origin/main at probe time 136c8842d6
what moved it 136c8842d6test(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.

⚠️ The final merge parent will be whatever the queue puts in front of it, which is ⛔ not knowable now. I re-confirm against the actual <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 is 40fcd145ff — 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, 4e7737788bHITS, 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

@baozhoutao
baozhoutao marked this pull request as ready for review September 13, 2026 18:47
@baozhoutao
baozhoutao added this pull request to the merge queue Sep 13, 2026
Merged via the queue into main with commit 0a6372e Sep 13, 2026
36 checks passed
@baozhoutao
baozhoutao deleted the claude/issue-9319-ui-library-prompt-numbering branch September 13, 2026 19:05
@claude

claude Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

✅ LANDED — 0a6372e3a9

Merged through the queue at 2026-09-13T19:05:53Z. Timeline, the actual instrument rather than any tool's echo: added_to_merge_queue 18:47:34Z → removed_from_merge_queue 19:05:52Z → merged 19:05:53Z.

⛔ ERRATA 62b — re-confirmed against the ACTUAL <merge>^, and this time it did NOT bite

merge commit : 0a6372e3a9  docs(prompts): renumber ui-library prompt sections 1,3,4,5 -> 1,2,3,4 (#9421)
<merge>^     : 63fb72c421  fix(types)!: retire the published `layout` from RecordDetailsComponentProps (#9416)

⚠️ The base moved THREE times while this PR was opencb725e78fb (recorded on the PR) → 136c8842d6 (#9419) → 63fb72c421 (#9416, which jumped the queue ahead of this PR). The pre-values in the pre-merge probe #issuecomment-5655316248 were taken on 136c8842d6, and I re-took them again on 63fb72c421 before the merge.

<merge>^ is 63fb72c421 — the base of that final re-take. So the published pre-values are correct, ⛔ but only because they were re-taken after each advance; both earlier bases would have been the wrong parent to cite. This is the eleventh-and-twelfth firing of this erratum today, and the first time the discipline visibly earned its cost rather than caught an error after the fact.

The probe, re-run once more on <merge>^ = 63fb72c421 and on main as it now stands

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:

  1. 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).
  2. No ## N. sequence check was added to check: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 at 0 (component.prompt.md) and at 1 (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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

.github/prompts/ui-library.prompt.md: the section numbering skips ## 2.

2 participants