ADR 0257, issues 321-323, research 035: record the bases builds copy; what the pre-mesh images are #207

Merged
mesh-admin merged 3 commits from decision/a-copied-base-is-recorded into main 2026-10-08 14:02:47 +00:00
Contributor

The store's tools (ADR 0251) counted 469 manifests, 23.8 GiB, that no record names. This records why and what to do.

  • ADR 0257 (extends 0251, supersedes in part 0097): a copied base goes into one repository per upstream image (upstream/<host>/<path>), is recorded where it is copied (failed builds included), is kept by the five kept builds that stood on it and by nothing else, and an index is let go of with its own platform manifests. A new controller verb mirrors lets a person record the copies no record names; it deletes nothing.
  • Issue 321: a copied base was recorded by nothing, and a let-go index kept its platforms (374 manifests in 27 on- repositories).
  • Issue 322: package retention read no lockfile (v2/v3 dependencies is a map of strings) and said 0 bytes for every kept version.
  • Issue 323: three running images pinned under an older name of the store read as unrecorded.
  • Research 035: every pre-mesh image repository, whether anything uses it, and a recommendation (3 keep, 2 after deleting stale modules, 35 repositories + 2 manifests let go once a decision says how).
  • To-be 51 amended; ADR 0097 gets a dated pointer to 0257.

Code: novox/mesh-controller feat/a-mirror-is-recorded, novox/mesh-catalog feat/a-mirrored-base-is-recorded (store tools) and PR #128 (npm lockfiles).

Merge order: this first, then the controller, then the catalogue's store tools; #128 any time after this.

Checks run here: records.py, index.py, cycle.py, words.py (with the catalogue's list) all pass.

The store's tools (ADR 0251) counted 469 manifests, 23.8 GiB, that no record names. This records why and what to do. - **ADR 0257** (extends 0251, supersedes in part 0097): a copied base goes into one repository per upstream image (`upstream/<host>/<path>`), is recorded where it is copied (failed builds included), is kept by the five kept builds that stood on it and by nothing else, and an index is let go of with its own platform manifests. A new controller verb `mirrors` lets a person record the copies no record names; it deletes nothing. - **Issue 321**: a copied base was recorded by nothing, and a let-go index kept its platforms (374 manifests in 27 `on-` repositories). - **Issue 322**: package retention read no lockfile (v2/v3 `dependencies` is a map of strings) and said 0 bytes for every kept version. - **Issue 323**: three running images pinned under an older name of the store read as unrecorded. - **Research 035**: every pre-mesh image repository, whether anything uses it, and a recommendation (3 keep, 2 after deleting stale modules, 35 repositories + 2 manifests let go once a decision says how). - To-be 51 amended; ADR 0097 gets a dated pointer to 0257. Code: novox/mesh-controller `feat/a-mirror-is-recorded`, novox/mesh-catalog `feat/a-mirrored-base-is-recorded` (store tools) and PR #128 (npm lockfiles). Merge order: this first, then the controller, then the catalogue's store tools; #128 any time after this. Checks run here: records.py, index.py, cycle.py, words.py (with the catalogue's list) all pass.
mesh-admin added 1 commit 2026-10-08 12:11:25 +00:00
ADR 0257, issues 321-323, research 035: record the bases builds copy, and say what the pre-mesh images are
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
59bc551b5b
The store's tools counted 23.8 GiB nothing records: copied bases the sweep could never
let go of, platforms a let-go index left behind, and images from before the mesh. Package
retention read no lockfile, so it kept versions by age alone.
Author
Contributor

Delivery novox/hq@56e78612dcac — delivered since 2026-10-08T14:03:00Z

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

Transitions

  • 2026-10-08 13:50 (new) → proposed (announced): novox/hq#207's head announced
  • 2026-10-08 13:51 proposed → checked (checked): the verdict names this commit
  • 2026-10-08 13:51 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-08 14:03 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-08 14:03 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/hq@56e78612dcac` — **delivered** since 2026-10-08T14:03:00Z **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-08 13:50 (new) → proposed (announced): novox/hq#207's head announced - 2026-10-08 13:51 proposed → checked (checked): the verdict names this commit - 2026-10-08 13:51 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-08 14:03 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-08 14:03 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`.
jschoubben added 1 commit 2026-10-08 12:53:06 +00:00
ADR 0257: platforms go only in a confirmed collect; say what stays, and what a rollback costs
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
b6690c38cf
The sweep after a build is real collection with no dry run in front of it, so it lets an
index go alone (review of #207).
jschoubben added 1 commit 2026-10-08 13:50:39 +00:00
ADR 0257: the sweep after a build leaves an index for a confirmed collect
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
56e78612dc
Let go of alone, an index's platforms would stay for ever under a collected record
(re-review of #207).
mesh-admin merged commit a95e8060c3 into main 2026-10-08 14:02:47 +00:00
mesh-admin deleted branch decision/a-copied-base-is-recorded 2026-10-08 14:02:47 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#207