mesh/repo-check head dcaf843b8a6e merged into trunk 1316a405a630 — pass: THE CHANGE ALTERS ITS OWN CHECK (asks/merge-check.sh): main's version judged it; t…
Since mesh-catalog #278 the channel sends every message in HTML (issues 383, 639). The fake Bot API kept
the text as sent, tags and entities included, and gave that back on a tap; the channel compares a tap by
the plain words it showed, so the proof's tap was refused as "this message does not show what the mesh put
there". Telegram reads the markup and gives the plain words back; the fake now does too.
mesh/repo-check head 7ed7da1398df merged into trunk 307dd23d6d2a — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
The lab module clones every repository with --depth 50, and a fresh bare
repository refuses a push whose history ends in a cut, so the genesis bed
raised its anchor and forge and then skipped. The three beds that carry a
checkout into a forge now share one helper that sets receive.shallowUpdate
on the bare repository. Unshallowing instead cannot work in a lab run: the
forge credential is removed once the run's clones are done.
mesh/repo-check head a0754ab06d59 merged into trunk a8d86bb10b9d — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
The replay lives in mesh-controller (TestReplay164) and is proved against the main its fix branched
from until the fix merges: go run ./cmd/prove R164 says it fails before and passes on the fix.
mesh/repo-check head 9deefc637065 merged into trunk d7098c4b2781 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/repo-check head d21949c04150 merged into trunk f71250c3ddd5 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
Genesis's base step now builds mesh-tools-go beside mesh-tools, from the repository beside --tools-source;
the bed's forge served only the four repositories genesis cloned before, so the step would find nothing
there.
Its replay (mesh-controller #296) holds the plan of 2026-10-13, "builds mesh-sdk, sent
nowhere", against the fix that reads a built module's build edges from what is kept of it.
Proved: fails on main, passes on the fix.
mesh/repo-check head ba2806b985ce merged into trunk 9497dda9291c — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
The genesis bundle raises the store as the postgres module's server: its pgvector image, its data in a
directory made before the store starts and owned as the module declares it, its password from a file.
The decision names one measurement before it is relied on: that image, on such a directory, empty,
initialises a store that answers with that password. The image and the owner are read from the
catalogue's manifest, so the measurement moves with the module's pin.
mesh/repo-check head 3b4ba29becc8 merged into trunk 3eb48c949fc2 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
Its replay (mesh-controller #294) holds the photo app's outage of 2026-10-04 against the fix that
refuses a build from a repository other than the module's own (mesh-controller #174).
mesh/repo-check head 5f13bf0aff9c merged into trunk 73800225c3d0 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/repo-check head becff66e0a8a merged into trunk 2aebf8f40e25 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
Proved with replays/cmd/prove: it fails on mesh-controller #179's first parent
and passes on the fix. The resolver's half (mesh-catalog #161) has no replay:
the module had no Go before it, and the binding's loss never reproduced past
its burst; the entry says so.
mesh/repo-check head d16c3db9d2d0 merged into trunk 0ca7a83e0b62 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/repo-check head 39ec2948539f merged into trunk 6ba65a12f218 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
Issue 349 is a core issue and resolves with a replay. The replay lives in
mesh-controller (#290) and is proved to fail on #179's parent and pass on it.
mesh/repo-check head ea24e7890f57 merged into trunk 51fa3a73ab3d — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/repo-check head 0714f7a50933 merged into trunk 6ba65a12f218 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
At the fix's merge no genesis got past step 6 (issue 146), so neither side of the replay reached the
push it replays. Fix is mesh-host main 0d11b4fc; Before is that main with #91 reverted, on the
unmerged branch replay/r92-before; the controller and catalogue at their mains on both sides.
The lab's base image trusts the documentation ranges as plain-HTTP registries, so no genesis bed could
see the push to an untrusted registry that issue 92 is about (reviews 73 and 76 on mesh-host #91). The
bed takes that trust off the anchor before the installer runs and asks the runtime it trusts loopback
only, then runs genesis with --registry 192.0.2.10:5000 and holds that the control plane reaches the
registry, trusted by the mesh's name too.
The prover gains a bed kind: it builds the node-engine and its installer at each commit, the carried
builder from the pinned controller, and raises the bed; a bed that never reached the step it replays
skips, and a skip is an error, never the fault reproduced.
Not proved yet: genesis stops at step 6 on both sides, because the temporary controller has no
MESH_BUS_NATS and the bus template is refused by the installer (issue 146).
mesh/repo-check head 671d56a08a47 merged into trunk b7f46559f053 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
Both proved with cmd/prove: each fails on the commit before its fix (mesh-controller #260, #267) and passes on it.
The replays' files are in mesh-controller fix/279-412-replays (3bdab29).
mesh/repo-check head abc022eece61 merged into trunk 383176a7eab3 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
The beds checked the catalogue for builder/module.json before running genesis and the mesh beds held
'builder' among a raised mesh's modules; the catalogue retired builder for build-agent on 2026-10-03
(ADR 0190), so every genesis bed stopped before the installer ran.
mesh/repo-check head 87eca0c9a9e8 merged into trunk e5ccf484684d — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
Issue 166 resolves with its replay. TestReplay166 in the controller (mesh-controller #287) uses only
what the catalogue had before #281, so the prover lays it over the commit before: it fails there and
passes on the fix.
mesh/repo-check head c7c7268db08c merged into trunk d3ef6fa44caf — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
The bed runs the installer from bare twice: first with a catalogue missing the nats module, so it stops
at the broker step by name and the bed reads the bus there; then with the whole catalogue, through the
step. It passes only when exactly one bus container runs, it is mesh-broker-nats on the module's image,
every stream that held something before the step is still the same stream, and the mesh still hears
from the first node. A first run that never reaches the step skips with the reason; a second run that
stops at the step fails.
The judgement is a pure function, test/integration/bus-kept.ts, held by unit tests without a lab.
mesh/repo-check head 1af6efb35677 merged into trunk 782aa9f73791 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh-host now carries one genesis bundle, foundation-first-node.lock, on the bus the
mesh runs on; the NATS one it replaces is deleted. Beds that still named it would point
at a file that is gone, and the harness's rewrite for the previous broker's image
rewrote nothing.
mesh/repo-check head a96226f22819 merged into trunk 5c1c6f56c9d9 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
Proved: fails on mesh-controller 84deb53^1, passes on 84deb53 (the fix, #273).
The replay is mesh-controller #275's TestReplay201ThePlansSend, since the
fix's own TestReplay201 reads what the fix added.
mesh/repo-check head 3c655d83e11e merged into trunk 24b833d19dad — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/repo-check head e63459dd702a merged into trunk 24b833d19dad — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
Proved: fails on mesh-controller 1e28342^1, passes on 1e28342 (the fix, #262). The replay is mesh-controller #274's TestReplay401, since the fix's own test reads what the fix added.
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript), replays/merge-check.sh (go), asks/merge-check.sh …
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript), replays/merge-check.sh (go), asks/merge-check.sh …
Proved with go run ./cmd/prove R233: fails on mesh-host#90's commit before
(36704b5), passes on the fix (a1f9856, mesh-host#90). Placed after R237,
which merged first (#83); replaces #82.
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript), replays/merge-check.sh (go), asks/merge-check.sh …
Rebase of #81 (a020f60) onto main after #80 (R358) merged into the same
spot in register.go. The R237 block is byte-identical to the one approved
at a020f60; only its place in the file differs, now after R358.
Proved with go run ./cmd/prove R237: fails on mesh-controller #253's commit
before (72edb45), passes on the fix (5facd8b, mesh-controller #253).
TestReplay237 needs MESH_TEST_POSTGRES (inventory.ForTest raises a throwaway
database), same as the controller's other store-backed replays.