Issue 1838, first step (ADR 0507 §9): modules name no node of the mesh.
checks/particulars: a catalogue check, shaped like checks/words, that refuses a node name from the root list particulars in the modules listed in checks/particulars/covered (pacman and kernel today). It looks at manifests, files, file paths, Go string literals, identifiers (whole words, lowerCamel and hyphen-joined forms), comments and test names. The forge's organisation path and host are not node names. It exits 1 on a finding (file:line and the word) and 2 when a list cannot be read.
The kernel module's fixtures and test helpers that named a node are renamed after what they show.
merge-check.sh runs the check after checks/words. Main's script judges this pull request, so the check gates pull requests from this merge on, which is why it ships ahead of milestone upgrade-safety, whose pacman and kernel work it then guards.
Tests: 4 test functions, each failed first on an assertion; the check passes on today's catalogue; the kernel suite passes. Try build-1792671622306872133 passed (1m36s).
What is left of the issue after this: widen covered to every module and remove their findings module by module.
Issue 1838, first step (ADR 0507 §9): modules name no node of the mesh.
- `checks/particulars`: a catalogue check, shaped like `checks/words`, that refuses a node name from the root list `particulars` in the modules listed in `checks/particulars/covered` (pacman and kernel today). It looks at manifests, files, file paths, Go string literals, identifiers (whole words, lowerCamel and hyphen-joined forms), comments and test names. The forge's organisation path and host are not node names. It exits 1 on a finding (file:line and the word) and 2 when a list cannot be read.
- The kernel module's fixtures and test helpers that named a node are renamed after what they show.
- `merge-check.sh` runs the check after `checks/words`. Main's script judges this pull request, so the check gates pull requests from this merge on, which is why it ships ahead of milestone upgrade-safety, whose pacman and kernel work it then guards.
Tests: 4 test functions, each failed first on an assertion; the check passes on today's catalogue; the kernel suite passes. Try build-1792671622306872133 passed (1m36s).
What is left of the issue after this: widen `covered` to every module and remove their findings module by module.
Reviewed-by: reviewer-1838@shanks at a3b51a9d9a024dc5838249c1621e2008ef3fa22e
A module is for any mesh; the check reads the list of names at the root and the covered modules, and the kernel module's fixtures now say what they show.
mesh/repo-check head a3b51a9d9a02 merged into trunk db67a0e55ec3 — pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the ch…
Deliverynovox/mesh-catalog@a3b51a9d9a02 — delivered since 2026-10-22T12:24:39Z
Delivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
2026-10-22 12:22 (new) → proposed (announced): novox/mesh-catalog#441's head announced
2026-10-22 12:23 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-22 12:23 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-22 12:24 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-22 12:24 published → delivered (done): nothing for a walk to move
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-catalog@a3b51a9d9a02` — **delivered** since 2026-10-22T12:24:39Z
**Delivery plan** — builds nothing: the change touches no module of the mesh's graph
**Transitions**
- 2026-10-22 12:22 (new) → proposed (announced): novox/mesh-catalog#441's head announced
- 2026-10-22 12:23 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-22 12:23 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-22 12:24 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-22 12:24 published → delivered (done): nothing for a walk to move
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Issue 1838, first step (ADR 0507 §9): modules name no node of the mesh.
checks/particulars: a catalogue check, shaped likechecks/words, that refuses a node name from the root listparticularsin the modules listed inchecks/particulars/covered(pacman and kernel today). It looks at manifests, files, file paths, Go string literals, identifiers (whole words, lowerCamel and hyphen-joined forms), comments and test names. The forge's organisation path and host are not node names. It exits 1 on a finding (file:line and the word) and 2 when a list cannot be read.merge-check.shruns the check afterchecks/words. Main's script judges this pull request, so the check gates pull requests from this merge on, which is why it ships ahead of milestone upgrade-safety, whose pacman and kernel work it then guards.Tests: 4 test functions, each failed first on an assertion; the check passes on today's catalogue; the kernel suite passes. Try build-1792671622306872133 passed (1m36s).
What is left of the issue after this: widen
coveredto every module and remove their findings module by module.Reviewed-by: reviewer-1838@shanks at
a3b51a9d9aDelivery
novox/mesh-catalog@a3b51a9d9a02— delivered since 2026-10-22T12:24:39ZDelivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.