Commit Graph
439 Commits
Author SHA1 Message Date
jochen becff66e0a Register R348: a fault from before a send failed the builds sent after it (hq issue 348)
mesh/merge-gate head becff66e0a8a merged into trunk 2aebf8f40e25 — pass: the change touches no module of the mesh's graph
mesh/repo-check head becff66e0a8a merged into trunk 2aebf8f40e25 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
mesh/delivery-group group fix/348-replay delivered: every member is delivered
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.
2026-10-13 06:09:50 +02:00
mesh-admin 2aebf8f40e Merge pull request 'Register R349: a merge acted on late superseded the merge after it (hq issue 349)' (#95) from fix/349-replay into main 2026-10-13 03:54:15 +00:00
mesh-admin 0ca7a83e0b Merge pull request 'Register R92 as a bed: genesis on a runtime that trusts no registry (hq issue 92) — NOT PROVED, blocked by issue 146' (#85) from fix/92-replay into main 2026-10-13 03:49:20 +00:00
jochen d16c3db9d2 Point R349 at the replay that reaches main's batch cut (review of mesh-controller #290)
mesh/merge-gate head d16c3db9d2d0 merged into trunk 0ca7a83e0b62 — pass: the change touches no module of the mesh's graph
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/delivery delivered
mesh/delivery-group group fix/349-replay delivered: every member is delivered
2026-10-13 05:49:05 +02:00
jochen 39ec294853 Register R349: a merge acted on late superseded the merge after it (hq issue 349)
mesh/merge-gate head 39ec2948539f merged into trunk 6ba65a12f218 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 39ec2948539f merged into trunk 6ba65a12f218 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery-group group fix/349-replay checking: 1 of 2 member(s) ready
mesh/delivery superseded: a newer head of the same pull request
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.
2026-10-13 05:22:56 +02:00
mesh-admin 6ba65a12f2 Merge pull request 'Register R340: a verb set what every agent session obeys (hq issue 340)' (#94) from fix/340-replay into main 2026-10-13 01:07:06 +00:00
jochen ea24e7890f Register R340: a verb set what every agent session obeys (hq issue 340)
mesh/merge-gate head ea24e7890f57 merged into trunk 51fa3a73ab3d — pass: the change touches no module of the mesh's graph
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/delivery delivered
mesh/delivery-group group fix/340-replay delivered: every member is delivered
Issue 340 is a core issue and resolves with a replay; the test lives in
mesh-controller and is proved against the commit before #172.
2026-10-13 03:00:43 +02:00
jochen 0714f7a509 Pin R92 to today's genesis: main with every genesis fix, and the same without #91 (hq issue 92)
mesh/merge-gate head 0714f7a50933 merged into trunk 6ba65a12f218 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 0714f7a50933 merged into trunk 6ba65a12f218 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
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.
2026-10-13 02:59:45 +02:00
jochen d03f87b00d Register R92 as a bed: genesis on a runtime that trusts no registry (hq issue 92)
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).
2026-10-13 02:57:21 +02:00
mesh-admin 51fa3a73ab Merge pull request 'Name the build agent where genesis needs the module that builds (issue 596)' (#93) from fix/596-genesis-names-the-build-agent into main 2026-10-13 00:57:03 +00:00
mesh-admin 383176a7ea Merge pull request 'Register R279 and R412: a folder could not follow its module's account; a seat named no paths (hq issues 279, 412)' (#90) from fix/279-412-replays into main 2026-10-13 00:45:30 +00:00
jochen 671d56a08a Register R279 and R412: a folder could not follow its module's account; a seat named no paths (hq issues 279, 412)
mesh/merge-gate head 671d56a08a47 merged into trunk b7f46559f053 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 671d56a08a47 merged into trunk b7f46559f053 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
mesh/delivery-group group fix/279-412-replays delivered: every member is delivered
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).
2026-10-13 02:40:08 +02:00
mesh-admin b7f46559f0 Merge pull request 'Register R166: a requirement could not be optional (hq issue 166)' (#92) from fix/166-replay into main 2026-10-13 00:38:10 +00:00
jochen abc022eece Name the build agent where genesis needs the module that builds (hq issue 596)
mesh/merge-gate head abc022eece61 merged into trunk 383176a7eab3 — pass: the change touches no module of the mesh's graph
mesh/repo-check head abc022eece61 merged into trunk 383176a7eab3 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
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.
2026-10-13 02:29:19 +02:00
jochen 87eca0c9a9 Register R166: a requirement could not be optional (hq issue 166)
mesh/merge-gate head 87eca0c9a9e8 merged into trunk e5ccf484684d — pass: the change touches no module of the mesh's graph
mesh/repo-check head 87eca0c9a9e8 merged into trunk e5ccf484684d — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
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.
2026-10-13 02:28:18 +02:00
mesh-admin e5ccf48468 Merge pull request 'Raise genesis past its broker step and hold that the bus is kept (issue 590, hq ADR 0333 §5)' (#91) from fix/590-genesis-keeps-its-bus into main 2026-10-13 00:22:07 +00:00
jochen c7c7268db0 Raise genesis past its broker step and hold that the bus is kept (hq issue 590, ADR 0333 §5)
mesh/merge-gate head c7c7268db08c merged into trunk d3ef6fa44caf — pass: the change touches no module of the mesh's graph (run 2)
mesh/repo-check head c7c7268db08c merged into trunk d3ef6fa44caf — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
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.
2026-10-13 02:13:35 +02:00
mesh-admin d3ef6fa44c Merge pull request 'Name the one genesis bundle in every bed and the README (issue 146, ADR 0331)' (#89) from fix/146-one-genesis-bundle into main 2026-10-12 21:12:13 +00:00
jochen 1af6efb356 Name the one genesis bundle in every bed and the README (hq issue 146, ADR 0331)
mesh/merge-gate head 1af6efb35677 merged into trunk 782aa9f73791 — pass: the change touches no module of the mesh's graph
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/delivery delivered
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.
2026-10-12 22:50:50 +02:00
mesh-admin 782aa9f737 Merge pull request 'Register R201: a plan sent the control node a controller older than the one running there (hq issue 201)' (#88) from fix/201-replay into main 2026-10-12 20:22:43 +00:00
jochen a96226f228 Register R201: a plan sent the control node a controller older than the one running there (hq issue 201)
mesh/merge-gate head a96226f22819 merged into trunk 5c1c6f56c9d9 — pass: the change touches no module of the mesh's graph
mesh/repo-check head a96226f22819 merged into trunk 5c1c6f56c9d9 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery delivered
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.
2026-10-12 21:18:59 +02:00
mesh-admin 5c1c6f56c9 Merge pull request 'Register R401 and R561: an outside secret nobody gave was made; a plan's id was pasted into SQL (hq issues 401, 561)' (#87) from fix/401-replay into main 2026-10-12 18:22:12 +00:00
jochen 3c655d83e1 Register R561: a plan's id was pasted into the SQL that reads it (hq issue 561)
mesh/merge-gate head 3c655d83e11e merged into trunk 24b833d19dad — pass: the change touches no module of the mesh's graph
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/delivery delivered
mesh/delivery-group group fix/401-replay delivered: every member is delivered
Proved: fails on mesh-controller f8daec0^1, passes on f8daec0 (the fix, #268).
2026-10-12 19:01:18 +02:00
jochen e63459dd70 Register R401: the send made a value for an own secret issued outside the mesh that nobody gave (hq issue 401)
mesh/delivery-group group fix/401-replay checking: 0 of 2 member(s) ready
mesh/merge-gate head e63459dd702a merged into trunk 24b833d19dad — pass: the change touches no module of the mesh's graph
mesh/repo-check head e63459dd702a merged into trunk 24b833d19dad — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/delivery superseded: a newer head of the same pull request
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.
2026-10-12 18:37:30 +02:00
mesh-admin 24b833d19d Merge pull request 'Register R341: a check judged the head alone and let a merge that does not compile through (hq issue 341)' (#86) from feat/341-a-merge-check-judges-the-merge into main 2026-10-12 16:11:30 +00:00
jschoubben 79108a72a0 Register R341: a check judged the head alone and let a merge that does not compile through
mesh/merge-gate pass: the change touches no module of the mesh's graph
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/delivery delivered
mesh/delivery-group group feat/341-a-merge-check-judges-the-merge delivered: every member is delivered
Proved with replays/cmd/prove: TestReplay341 fails on the controller's main
and passes on its fix (novox/hq ADR 0323, issue 341).
2026-10-12 17:29:59 +02:00
mesh-admin 930b13ff47 Merge pull request 'Register R233: a declaration that restores the package manager applies while it does not answer (hq issue 233)' (#84) from fix/233-replay-2 into main 2026-10-12 14:53:24 +00:00
mesh-admin 39531a9972 Register R233: a declaration that restores the package manager applies while it does not answer (hq issue 233)
mesh/merge-gate pass: the change touches no module of the mesh's graph
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/delivery delivered
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.
2026-10-12 14:41:40 +00:00
mesh-admin a97ba661d9 Merge pull request 'Register R237: assign's answer agrees with plan right after the act (hq issue 237)' (#83) from replay/r237-rebased into main 2026-10-12 14:37:45 +00:00
mesh-admin bd33abf3dd Register R237: assign's answer agrees with plan right after the act (hq issue 237)
mesh/merge-gate pass: the change touches no module of the mesh's graph
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/delivery delivered
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.
2026-10-12 14:24:32 +00:00
mesh-admin 1f008aeb18 Merge pull request 'Register R358: a parent swapped for a link leaves its target untouched' (#80) from replay/r358 into main 2026-10-12 13:46:20 +00:00
jochen 26a0f45269 Register R358: a parent swapped for a link leaves its target untouched (hq issue 358)
mesh/merge-gate pass: the change touches no module of the mesh's graph
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/delivery delivered
Proved with go run ./cmd/prove R358: fails on mesh-host#87's commit before
(dce0eef), passes on the fix (36704b5, mesh-host#87).
2026-10-12 15:23:17 +02:00
mesh-admin 9bd51f3c6c Merge pull request 'Register R294: a quote in a command line's value is said, and an open quote refused naming where (hq issue 294)' (#79) from replay/294-quote-in-a-quoted-value into main 2026-10-10 17:40:57 +00:00
jochen 8c78bcf9ce Register R294: a quote in a command line's value is said, and an open quote refused naming where (hq issue 294)
mesh/merge-gate pass: the change touches no module of the mesh's graph
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/delivery delivered
2026-10-10 19:31:32 +02:00
mesh-admin 858b15a1a3 Merge pull request 'Register R368: a moved path is no shrink, and a shrink at the new path still is (hq issue 368)' (#77) from replay/368-a-moved-path-is-no-shrink into main 2026-10-10 16:32:48 +00:00
jochen b3d6d65db1 Merge main into replay/368: the asks check fixed for issue 393 (#78)
mesh/merge-gate pass: the change touches no module of the mesh's graph
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/delivery delivered
2026-10-10 18:27:49 +02:00
mesh-admin c48d68ac92 Merge pull request 'asks: a replayed tap is said as the answer already recorded (issue 393)' (#78) from fix/393-asks-replayed-tap into main 2026-10-10 16:27:21 +00:00
jochen af0a32a780 asks: a replayed tap is said as the answer already recorded, on its acknowledgement (issue 393)
mesh/merge-gate pass: the change touches no module of the mesh's graph
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/delivery delivered
Since issue 372 the router answers the same answer again from the same
account with 'You already chose Approve at HH:MM: recorded.', on the
tap's acknowledgement rather than in the chat. The proof from #74 still
waited for a chat refusal, so it failed on every mesh-lab pull request.
The lab's phone now keeps a tap's acknowledgement words, and the replay
subtest waits for them; its checks that nothing more is done stay.
2026-10-10 18:22:22 +02:00
jochen 95736b0eab Register R368: a moved path is no shrink, and a shrink at the new path still is (hq issue 368)
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check fail: merge-check.sh (typescript), replays/merge-check.sh (go) passed; its asks/merge-check.sh failed: --- FAIL: TestTheOperatorsAnswerEndT…
mesh/delivery superseded: a newer head of the same pull request
2026-10-10 18:09:19 +02:00
mesh-admin 037bc32a6f Merge pull request 'Prove the operator's answers end to end before anybody uses them (hq ADR 0259)' (#74) from proofs/asks-answered-on-the-phone into main 2026-10-10 12:15:05 +00:00
mesh-admin 22043a3c86 Merge pull request 'Register R362: two merges seconds apart are delivered by one walk without a person (hq issue 362)' (#75) from replays/362-two-merges-seconds-apart into main 2026-10-10 11:14:08 +00:00
jochen 719ca7ae0b R362: the fix's commit after its branch was rebuilt without a binary (13ffae7)
mesh/delivery delivered
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript), replays/merge-check.sh (go)
2026-10-10 13:06:01 +02:00
jochen bdb6efa8c6 Register R362: two merges seconds apart are delivered by one walk without a person
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript), replays/merge-check.sh (go)
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/delivery superseded: a newer head of the same pull request
Proved with cmd/prove: fails on 52f34d3, passes on f8c4bc5 (mesh-catalog #171).
2026-10-10 12:55:51 +02:00
jschoubben a10aeb9843 asks: move to mesh-sdk go/v0.1.10
mesh/delivery delivered
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; it…
2026-10-09 16:25:00 +02:00
jschoubben 5ebb3520ec asks: the live acceptance says when a new link can approve, and asks through mesh-cli
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; it…
mesh/delivery superseded: a newer head of the same pull request
Step 3 stopped silently 16 minutes later when the Telegram account was linked less than an hour before; it
now says that approvals start at the local time the router gives. The script reaches the controller through
mesh-cli, the controller's terminal on the control node (hq ADR 0272).
2026-10-09 15:37:57 +02:00
jschoubben 70bc7ad3db asks: the live acceptance reads root-not-free, and gives the bot token at the controller's terminal
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; it…
mesh/delivery superseded: a newer head of the same pull request
2026-10-09 14:26:19 +02:00
jschoubben 086a5eb7a0 asks: move to mesh-sdk 16984aa; the proof passes on the confirmation review's fixes (9 of 9 parts, 192 s)
mesh/delivery superseded: a newer head of the same pull request
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; it…
2026-10-09 14:12:57 +02:00
jschoubben 01a541cadf asks: prove the reviewed flow — the controller's root-free word asked before an approval, the desk on its own account, a tap only on the words shown, the question saying who asks and what each answer does, and a rehearsal at the terminal for the live acceptance
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the change's judges the pull requests after it merges; it…
mesh/delivery superseded: a newer head of the same pull request
2026-10-09 12:44:21 +02:00
jschoubben 569a9e7ae8 asks: move to mesh-sdk 76902998, where an act is named fields digested canonically 2026-10-09 12:02:39 +02:00
jschoubben a076ccfe51 Run the proof of the operator's answers in the Go toolchain on every pull request, and say NOT RUN loudly where it cannot
The review of 2026-10-09: the build seat runs the lab's merge-check.sh in the TypeScript toolchain, which
holds no Go, so the proof never ran there. It is now a declared part of its own (mesh-check-also), run
against the controller, runtime and catalogue cloned beside the lab; a missing clone or a controller
without the proof's fixture is said NOT RUN in capitals instead of failing every lab change.
2026-10-09 12:02:28 +02:00