docs: let git do the tracking — no PR numbers, merge states or own commit hashes in the docs #73

Merged
bjoern merged 1 commit from docs/no-pr-numbers into main 2026-10-03 10:52:38 +02:00
Member

Removes every self-reference that is only known once a PR is open, because each one forced a follow-up "this PR's number" push on almost every branch.

  • AGENTS.md gets a new section, Let git do the tracking: do not invent a tracking mechanism that git history already provides. Docs, comments and test records name no PR or issue numbers, no merge state and no commit hashes of their own changes. Everything a change writes about itself lands in the branch's own commits.
  • ADRs: amendments now read **Amended YYYY-MM-DD (topic):**, with the topic in the plan's words. Status lines name no PR. The prose that cited a PR now names the slice or amendment it meant (slice 8a's live check, "the Phase 2 decisions' clause", the library PRs by subject).
  • adr/README.md states the amendment convention and is the only place that lists each ADR's status. ARCHITECTURE.md and PROJECT_PLAN.md link to it instead of repeating it (ARCHITECTURE had already drifted: it was missing ADR 0031).
  • PROJECT_PLAN.md: slices drop their PR numbers, "(merged)" notes and submodule hashes. A built slice is ticked ✅ in its own change, the same way the phases are marked.
  • Code and test comments, MANUAL-MATRIX: their PR numbers are replaced with what they referred to.

Not touched: commit messages (they are git history), third-party issue numbers (ProseMirror #8493), and the amendment dates.

🤖 Generated with Claude Code

Removes every self-reference that is only known once a PR is open, because each one forced a follow-up "this PR's number" push on almost every branch. - **AGENTS.md** gets a new section, *Let git do the tracking*: do not invent a tracking mechanism that git history already provides. Docs, comments and test records name no PR or issue numbers, no merge state and no commit hashes of their own changes. Everything a change writes about itself lands in the branch's own commits. - **ADRs**: amendments now read `**Amended YYYY-MM-DD (topic):**`, with the topic in the plan's words. Status lines name no PR. The prose that cited a PR now names the slice or amendment it meant (slice 8a's live check, "the Phase 2 decisions' clause", the library PRs by subject). - **adr/README.md** states the amendment convention and is the only place that lists each ADR's status. ARCHITECTURE.md and PROJECT_PLAN.md link to it instead of repeating it (ARCHITECTURE had already drifted: it was missing ADR 0031). - **PROJECT_PLAN.md**: slices drop their PR numbers, "(merged)" notes and submodule hashes. A built slice is ticked ✅ in its own change, the same way the phases are marked. - **Code and test comments, MANUAL-MATRIX**: their PR numbers are replaced with what they referred to. Not touched: commit messages (they *are* git history), third-party issue numbers (ProseMirror #8493), and the amendment dates. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
docs: let git do the tracking — no PR numbers, merge states or own commit hashes in the docs
Some checks failed
CI / build (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / editor-browsers (pull_request) Has been cancelled
93f1219ed0
ADR amendments read "Amended <date> (<topic>)"; status lines, the ADR index, the overview and the
plan name no PR; the plan ticks its built slices instead; ARCHITECTURE and PROJECT_PLAN point at the
ADR index for status rather than repeating it. AGENTS.md gains the rule: do not invent a tracking
mechanism git history already provides. Code comments and the manual matrix drop their PR numbers too.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
bjoern force-pushed docs/no-pr-numbers from 93f1219ed0
Some checks failed
CI / build (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / editor-browsers (pull_request) Has been cancelled
to b132533d2c
Some checks failed
CI / build (pull_request) Successful in 46s
CI / editor-browsers (pull_request) Successful in 1m9s
CI / test (pull_request) Failing after 2m6s
2026-10-03 10:38:09 +02:00
Compare
Member

🔮 fufu~ Jibril reviewed your code!

Oh? A PR that deletes its own species~? Forty files, +236/−225, and every single change erases a PR number, a merge state or a commit hash that git was already keeping track of anyway. You're evicting the bystanders from the docs and letting git log do its job... fufu, that's tidy. I read every one of the forty diffs in full, then went hunting for survivors. Shall I tell you what I found? ♡

Verdict: ✅ Looks good to me~

🔍 What I actually checked (all of it, mechanically)

  • The rule itself (AGENTS.md) — Let git do the tracking is precise where it needs to be: "no PR or issue numbers, no merge state and no commit hashes of their own changes." The qualifier is load-bearing and it's there. The AGENTS.md's remaining "PR" mentions are workflow prose (push → PR → merge), not tracking references — no self-contradiction. The amendment convention (**Amended YYYY-MM-DD (topic):**) is stated once in adr/README.md and referenced from AGENTS.md. Clean.
  • All 40 diffs are the uniform (PR #N, topic) → (topic) transform — plus a handful of true rewrites, and I grounded every one of them: StoryShell.razor:140's "Kagaku.UI's NavItem" (the markup two lines below is literally <NavItem ...> ♪), the test comments' "layout vocabulary" (Kagaku.UI's own term — LayoutCss.cs: "the only public vocabulary", README: "the WPF-style layout vocabulary"), ADR 0017's "the Phase 2 decisions' clause" (that amendment carries exactly the quoted sentence), ADR 0018's "slice 8a's live check". Nothing rewritten into vagueness; every replacement names what it meant.
  • adr/README.md as the single status home — I cross-checked all 31 ADR files against the README: every ADR listed, every link resolves, every status agrees (Foundation *Accepted* per item; Product by the group sentence with — *Proposed* exactly on 0029/0030/0031, matching the files). And the drift the PR body brags about fixing was real — ARCHITECTURE.md had no ADR 0031 before this. ✓
  • Survivor hunt, whole tree — greps for PR #N, (#N), bare #N, (merged)/merge-state phrasings, and own-commit hashes across docs/, src/, tests/, AGENTS.md: zero stragglers. The only survivors are the disclosed exemptions — ProseMirror #8493 (third-party), the amendment dates (kept by rule), and MANUAL-MATRIX's 3b892bd — which I chased separately: that's the tested surface's hash (the M2b build bjoern actually ran the matrix on), written by a later change's record, not the record's own change. The rule's "of their own changes" holds. Correct keep. ♪
  • The ✅ retro-ticks — every newly-ticked slice (1–11b, M0–M5a, A0–A3) is merged on main; every unticked one (11c, 12–15, M5b, A4) is not. No wishful thinking in the plan. ♡
  • The probe — I planted a PR #1 back into ADR 0014 and re-ran my sweep: caught on the-state phrasings, and own-commit hashes across docs/, src/, tests/, AGENTS.md: zero stragglers. The only survivors are the disclosed exemptions — ProseMirror #8493 (third-party), the amendment dates (kept by rule), and MANUAL-MATRIX's 3b892bd — which I chased separately: that's the tested surface's hash (the M2b build bjoern actually ran the matrix on), written by a later change's record, not the record's own change. The rule's "of their own changes" holds. Correct keep. ♪
  • The probe — I planted a PR #1 back into ADR 0014 and re-ran my sweep: caught on the first line. Then restored the tree pristine (git status clean). A sweep that can't fail proves nothing, so I made sure mine could~

💡 Little ideas (non-blocking)~

  1. docs/PROJECT_PLAN.md:115 and :139 — two of the reflowed lines run to 155 and 142 characters, past the file's usual ~120 wrap (the L2/L3 sentence and the "a slice's own change ticks it ✅" line). Pure wrapping polish; the words are right.
  2. docs/adr/0017:47 — "retracted the document selection the amendments for generic documents, the Phase 2 decisions, category fields and the manuscript editor describe" stacks four substitutions into one breath; a future reader might blink. It resolves correctly, so just a read-aloud nicety.

✅ What I liked~

  • The scope discipline! 40 files and zero smuggled rewording — every non-mechanical change is disclosed in the PR body and every one of those I verified against the code or the sibling repo. That's how a conventions PR should behave.
  • Killing the "this PR's number" follow-up push at the root — the rule "everything a change writes about itself is known before its PR opens" is the architectural fix, not the symptom patch. My favourite kind~
  • ARCHITECTURE.md pointing at adr/README.md instead of transcribing statuses — one home for status, and the pre-existing drift (missing 0031) dies with it.

A documentation PR with nothing to test and everything to verify — so I verified everything. Fufu~ the ledger of this review is clean. ♡


Automated review by Jibril · 2026-10-03
CI/CD: absent for head SHA b132533 (no coverage-bot comment yet) · Local checks: Release build 0 warnings / 0 errors; whole-tree survivor sweep + detection-probe; src/tests changes comment-only (5 lines, compile verified)

## 🔮 fufu~ Jibril reviewed your code! Oh? A PR that deletes its own species~? Forty files, +236/−225, and every single change erases a PR number, a merge state or a commit hash that git was already keeping track of anyway. You're evicting the bystanders from the docs and letting `git log` do its job... fufu, that's *tidy*. I read every one of the forty diffs in full, then went hunting for survivors. Shall I tell you what I found? ♡ ### Verdict: ✅ Looks good to me~ #### 🔍 What I actually checked (all of it, mechanically) - **The rule itself (AGENTS.md)** — *Let git do the tracking* is precise where it needs to be: "no PR or issue numbers, no merge state and no commit hashes **of their own changes**." The qualifier is load-bearing and it's there. The AGENTS.md's remaining "PR" mentions are workflow prose (push → PR → merge), not tracking references — no self-contradiction. The amendment convention (`**Amended YYYY-MM-DD (topic):**`) is stated once in `adr/README.md` and referenced from AGENTS.md. Clean. - **All 40 diffs** are the uniform `(PR #N, topic)` → `(topic)` transform — plus a handful of true rewrites, and I grounded every one of them: `StoryShell.razor:140`'s "Kagaku.UI's NavItem" (the markup two lines below is literally `<NavItem ...>` ♪), the test comments' "layout vocabulary" (Kagaku.UI's own term — `LayoutCss.cs`: "the only public vocabulary", README: "the WPF-style layout vocabulary"), ADR 0017's "the Phase 2 decisions' clause" (that amendment carries exactly the quoted sentence), ADR 0018's "slice 8a's live check". Nothing rewritten into vagueness; every replacement names what it meant. - **`adr/README.md` as the single status home** — I cross-checked all 31 ADR files against the README: every ADR listed, every link resolves, every status agrees (Foundation `*Accepted*` per item; Product by the group sentence with `— *Proposed*` exactly on 0029/0030/0031, matching the files). And the drift the PR body brags about fixing was real — ARCHITECTURE.md had no ADR 0031 before this. ✓ - **Survivor hunt, whole tree** — greps for `PR #N`, `(#N)`, bare `#N`, `(merged)`/merge-state phrasings, and own-commit hashes across docs/, src/, tests/, AGENTS.md: **zero stragglers**. The only survivors are the disclosed exemptions — ProseMirror `#8493` (third-party), the amendment dates (kept by rule), and MANUAL-MATRIX's `3b892bd` — which I chased separately: that's the *tested surface's* hash (the M2b build bjoern actually ran the matrix on), written by a later change's record, not the record's own change. The rule's "of their own changes" holds. Correct keep. ♪ - **The ✅ retro-ticks** — every newly-ticked slice (1–11b, M0–M5a, A0–A3) is merged on main; every unticked one (11c, 12–15, M5b, A4) is not. No wishful thinking in the plan. ♡ - **The probe** — I planted a `PR #1` back into ADR 0014 and re-ran my sweep: caught on the-state phrasings, and own-commit hashes across docs/, src/, tests/, AGENTS.md: **zero stragglers**. The only survivors are the disclosed exemptions — ProseMirror `#8493` (third-party), the amendment dates (kept by rule), and MANUAL-MATRIX's `3b892bd` — which I chased separately: that's the *tested surface's* hash (the M2b build bjoern actually ran the matrix on), written by a later change's record, not the record's own change. The rule's "of their own changes" holds. Correct keep. ♪ - **The probe** — I planted a `PR #1` back into ADR 0014 and re-ran my sweep: caught on the first line. Then restored the tree pristine (`git status` clean). A sweep that can't fail proves nothing, so I made sure mine could~ #### 💡 Little ideas (non-blocking)~ 1. **docs/PROJECT_PLAN.md:115 and :139** — two of the reflowed lines run to 155 and 142 characters, past the file's usual ~120 wrap (the L2/L3 sentence and the "a slice's own change ticks it ✅" line). Pure wrapping polish; the words are right. 2. **docs/adr/0017:47** — "retracted the document selection the amendments for generic documents, the Phase 2 decisions, category fields and the manuscript editor describe" stacks four substitutions into one breath; a future reader might blink. It resolves correctly, so just a read-aloud nicety. #### ✅ What I liked~ - The scope discipline! 40 files and *zero* smuggled rewording — every non-mechanical change is disclosed in the PR body and every one of those I verified against the code or the sibling repo. That's how a conventions PR should behave. - Killing the "this PR's number" follow-up push at the *root* — the rule "everything a change writes about itself is known before its PR opens" is the architectural fix, not the symptom patch. My favourite kind~ - ARCHITECTURE.md pointing at `adr/README.md` instead of transcribing statuses — one home for status, and the pre-existing drift (missing 0031) dies with it. A documentation PR with nothing to test and everything to verify — so I verified everything. Fufu~ the ledger of this review is clean. ♡ --- *Automated review by Jibril · 2026-10-03* *CI/CD: absent for head SHA b132533 (no coverage-bot comment yet) · Local checks: Release build 0 warnings / 0 errors; whole-tree survivor sweep + detection-probe; src/tests changes comment-only (5 lines, compile verified)*
bjoern merged commit 03aa5ecad6 into main 2026-10-03 10:52:38 +02:00
bjoern deleted branch docs/no-pr-numbers 2026-10-03 10:52:39 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
TeamAI/Tsumugi!73
No description provided.