Issue 278: a module held by no machine was read as shared code; ADR 0236's open question answered #148

Merged
mesh-admin merged 1 commits from issues/278-a-module-held-by-no-machine-was-read-as-shared-code into main 2026-10-06 18:28:49 +00:00
Contributor

What happened. ADR 0236 recorded "a change to the build agent rebuilds most of the catalogue" as an open question. The merge it measured (103 modules, 88 byte-identical) never changed the build agent. It changed a file of the catalogue's reference module, which no machine runs. That module's definition was not in the merge, so the controller read the file as shared code and rebuilt everything built from the repository. The build agent stood in tier 0 only because everything else is built by it.

In this PR:

  • Issue 278 (status located): symptom, diagnosis, fix, and how each rule is checked.
  • ADR 0236: a progressive-insight note under the consequence. The tiering was right: a built-by edge never widens a plan, so a build-agent change rebuilds the agent alone. The cause was the shared-path rule. The decision, options and consequences are untouched.
  • To-be 30: a revision to the rule for what a merge changed. The forge's announcer now says which directories hold a definition at the merge commit, and only a path in none of them is shared.

Code: mesh-controller PR #93, mesh-catalog PR #96.

records.py, index.py and cycle.py all pass. Role names only. Do not merge without a human approval.

**What happened.** ADR 0236 recorded "a change to the build agent rebuilds most of the catalogue" as an open question. The merge it measured (103 modules, 88 byte-identical) never changed the build agent. It changed a file of the catalogue's reference module, which no machine runs. That module's definition was not in the merge, so the controller read the file as shared code and rebuilt everything built from the repository. The build agent stood in tier 0 only because everything else is built by it. **In this PR:** - **Issue 278** (status `located`): symptom, diagnosis, fix, and how each rule is checked. - **ADR 0236**: a progressive-insight note under the consequence. The tiering was right: a built-by edge never widens a plan, so a build-agent change rebuilds the agent alone. The cause was the shared-path rule. The decision, options and consequences are untouched. - **To-be 30**: a revision to the rule for what a merge changed. The forge's announcer now says which directories hold a definition at the merge commit, and only a path in none of them is shared. Code: mesh-controller PR #93, mesh-catalog PR #96. `records.py`, `index.py` and `cycle.py` all pass. Role names only. Do not merge without a human approval.
mesh-admin added 1 commit 2026-10-06 17:57:29 +00:00
The 103-module rebuild ADR 0236 put down to the build agent came from a file of the catalogue's
reference module, read as shared because its definition was not in the merge. Records the issue,
corrects ADR 0236's open question as a progressive insight (the tiering was right; the build agent
never widens a plan) and amends to-be 30's rule for what a merge changed.
mesh-admin merged commit 68e432ec0b into main 2026-10-06 18:28:49 +00:00
mesh-admin deleted branch issues/278-a-module-held-by-no-machine-was-read-as-shared-code 2026-10-06 18:28:49 +00:00
Author
Contributor

Delivery novox/hq@68e432ec0bee — held since 2026-10-06T23:05:28Z

Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-06 23:05 (new) → proposed (announced): novox/hq#148 merged; its head was not heard by this owner, so it is made from the forge's word
  • 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/hq@68e432ec0bee` — **held** since 2026-10-06T23:05:28Z Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on. **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-06 23:05 (new) → proposed (announced): novox/hq#148 merged; its head was not heard by this owner, so it is made from the forge's word - 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#148