Cause. The composer finds a listen's machine port in any container mapping that names it on either side (mesh-host MachineSide). distribution's listen registry 5000 matched the registry container's inner 5000 in 127.0.0.1:5001:5000, so the artifact store's address became that mapping's loopback side, and the program's own port was never opened to the mesh. The move to build 83cd1a3d on 2026-11-08 23:25 UTC cut the artifact store off this way; distribution has been held on 65822b11 since.
Fix. The program binds 5100 (MESH_REGISTRY_LISTEN, the listen, the health tool), where every machine already fetches: the artifact-store alias (serves port 5100) and the seats' reach now agree. The container serves 5001 inside and out (REGISTRY_HTTP_ADDR). A row in the manifest test holds that no container names 5100.
Quick or thorough. Quick: this manifest (chosen, it blocks the artifact store's move). Thorough: the indexer's judge refuses a manifest whose listen's port is also a container mapping's inner port of another resource; queued as a subtask of the 1966 release.
Tests. gofmt clean and the manifest read; the module's unit tests did not run locally (the workspace of mains failed to resolve a contracts module), so this waits for its check before the merge, against the rule's local-test line, said here.
Before release. distribution's put on novox stays held until novox's node-engine composition of the new build shows the program on 5100 and the container on 127.0.0.1:5001.
Recovery fix (instruction recovery-fixes-merge-and-tell), issue 1966 note 109.
**Cause.** The composer finds a listen's machine port in any container mapping that names it on either side (mesh-host `MachineSide`). distribution's listen `registry` 5000 matched the registry container's inner 5000 in `127.0.0.1:5001:5000`, so the artifact store's address became that mapping's loopback side, and the program's own port was never opened to the mesh. The move to build 83cd1a3d on 2026-11-08 23:25 UTC cut the artifact store off this way; distribution has been held on 65822b11 since.
**Fix.** The program binds 5100 (`MESH_REGISTRY_LISTEN`, the listen, the health tool), where every machine already fetches: the artifact-store alias (serves port 5100) and the seats' reach now agree. The container serves 5001 inside and out (`REGISTRY_HTTP_ADDR`). A row in the manifest test holds that no container names 5100.
**Quick or thorough.** Quick: this manifest (chosen, it blocks the artifact store's move). Thorough: the indexer's judge refuses a manifest whose listen's port is also a container mapping's inner port of another resource; queued as a subtask of the 1966 release.
**Tests.** gofmt clean and the manifest read; the module's unit tests did not run locally (the workspace of mains failed to resolve a contracts module), so this waits for its check before the merge, against the rule's local-test line, said here.
**Before release.** distribution's put on novox stays held until novox's node-engine composition of the new build shows the program on 5100 and the container on 127.0.0.1:5001.
**Undo:** revert this merge.
https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
The composer finds a listen's machine port in a container mapping that names
it on either side (MachineSide). The program's listen 5000 matched the
registry container's inner 5000 in 127.0.0.1:5001:5000, so the store's address
became the container's loopback side and the program's own port was never
opened: the move to 83cd1a3d on 2026-11-08 23:25 UTC cut the artifact store off
(issue 1966 note 109). The program now binds 5100, where every machine fetches
(the artifact-store alias and the seats' reach agree), and the container serves
5001 inside and out. A row holds that no container names 5100.
Undo: revert this commit.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Deliverynovox/mesh-catalog@a0459a855311 — merged since 2026-11-09T00:58:12Z
Source — source.main moved to novox/mesh-catalog@ac94f8338f. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-11-09 00:42 (new) → proposed (announced): novox/mesh-catalog#637's head announced
2026-11-09 00:42 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
2026-11-09 00:58 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-catalog@a0459a855311` — **merged** since 2026-11-09T00:58:12Z
**Source** — source.main moved to novox/mesh-catalog@ac94f8338f9c. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-11-09 00:42 (new) → proposed (announced): novox/mesh-catalog#637's head announced
- 2026-11-09 00:42 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
- 2026-11-09 00:58 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 6cf7f67a1d is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 6cf7f67a1dfd is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
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.
Recovery fix (instruction recovery-fixes-merge-and-tell), issue 1966 note 109.
Cause. The composer finds a listen's machine port in any container mapping that names it on either side (mesh-host
MachineSide). distribution's listenregistry5000 matched the registry container's inner 5000 in127.0.0.1:5001:5000, so the artifact store's address became that mapping's loopback side, and the program's own port was never opened to the mesh. The move to build 83cd1a3d on 2026-11-08 23:25 UTC cut the artifact store off this way; distribution has been held on 65822b11 since.Fix. The program binds 5100 (
MESH_REGISTRY_LISTEN, the listen, the health tool), where every machine already fetches: the artifact-store alias (serves port 5100) and the seats' reach now agree. The container serves 5001 inside and out (REGISTRY_HTTP_ADDR). A row in the manifest test holds that no container names 5100.Quick or thorough. Quick: this manifest (chosen, it blocks the artifact store's move). Thorough: the indexer's judge refuses a manifest whose listen's port is also a container mapping's inner port of another resource; queued as a subtask of the 1966 release.
Tests. gofmt clean and the manifest read; the module's unit tests did not run locally (the workspace of mains failed to resolve a contracts module), so this waits for its check before the merge, against the rule's local-test line, said here.
Before release. distribution's put on novox stays held until novox's node-engine composition of the new build shows the program on 5100 and the container on 127.0.0.1:5001.
Undo: revert this merge.
https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
Delivery
novox/mesh-catalog@a0459a855311— merged since 2026-11-09T00:58:12ZSource — source.main moved to novox/mesh-catalog@ac94f8338f. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head
6cf7f67a1dis no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.