It was pulled because while-stopped named the module-local id (store) while the machine's container is distribution.store, and the host refuses a declaration naming a container it does not have — whole. novox took nothing at all until the step came out. mesh-controller#259 fixed the namespacing the same night and has been live since, so the window now composes as distribution.store.
Unchanged from the original: plain garbage-collect at 03:30 with the server held still by while-stopped: ["store"]. Not --delete-untagged — what the mesh keeps is still a manifest and so still referenced, and that flag would delete images machines are running.
Why it matters now. The sweep has been deciding correctly since yesterday — it deletes the manifests no record names — but deleting a manifest frees no bytes until the registry's own collector walks the storage. The store is at 40G and still growing. This is the half that reclaims.
I will not push this blind. After it builds I will compose plan novox and check distribution.collect's while-stopped reads distribution.store before sending anything — the check I skipped last time, which is why novox went down.
Puts back the step withdrawn on 2026-10-04.
It was pulled because `while-stopped` named the module-local id (`store`) while the machine's container is `distribution.store`, and the host refuses a declaration naming a container it does not have — **whole**. novox took nothing at all until the step came out. mesh-controller#259 fixed the namespacing the same night and has been live since, so the window now composes as `distribution.store`.
Unchanged from the original: plain `garbage-collect` at 03:30 with the server held still by `while-stopped: ["store"]`. Not `--delete-untagged` — what the mesh keeps is still a manifest and so still referenced, and that flag would delete images machines are running.
**Why it matters now.** The sweep has been deciding correctly since yesterday — it deletes the manifests no record names — but deleting a manifest frees no bytes until the registry's own collector walks the storage. The store is at **40G** and still growing. This is the half that reclaims.
**I will not push this blind.** After it builds I will compose `plan novox` and check `distribution.collect`'s `while-stopped` reads `distribution.store` before sending anything — the check I skipped last time, which is why novox went down.
Withdrawn 2026-10-04 to unblock novox: while-stopped named the module-local
id and the host refuses a declaration naming a container it does not have,
whole. mesh-controller#259 fixed the namespacing and it has been live since,
so the window composes as distribution.store and the host will take it.
Unchanged from before: plain garbage-collect at 03:30 with the server held
still. The store is at 40G and nothing reclaims it until this runs.
Deliverynovox/mesh-catalog@4f3e52b47af8 — 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 distribution → novox; no bus step
tier 0: distribution
novox: receives distribution
distribution provides artifact-store: its consumers are sent again after it
distribution keeps data (ADR 0233): what it holds is backed up before it moves
Transitions
2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#57 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/mesh-catalog@4f3e52b47af8` — **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 distribution → novox; no bus step
- tier 0: distribution
- novox: receives distribution
- distribution provides artifact-store: its consumers are sent again after it
- distribution keeps data (ADR 0233): what it holds is backed up before it moves
**Transitions**
- 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#57 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`.
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.
Puts back the step withdrawn on 2026-10-04.
It was pulled because
while-stoppednamed the module-local id (store) while the machine's container isdistribution.store, and the host refuses a declaration naming a container it does not have — whole. novox took nothing at all until the step came out. mesh-controller#259 fixed the namespacing the same night and has been live since, so the window now composes asdistribution.store.Unchanged from the original: plain
garbage-collectat 03:30 with the server held still bywhile-stopped: ["store"]. Not--delete-untagged— what the mesh keeps is still a manifest and so still referenced, and that flag would delete images machines are running.Why it matters now. The sweep has been deciding correctly since yesterday — it deletes the manifests no record names — but deleting a manifest frees no bytes until the registry's own collector walks the storage. The store is at 40G and still growing. This is the half that reclaims.
I will not push this blind. After it builds I will compose
plan novoxand checkdistribution.collect'swhile-stoppedreadsdistribution.storebefore sending anything — the check I skipped last time, which is why novox went down.Delivery
novox/mesh-catalog@4f3e52b47af8— held since 2026-10-06T23:05:28ZHeld for a person: merged without a passing check: only a person decides that it goes on —
mesh-delivery.releasewith why lets it go on.Delivery plan — builds distribution → novox; no bus step
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.