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.
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.
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.
Deliverynovox/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`.
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.
The store's tools (ADR 0251) counted 469 manifests, 23.8 GiB, that no record names. This records why and what to do.
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 verbmirrorslets a person record the copies no record names; it deletes nothing.on-repositories).dependenciesis a map of strings) and said 0 bytes for every kept version.Code: novox/mesh-controller
feat/a-mirror-is-recorded, novox/mesh-catalogfeat/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.
Delivery
novox/hq@56e78612dcac— delivered since 2026-10-08T14:03:00ZDelivery 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.