catalogueModule() in the harness reads a module's manifest from the catalogue and rewrites only what the lab must: the build section goes, each artifact becomes the image the machine holds, images are pinned, and a bed may declare a host-port remap or a lab-local address.
Eight beds now install the catalogue's manifest: confluence, gitlab, openai-consumer, audit-logger, ollama + local-model-consumer, model-usage, mosquitto, anthropic-manager + anthropic-consumer.
The five private loaders (adopted-store-cross-node, two-node-db, the three whole-mesh beds) are folded onto the shared one. The ace loader never resolved a runtime artifact; whole-mesh-full still asked for registry and firewall (the catalogue says distribution and nftables) and swallowed the miss.
The receipt claims the catalogue's commit (MESH_LAB_CATALOG, either spelling).
test/beds-read-the-catalogue.test.ts refuses an inline manifest literal naming a catalogue module unless the bed is declared with its reason (BESIDE / WEARING / DIFFERS). The declared list is the debt; a declaration for a copy that is gone is refused too.
Proven
All eight converted beds ran green in the lab against this branch, each receipt naming mesh-catalog e0d3472: confluence, gitlab, openai-bed, assigned-audit, assigned-catalogue-mqtt, anthropic-bed, assigned-model-usage, local-model-bed. Unit tests 151/151.
Not run: the five loader-folded beds (adopted-store-cross-node, two-node-db, whole-mesh-ace/novox/full) — the change there is a pure replacement of loader code by the shared function the eight runs exercised.
HQ
Decided in ADR 0089 (hq MR on the same branch name); issue 073 diagnosed; issues 074 and 075 opened for the other two kinds of copy the survey found.
## What
- `catalogueModule()` in the harness reads a module's manifest from the catalogue and rewrites only what the lab must: the build section goes, each artifact becomes the image the machine holds, images are pinned, and a bed may declare a host-port remap or a lab-local address.
- Eight beds now install the catalogue's manifest: confluence, gitlab, openai-consumer, audit-logger, ollama + local-model-consumer, model-usage, mosquitto, anthropic-manager + anthropic-consumer.
- The five private loaders (adopted-store-cross-node, two-node-db, the three whole-mesh beds) are folded onto the shared one. The ace loader never resolved a runtime artifact; whole-mesh-full still asked for `registry` and `firewall` (the catalogue says `distribution` and `nftables`) and swallowed the miss.
- The receipt claims the catalogue's commit (`MESH_LAB_CATALOG`, either spelling).
- `test/beds-read-the-catalogue.test.ts` refuses an inline manifest literal naming a catalogue module unless the bed is declared with its reason (BESIDE / WEARING / DIFFERS). The declared list is the debt; a declaration for a copy that is gone is refused too.
## Proven
All eight converted beds ran green in the lab against this branch, each receipt naming `mesh-catalog e0d3472`: confluence, gitlab, openai-bed, assigned-audit, assigned-catalogue-mqtt, anthropic-bed, assigned-model-usage, local-model-bed. Unit tests 151/151.
Not run: the five loader-folded beds (adopted-store-cross-node, two-node-db, whole-mesh-ace/novox/full) — the change there is a pure replacement of loader code by the shared function the eight runs exercised.
## HQ
Decided in ADR 0089 (hq MR on the same branch name); issue 073 diagnosed; issues 074 and 075 opened for the other two kinds of copy the survey found.
A bed installs a catalogue module by reading its manifest from MESH_LAB_CATALOG at
run time, so a receipt naming no catalogue commit cannot say whether a catalogue
change was ever proven. Claimed under either spelling of the variable; not built,
because a manifest is read, not compiled (novox/hq 04-ISSUES/073).
catalogueModule() in the harness reads a module's manifest from the catalogue and
rewrites only what the lab must: the build section goes, each artifact becomes the
image the machine holds, images are pinned, and a bed may declare a host-port remap
or a lab-local address. confluence, gitlab, openai-consumer, audit-logger, ollama,
local-model-consumer, model-usage, mosquitto, anthropic-manager and
anthropic-consumer now install the catalogue's manifest. A unit test refuses any
inline copy naming a catalogue module unless the bed is declared with its reason;
the declared list is the debt (novox/hq 04-ISSUES/073).
adopted-store-cross-node, two-node-db and the three whole-mesh beds each carried a
private loader; they drifted. The ace loader never resolved a runtime artifact, so a
module the mesh builds travelled unresolved; whole-mesh-full still asked for
'registry' and 'firewall', which the catalogue names distribution and nftables, and
swallowed the miss as NOT ASSIGNED. One loader now (novox/hq 04-ISSUES/073).
The control plane's manifest is leaving the catalogue (ADR 0069, issue 072); a marker
that named it would make every catalogue-reading bed skip the day it goes.
Review findings: a sibling-path fallback read a catalogue the receipt never claimed;
a manifest literal naming its version first slipped the fence; the shared loader
thirteen beds install through had no test short of a lab run.
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.
What
catalogueModule()in the harness reads a module's manifest from the catalogue and rewrites only what the lab must: the build section goes, each artifact becomes the image the machine holds, images are pinned, and a bed may declare a host-port remap or a lab-local address.registryandfirewall(the catalogue saysdistributionandnftables) and swallowed the miss.MESH_LAB_CATALOG, either spelling).test/beds-read-the-catalogue.test.tsrefuses an inline manifest literal naming a catalogue module unless the bed is declared with its reason (BESIDE / WEARING / DIFFERS). The declared list is the debt; a declaration for a copy that is gone is refused too.Proven
All eight converted beds ran green in the lab against this branch, each receipt naming
mesh-catalog e0d3472: confluence, gitlab, openai-bed, assigned-audit, assigned-catalogue-mqtt, anthropic-bed, assigned-model-usage, local-model-bed. Unit tests 151/151.Not run: the five loader-folded beds (adopted-store-cross-node, two-node-db, whole-mesh-ace/novox/full) — the change there is a pure replacement of loader code by the shared function the eight runs exercised.
HQ
Decided in ADR 0089 (hq MR on the same branch name); issue 073 diagnosed; issues 074 and 075 opened for the other two kinds of copy the survey found.