mesh-admin
f08342ad50
Merge pull request 'ADR 0258: name the mesh MCP server, not the retired console' ( #209 ) from fix/needs-you-from-the-console into main
2026-10-08 13:20:45 +00:00
jochen
df41dfff38
ADR 0256: say exactly how a SAS drive, a USB drive and a stuck read are treated
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
The SAS sentence now holds for modes with spaces, a hung read is unhealthy in two to three minutes, not
one, every USB drive is told sat, and the limits of a stuck read are recorded.
2026-10-08 15:04:03 +02:00
jochen
39585e3bb2
ADR 0258: name the mesh MCP server, not the retired console
...
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/needs-you-from-the-console delivered: every member is delivered
The glossary retires "console"; the words an operator reads say where to act in
the mesh's own word.
2026-10-08 15:03:41 +02: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
mesh-admin
fc9df13497
Merge pull request 'Issue 324 and ADR 0258: a desk click performs only an acknowledgement, an answer is a one-time ticket' ( #208 ) from fix/notifications-after-review into main
2026-10-08 13:03:00 +00:00
jochen
0406373545
ADR 0256: one reader of the drives, and a stuck read is said
...
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
After the second review: smartd is dropped as a second reader that could wake or keep awake the drives,
a stuck read or a drive not looked at is unhealthy, a drive asleep for a day is HIGH and never unhealthy,
and a board chip's maximum says nothing of a fan. The never-woken and hourly claims now say exactly what
holds.
2026-10-08 14:59:12 +02: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
mesh-admin
ef8b76461e
Merge pull request 'ADR 0255: the bar takes blocks as data from the module that knows the hardware' ( #205 ) from feat/the-bar-takes-blocks into main
2026-10-08 12:44:40 +00: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
e4299b5521
ADR 0255: say what review changed — if-capability on offered kinds only, unrenderable pieces left out and named, and why the sampler runs everywhere
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/the-bar-takes-blocks delivered: every member is delivered
2026-10-08 14:35:56 +02:00
jochen
f63828ce1c
ADR 0256: say exactly what raises a condition, and why a drive is read only hourly
...
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
Rule 4 now matches the module after review: the NVMe temperature bit, old-age attributes, a fan's minimum
or alarm and a board chip's limits raise nothing; a stale watch does. The standby caveat is recorded: no
mesh tool sees a drive's spin-down timer, so spinning drives are read hourly.
2026-10-08 14:35:21 +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
mesh-admin
1c987e0df7
Merge pull request 'Issue 320 and ADR 0253: a condition says itself to the operator in plain words' ( #203 ) from feat/plain-notifications into main
2026-10-08 12:20:39 +00: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
c8b6a4eea8
ADR 0256: one module reads the machine's hardware, so a failing drive or fan is raised, not found dead
...
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 machine's temperatures, fans and drive health were read by the laptop's vendor module only; the
machines' 20 drives were watched by nothing. The sensors module reads them on every machine, holds no
seat until a caller must reach it by role, and says a hardware fault through ADR 0240's health until the
machine judges its own hardware. To-be 48 gains §11 and phase G.
2026-10-08 13:48:52 +02:00
jochen
5852b66988
ADR 0255: the bar takes blocks as data from the module that knows the hardware
...
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/the-bar-takes-blocks rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request
The operator chose a generic boundary for the bar: a block is said in terms no bar
owns and rendered by the seat's holder, placed only where the machine reports the
hardware, and generic hardware comes from the generic seat's module, not a vendor's.
To-be 42 records it; ADR 0208 points to it.
2026-10-08 13:45:27 +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
mesh-admin
73fa97efde
Merge pull request 'Issues 316-319: holds that never lift, holds walked past, and one module's wait stalling every walk' ( #202 ) from issues/316-319-holds-and-gates into main
2026-10-08 11:27:49 +00: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
c3022d5e14
Merge pull request 'ADR 0251 and to-be 51: the registries say what they hold and keep what is named' ( #200 ) from design/051-the-registries-keep-what-is-named into main
2026-10-08 11:06:17 +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
f91735b629
Put the store's tools in a module beside it, since the store's module may not build (ADR 0251)
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 12:08:02 +02: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
jochen
f1e2ebce7a
Record how the registries keep what is named, so nothing piles up unseen (ADR 0251, to-be 51)
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 11:51:59 +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
mesh-admin
bd14e1b021
Merge pull request 'Issue 313: history adopted at the switch was held for a person; ADR 0250 retires it' ( #197 ) from fix/313-retire-adopted-history into main
2026-10-08 09:36:53 +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 stopped: a member was stopped
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
mesh-admin
c6e76015b7
Merge pull request 'Issue 310: a pull request ran its own copy of its repository's check' ( #196 ) from issues/310-a-pull-request-ran-its-own-copy-of-its-check into main
2026-10-08 09:10:27 +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
mesh-admin
c0662f1171
Merge pull request 'Issue 312: no tool said a machine's disk load' ( #195 ) from issues/312-no-tool-said-a-machines-disk-load into main
2026-10-08 08:55:40 +00: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
mesh-admin
47aaae98b1
Merge pull request 'Issue 311: the media catalogue's check ran no tests for its TypeScript modules' ( #193 ) from issues/311-the-media-catalogues-modules-ran-no-tests into main
2026-10-08 08:46:10 +00: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