Refuse a node name of the mesh in the pacman and kernel modules (issue 1838) #441

Merged
mesh-tools merged 2 commits from fix/1838-particulars into main 2026-10-22 12:24:36 +00:00
Member

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 a3b51a9d9a

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
mesh-tools added 2 commits 2026-10-22 12:22:15 +00:00
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.
issue 1838: catch node names in paths, hyphenated and lowerCamel forms; test the exit codes
mesh/merge-gate head a3b51a9d9a02 merged into trunk db67a0e55ec3 — pass: the change touches no module of the mesh's graph
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…
mesh/check failed: unit: nfsserver/cmd/nfs-server.TestARealRootOwnedFolderIsRefused: --- FAIL: TestARealRootOwnedFolderIsRefused (0.00s) | a3b51a9d9a0…
mesh/delivery delivered
a3b51a9d9a
The forge blank hid any novox/ path segment, and joined names passed; read covered from the root.
Author
Member

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.

<!-- 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`.
mesh-tools merged commit dcf6e86d02 into main 2026-10-22 12:24:36 +00:00
mesh-tools deleted branch fix/1838-particulars 2026-10-22 12:24:36 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#441