ADR 0238: a commit is the build at hand — one commit, one change plan, checked off the trunk and published only on it #155

Merged
mesh-admin merged 1 commits from design/0238-one-commit-one-change-plan into main 2026-10-06 21:00:51 +00:00
Contributor

Records the operator's decisions of 2026-10-06 on the merge check:

  1. The trunk rule (first): a commit off its module's trunk is only checked; on it, published and pushed — enforced in code (the build seat says which branches hold the commit; the controller never registers one off the trunk).
  2. One commit, one change plan: build plan, deploy plan, verdict; one object for the PR, the release and the what-if.
  3. The planner maps a change onto modules once: a changed file touches exactly the modules whose build reads it; a root file touches nothing (closes issue 280's left open).
  4. The graph decides what is checked, in two layers: mesh/merge-gate and mesh/repo-check (a warning without a script).
  5. Required statuses applied with the forge module's new branch-protection tool.
  6. The change plan as one state machine (table in the record).
  7. The plan attached to its commit (status, refs/notes/mesh-plan).

Narrows ADR 0237 decision 4 (dated note in 0237); revises to-be 45 §9 and Phase 5 (what is built on branches, and what is not yet: plan storage, state machine, notes, status link); to-be 30's path rule; issue 280's left-open closed. Adds merge-check.sh running records/index/cycle (AGENTS.md notes the exception to Markdown only).

Checks: records, index, cycle pass. Role names only.

Records the operator's decisions of 2026-10-06 on the merge check: 1. **The trunk rule** (first): a commit off its module's trunk is only checked; on it, published and pushed — enforced in code (the build seat says which branches hold the commit; the controller never registers one off the trunk). 2. **One commit, one change plan**: build plan, deploy plan, verdict; one object for the PR, the release and the what-if. 3. **The planner maps a change onto modules once**: a changed file touches exactly the modules whose build reads it; a root file touches nothing (closes issue 280's *left open*). 4. **The graph decides what is checked, in two layers**: `mesh/merge-gate` and `mesh/repo-check` (a warning without a script). 5. Required statuses applied with the forge module's new branch-protection tool. 6. The change plan as one state machine (table in the record). 7. The plan attached to its commit (status, `refs/notes/mesh-plan`). Narrows ADR 0237 decision 4 (dated note in 0237); revises to-be 45 §9 and Phase 5 (what is built on branches, and what is not yet: plan storage, state machine, notes, status link); to-be 30's path rule; issue 280's left-open closed. Adds `merge-check.sh` running records/index/cycle (AGENTS.md notes the exception to *Markdown only*). Checks: records, index, cycle pass. Role names only.
mesh-admin added 1 commit 2026-10-06 20:54:17 +00:00
ADR 0238: a commit is the build at hand — one commit, one change plan, checked off the trunk and published only on it
mesh/merge-gate the mesh is checking this head against every machine
mesh/delivery delivered
2221be11a6
Turning the merge check on for every repository showed it asked the wrong questions: a
repository chose whether it was checked, the gate mapped a change onto modules its own
way, the shared-code rule rebuilt 103 modules for a root script, and nothing kept a
commit off the trunk from becoming a module's version. Records the operator's decisions,
narrows ADR 0237 decision 4, revises to-be 45 §9 and Phase 5 and to-be 30, closes issue
280's left-open, and gives this repository its own merge-check.sh.
mesh-admin merged commit 7216ffc825 into main 2026-10-06 21:00:51 +00:00
mesh-admin deleted branch design/0238-one-commit-one-change-plan 2026-10-06 21:00:51 +00:00
Author
Contributor

Delivery novox/hq@2221be11a6ef — delivered since 2026-10-09T07:31:48Z

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#155's head announced
  • 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
  • 2026-10-09 07:31 held → delivered (done): merged, and nothing for a walk to move: builds nothing: the change touches no module of the mesh's graph

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

<!-- mesh-delivery:view --> **Delivery** `novox/hq@2221be11a6ef` — **delivered** since 2026-10-09T07:31:48Z **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#155's head announced - 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 - 2026-10-09 07:31 held → delivered (done): merged, and nothing for a walk to move: builds nothing: the change touches no module of the mesh's graph 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#155