mesh-admin
4eb8be9e66
Merge pull request 'ADR 0263 (accepted), research 038, design 52: a share is a provision, a node mounts it on demand' ( #221 ) from feat/mounts-module into main
2026-10-08 18:39:59 +00:00
jochen
c3a0f7a595
ADR 0265 and issue 327: answer read verbs on the serving connection and name every connection
...
Hundreds of short connections an hour, all named mesh-controller, hid any
client reconnecting in a loop.
2026-10-08 20:04:19 +02:00
jochen
34899385ec
Accept ADR 0263 with the operator's choices: one share per folder so backups are never exported, mesh machines only
2026-10-08 18:23:23 +02:00
mesh-admin
acc82aa5e4
Merge pull request 'Issue 332: the service manager could neither clear a failed unit nor say what wants it' ( #222 ) from issues/332-the-service-manager-cannot-clear-or-explain-a-failed-unit into main
2026-10-08 15:52:54 +00:00
jochen
fd6c452e61
Issue 332: add unlink-dangling and the glob refusal from the review
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
disable cannot remove a link whose unit file is gone, so the verb that
finds it needed one that removes it.
2026-10-08 17:40:00 +02:00
jochen
c3a20baece
Issue 332: the service manager could neither clear a failed unit nor say what wants it
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
A leftover user unit stayed raised on the workstation: no seat verb showed
the dangling enable link that keeps asking for it, or reset its failed
record, so the only step left was a shell. Lands per ADR 0246.
2026-10-08 17:21:16 +02:00
jochen
7d60650ae7
Issue 331: resolve it, now the sensors condition is seen to clear on the laptop
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
2026-10-08 17:12:50 +02:00
jochen
a97efa99f8
Issue 331: name the pull requests that fix it and its replay R331
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
Status stays located until the sensors condition on the laptop is seen to clear.
2026-10-08 17:11:33 +02:00
mesh-admin
72e0a851cf
Merge pull request 'Issue 331: a declared tool check is never asked on the live link' ( #218 ) from issue/331-a-tool-check-is-never-asked into main
2026-10-08 15:06:55 +00:00
jochen
33b0ee3d53
Issue 331: state how the fix is proved, what CI still skips, and that the grants hold live
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
2026-10-08 17:02:52 +02:00
jochen
6dda1b1d77
ADR 0261: one condition per pending assignment, and a raised row kept until it clears
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
The second review of mesh-controller#150 changed points 1, 6 and 7; say
what the code now does.
2026-10-08 16:46:42 +02:00
jochen
3a09387c8e
ADR 0261: an assignment made while its module's build runs is kept pending
...
The review of mesh-controller#150 found the controller now makes an
assignment after the person's act, which no record decided. Decide it,
cite it from the glossary and to-be 45, and correct issue 325's account
of what is settled where and what is sent.
2026-10-08 16:46:40 +02:00
jochen
63754ca874
Issue 325: assign said no module of that name while the module's build ran
...
Register the symptom and the fix in mesh-controller#150 (replay R325 in
mesh-lab#68), and name the pending assignment in the glossary.
2026-10-08 16:46:40 +02:00
jochen
08e065fbb6
Issue 331: record why no declared tool check was ever asked on a live machine
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
2026-10-08 16:45:21 +02:00
jochen
c64a7b3d4a
Issues 326-330: register research 036's live bus faults, each diagnosed
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
The bus's own numbers were unexplained and raised by nothing. Measured again
read-only: mesh-delivery rewrites unchanged deliveries (326), every controller
verb dials its own connection (327), API errors have no reader (328), event
consumers outlive their declaration (329), and design 25's dead-letter stream
was never built (330). The two slow consumers join issue 270, whose missing
system account they share.
2026-10-08 16:27:34 +02:00
mesh-admin
a95e8060c3
Merge pull request 'ADR 0257, issues 321-323, research 035: record the bases builds copy; what the pre-mesh images are' ( #207 ) from decision/a-copied-base-is-recorded into main
2026-10-08 14:02:47 +00:00
mesh-admin
f5f4eedf7a
Merge pull request 'ADR 0254: a wait for a person's new login is not a gate's failure, and each module of a send keeps its own pass (issue 318)' ( #204 ) from fix/318-a-wait-for-a-person-is-not-a-failure into main
2026-10-08 13:03:12 +00:00
jochen
3bfedcfa15
ADR 0258 and issue 324: the live window, data loss never silenced from a click, and where to give what no notification can
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery-group group fix/notifications-after-review delivered: every member is delivered
The second review found the fix could not read what the live build kept, missed
quiet warnings known from history, and let a click silence data loss.
2026-10-08 14:56:48 +02:00
jochen
b6690c38cf
ADR 0257: platforms go only in a confirmed collect; say what stays, and what a rollback costs
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
The sweep after a build is real collection with no dry run in front of it, so it lets an
index go alone (review of #207 ).
2026-10-08 14:53:04 +02:00
jochen
f5d08f4b6f
Issue 324: name the pull requests that fix it
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery-group group fix/notifications-after-review checking: 2 of 3 member(s) ready
mesh/delivery superseded: a newer head of the same pull request
2026-10-08 14:40:30 +02:00
jochen
dd149a72c0
Issue 324 and ADR 0258: a desk click performs only an acknowledgement
...
Review found that ADR 0253 let any process at the operator's session release,
stop or start a delivery in the operator's name, and that its tokens, fallback
words and quiet warnings failed on the paths that go wrong.
2026-10-08 14:40:02 +02:00
jochen
01e48196f7
Narrow ADR 0254 to what the walk path does, and say what a pending relogin excuses (issue 318)
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery-group group fix/318-a-wait-for-a-person-is-not-a-failure delivered: every member is delivered
2026-10-08 14:38:08 +02:00
jochen
781681a117
ADR 0254: a wait for a person's new login passes the gate, so one module's wait stalls no walk (issue 318)
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery-group group fix/318-a-wait-for-a-person-is-not-a-failure checking: 3 of 4 member(s) ready
mesh/delivery superseded: a newer head of the same pull request
2026-10-08 14:25:40 +02:00
jochen
59bc551b5b
ADR 0257, issues 321-323, research 035: record the bases builds copy, and say what the pre-mesh images are
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
The store's tools counted 23.8 GiB nothing records: copied bases the sweep could never
let go of, platforms a let-go index left behind, and images from before the mesh. Package
retention read no lockfile, so it kept versions by age alone.
2026-10-08 14:08:45 +02:00
jochen
356c5f23f4
ADR 0253: say whether the operator is needed, keep quiet what needs nothing, answer from the notification
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery-group group feat/plain-notifications delivered: every member is delivered
The operator read the reworded popup and could not tell whether to act, and was
sent to open a session to act at all. The record now decides the verdict, the
quiet rule and the path by which a notification is answered.
2026-10-08 14:00:38 +02:00
jochen
fc3c42318f
Issue 320: name the pull requests that fix it
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery-group group feat/plain-notifications ready: every member ready, and composed together they pass
mesh/delivery superseded: a newer head of the same pull request
2026-10-08 13:29:33 +02:00
jochen
7c49aa0ffc
Issue 320 and ADR 0253: a condition says itself to the operator in plain words
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
The operator could not read the mesh's notifications: they were the summary meant
for an agent, with ids, commits, keys and verbs, in UTC. The condition now carries
a headline, an explanation and a resolved line beside its summary.
2026-10-08 13:28:50 +02:00
jochen
aa221abfee
Issues 316-319: holds that never lift, a hold a later merge walks past, and one module's wait stalling every walk
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
Four delivery defects seen on 2026-10-08, each located, so their decisions can be made before code moves.
2026-10-08 13:23:49 +02:00
mesh-admin
df0097245d
Merge pull request 'Issue 314: a large answer was lost on its way back; issue 200 resolved by 265's fix' ( #198 ) from issues/314-a-large-answer-was-lost-on-its-way-back into main
2026-10-08 11:06:34 +00:00
mesh-admin
7879ade66f
Merge pull request 'ADR 0252: a module puts an account in a group, and the mesh says when a new login is needed' ( #201 ) from decision/0252-a-module-puts-an-account-in-a-group into main
2026-10-08 11:05:12 +00:00
jochen
3449775cb6
ADR 0252: a module puts an account in a group, and the mesh says when a new login is needed
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
Issue 247 left adding the operator's account to a daemon's group a sudo step by hand. Decide that
a module declares it with the user resource's groups, that the mesh gives back only what it added,
and that the node-engine says relogin needed; amend to-be 41 with WP6 and resolve the issue.
2026-10-08 12:04:50 +02:00
mesh-admin
f2201beb40
Merge pull request 'Issue 315: a failed unit of a module was never raised' ( #199 ) from issues/315-a-failed-unit-was-never-raised into main
2026-10-08 09:40:28 +00:00
jochen
28aabd8621
Issue 315: say the node-engine's repository as an identifier
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
2026-10-08 11:30:30 +02:00
jochen
f78e21c5f9
Issue 314: a large answer was lost on its way back; issue 200 resolved by 265's fix
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
An answer over the bus's max_payload was refused inside the controller and
every caller timed out, while calls said answered. Diagnosed and proved (R314),
and told apart from issue 200, whose permission refusal issue 265 already fixed.
2026-10-08 11:30:10 +02:00
jochen
7121d0737e
Issue 315: a failed unit of a module was never raised
...
Liveness judged only long-running resources, so a module whose daemon
is a package's unit failed at every login while its machine read
healthy, and a degraded service manager was said by nothing.
2026-10-08 11:30:08 +02:00
jochen
67bb28da4e
Issue 313: history adopted at the switch was held for a person; ADR 0250 retires it and ends owed work the forge cannot do
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery-group group fix/313-retire-adopted-history delivered: every member is delivered
2026-10-08 11:20:44 +02:00
mesh-admin
b11219e3de
Merge pull request 'Issue 309: two order rules ordered one pair both ways; ADR 0249 gives them a precedence' ( #194 ) from issues/309-two-order-rules-ordered-one-pair-both-ways into main
2026-10-08 09:11:45 +00:00
jochen
a0765c0b13
Issue 310: a pull request ran its own copy of its repository's check
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
The build seat ran the merge-check.sh in the change's head, so a branch older
than the script, or one that gutted it, merged untested; and the media
catalogue did not require mesh/repo-check at all. Located, fixed on branches,
replayed as R310; the protection change awaits the operator.
2026-10-08 11:00:44 +02:00
jochen
7839703b60
Issue 312: no tool said a machine's disk load, so issue 306 could not measure its disk
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
2026-10-08 10:48:44 +02:00
jochen
a3bedeb227
Issue 309: two order rules ordered one pair both ways; ADR 0249 gives them a precedence
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
A group of the controller, the node-engine and the lab, each ready, was
refused as a cycle: built by put the controller's member first, engine
before controller the node-engine's. ADR 0249 ranks the rules (declared,
then built by and version skew, then engine before controller) and
supersedes ADR 0239's sentence that made a declared order against an
inferred one a cycle; design 47 says the precedence. Resolved by
mesh-controller #134 and mesh-catalog #119 , replay R309 (mesh-lab #64 ).
2026-10-08 10:46:34 +02:00
jochen
c67ceacccf
Issue 311: the media catalogue's check ran no tests for its TypeScript modules
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
Its check declared only Go, so ten modules merged with nothing of their own run, and a
Go module without tests would have passed too.
2026-10-08 10:41:31 +02:00
mesh-admin
fcb76ca29d
Merge pull request 'Issue 306: a check on the control node ran past its timeout' ( #191 ) from issues/306-a-check-on-the-control-node-ran-past-its-timeout into main
2026-10-08 08:34:59 +00:00
mesh-admin
37e82fb9fc
Merge pull request 'Issues 307, 308: the lab's beds kept the bus and runtime the mesh had left; a lab unit test's verdict depended on the machine' ( #192 ) from issues/307-308-the-labs-beds-and-a-host-dependent-test into main
2026-10-08 08:34:52 +00:00
mesh-admin
879b183268
Merge pull request 'Issue 305: a recheck left the old verdict standing' ( #190 ) from issues/305-a-recheck-left-the-old-verdict-standing into main
2026-10-08 08:34:30 +00:00
mesh-admin
57b24738f3
Merge pull request 'Issue 146: the enrolment-time consumer is answered by issue 208; design 08 names the join's code' ( #189 ) from issues/146-the-enrolment-consumer-and-the-tunnel-join into main
2026-10-08 08:24:28 +00:00
jochen
9c030a714a
Issues 307, 308: the lab's beds kept the bus and runtime the mesh had left; a unit test's verdict depended on the machine
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
Registered so the lab's state on 2026-10-08 is answered where the mesh's faults are, not only in a pull request.
2026-10-08 10:23:34 +02:00
jochen
db0fea6067
Issue 306: a check on the control node ran past its timeout
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
Store-bound packages ran five to seven times slower there while the rest
ran alike: the throwaway store flushes to a disk the mesh's own data keeps
busy. And a holder recreated mid-check left its store and bus running.
2026-10-08 10:21:49 +02:00
jochen
573a44a33d
Issue 305: a recheck must put the merge check back to pending, or the old verdict merges
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
2026-10-08 10:12:52 +02:00
jochen
43bffdc0c3
Issue 146: the enrolment-time consumer is answered by issue 208's assertion; design 08 names the join's code
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
The branch building ADR 0169 carried a fix making a node's declaration
consumer as it enrols. The controller already asserts every node's
consumer before each send, and the self-check's healer asserts a missing
one again, so the fix is dropped rather than merged and the record says
why. The installer now places the bus's accounts at genesis.
2026-10-08 01:53:07 +02:00
jochen
e3caa4e1d4
ADR 0217, to-be 44: no change to a machine takes effect unseen
...
mesh/delivery-group group feat/no-change-takes-effect-unseen delivered: every member is delivered
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
Two incidents in two days had one shape: a change took effect that nobody saw first (issues 241
and 304). Three guards where the change is made — a settings layer read before it is replaced, a
push that says what it will change, a running module's data move acknowledged — each silent when
nothing is at stake. Accepted by the operator on 2026-10-08.
To-be 44 is in progress in mesh-controller (feat/no-change-takes-effect-unseen), migration 0078,
fitted onto what the controller does since: a whole-mesh push that says so and leaves a machine
waiting for a gate, a person's push that says what it recreates (ADR 0242), a named push's cascade.
The decision index is generated (ADR 0248), so no line is added to its README.
2026-10-08 01:45:49 +02:00