jochen
5d4e427117
Ignore Python's cache: running the checks wrote it, and one file had been committed by mistake
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 01:04:03 +02:00
mesh-admin
c6ff3b65b6
Merge pull request 'Issues 301, 302: a push of recorded builds is no repair; the lab's Go replays are checked in Go' ( #184 ) from issues/301-302-a-push-of-recorded-builds-and-the-labs-go into main
2026-10-07 22:26:27 +00:00
jochen
7fde8f4bbe
Issues 301 and 302: a push of recorded builds is no repair, and the lab's Go is checked in Go
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
301: S15 counted the operator's pushes of recorded builds, the word ADR 0242
asks for, as repairs and wanted a healer for three causes. 302: the lab's
replays register was never compiled before a merge, because its check ran in
the TypeScript toolchain. To-be 45 §7 and §9 say how each is now decided and
checked.
2026-10-08 00:17:14 +02:00
mesh-admin
69ab2fd7f7
Merge pull request 'Issues 296, 299, 300: resolved, each with its replay' ( #183 ) from issues/296-299-300-resolved into main
2026-10-07 21:55:20 +00:00
jochen
787f428e7e
Issues 296, 299, 300: resolved, each with its replay proved to fail before its fix
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-07 23:44:47 +02:00
mesh-admin
ded2173308
Merge pull request 'ADR 0248: the decision index is generated when it is read, and never stored (issue 297)' ( #182 ) from decision/generated-decisions-index into main
2026-10-07 21:44:14 +00:00
jochen
f4a76ca291
Issue 297: resolved by hq PR #182 and mesh-catalog PR #115
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-07 23:39:30 +02:00
jochen
55637ecb95
ADR 0248: the decision index is generated when it is read, so two open decisions no longer conflict
2026-10-07 23:38:34 +02:00
mesh-admin
eb54474519
Merge pull request 'Issue 300: a new module is not built at its merge' ( #181 ) from issues/300-a-new-module-is-not-built-at-its-merge into main
2026-10-07 21:01:41 +00:00
mesh-admin
2adbfed90f
Merge pull request 'Issue 299: an optional verb makes a holder look silent' ( #180 ) from issues/299-an-optional-verb-makes-a-holder-look-silent into main
2026-10-07 21:01:34 +00:00
jochen
aaaef91b7b
Issue 300: say delivery plan, the glossary's word
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-07 22:40:17 +02:00
jochen
9b573f4ca0
Issue 300: a new module is not built at its merge
...
The change plan said a merge adding a module builds it; the merge built
nothing, so the module stayed unregistered until a hand build.
2026-10-07 22:39:56 +02:00
jochen
6006754172
Issue 299: an optional verb makes a holder look silent
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
D3 raised node-uplink silent on every machine once the seat gained verbs its
holders are not yet required to serve, against ADR 0246's step 1.
2026-10-07 22:29:04 +02:00
mesh-admin
dda850863f
Merge pull request 'ADR 0247: a machine with a VPN client routes names by domain, through a resolver of its own' ( #179 ) from decision/0247-split-dns-on-a-machine-with-a-vpn-client into main
2026-10-07 19:46:08 +00:00
jochen
6373ca815b
ADR 0247: say exactly where the VPN's domains go and do not
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-07 21:35:40 +02:00
jochen
7e9d0dfe7b
ADR 0247: say what is to confirm live about resolved and the resolver file, not a guess
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: its merge-check.sh passed
2026-10-07 21:35:21 +02:00
jochen
478a198e9a
ADR 0247: a machine with a VPN client routes names by domain, through a resolver of its own
...
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
Research 033 measured the laptop's VPN client and the mesh overwriting each
other's resolver file in nine of nine sessions, each time cutting off one
kind of name. The operator chose a resolver module on a node seat of its
own, installed only where something requires split-dns, with the VPN
client's module carrying the adapter. Graduates research 033 into to-be 50,
and amends connectivity §2, to-be 48 §10, the seats and the glossary.
2026-10-07 21:33:48 +02:00
mesh-admin
9b6479f78f
Merge pull request 'Issue 297: two open decisions always conflict' ( #177 ) from issues/297-two-open-decisions-always-conflict into main
2026-10-07 19:21:55 +00:00
mesh-admin
0bd12fc777
Merge pull request 'Issue 298 and ADR 0246: a seat's new verb is promised before it is required' ( #178 ) from issues/298-a-new-seat-verb-deadlocks into main
2026-10-07 19:21:52 +00:00
mesh-admin
3083283e17
Merge pull request 'words.py: a retired word's plural is the word' ( #176 ) from fix/words-match-plurals into main
2026-10-07 19:21:34 +00:00
jochen
91daabaa97
Say the uplink verbs shipped optional, not staged: a progressive insight in ADR 0241, corrected in to-be 48
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
The controller that merged (mesh-controller #116 ) dropped the staged seat and
marked both verbs optional, stored in the seat's row and read back optional.
2026-10-07 21:18:11 +02:00
jochen
4b36234c9b
Reword the hosts file in to-be 36, found by the plural on the rebase onto main
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/words-match-plurals delivered: every member is delivered
2026-10-07 21:14:43 +02:00
jochen
350f7dcdc2
Hold a retired word's plural to the word, so alerts and rollouts no longer pass
...
words.py matched a retired word only when nothing followed it, so the
plural of every retired word passed. The pattern now takes s or es on the
last word; 14 uses in 9 documents are reworded, two of them 'the hosts'
for the node-engines.
2026-10-07 21:14:36 +02:00
jochen
e6a17b8bf6
Issue 298 and ADR 0246: a seat's new verb is promised before it is required
...
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
Design 33 said a seat's verbs change additively, and section 3 made each
one a condition of holding, so a verb added in the controller and served
from the catalogue could land in neither order. It happened three times on
2026-10-07. Section 7 now says the three steps and how each is checked.
2026-10-07 21:14:20 +02:00
jochen
57f95fc6bb
Issue 297: every open decision conflicts with the next one to merge
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
The written decision index is the one file every decision PR edits, at the
end of its topic, so on 2026-10-07 each merge forced the others to rebase
and be checked again. The diagnosis weighs four fixes and recommends
generating the index on read.
2026-10-07 21:11:42 +02:00
mesh-admin
921ff3e6c4
Merge pull request 'ADR 0245: a verb says what it replaces, and the agent is guarded from working round the mesh' ( #173 ) from decision/0242-a-verb-says-what-it-replaces into main
2026-10-07 19:10:00 +00:00
mesh-admin
52ecd8bfd5
Merge pull request 'Issue 296: a plan's clock restarted at every save' ( #175 ) from issues/296-a-plans-clock-restarted-at-every-save into main
2026-10-07 19:04:58 +00:00
jochen
6cacf772dc
ADR 0245: a verb says what it replaces, and the agent is guarded from working round the mesh
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
The agent reached machines over ssh because search never found the verbs by the commands it knew.
Records the three rules (generated instead-of table, search by replaced command, the shell guard
with the operator's recorded override) and how each is checked; to-be 36 names it.
2026-10-07 21:04:24 +02:00
mesh-admin
ede4b29cd1
Merge pull request 'ADR 0241 and to-be 48 §10: a machine says how its network is, and an outside writer of a mesh file is a finding' ( #168 ) from decision/0241-a-machine-says-how-its-network-is into main
2026-10-07 19:04:09 +00:00
jochen
6caa471ed0
Issue 296: the refused step logged and saved on every tick
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-07 20:47:09 +02:00
jochen
c462837ff2
ADR 0241's design: name the node-engine's repository as code (ADR 0244)
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-07 20:33:23 +02:00
jochen
fe232388a0
ADR 0241 rule 8: the uplink seat answers what the machine resolves through
...
A finding about a machine's names needs a way to look further that is not
a terminal on the machine; the uplink seat's holders are where that is.
2026-10-07 20:33:23 +02:00
jochen
a22a1661e1
ADR 0241 and to-be 48 §10: a machine says how its network is, and an outside writer of a mesh file is a finding
...
A VPN client rewrote the laptop's resolver file and every mesh name failed
while each module read healthy: nothing judged the machine under them.
2026-10-07 20:33:23 +02:00
mesh-admin
f6aa1ced5e
Merge pull request 'Issue 295 and ADR 0242 (proposed): a recorded build moves only by a person's push, and a send says what it recreates' ( #171 ) from issues/295-a-recorded-build-was-carried-by-a-plans-send into main
2026-10-07 18:33:14 +00:00
jochen
998980bbda
Issue 295: use the glossary's words (ADR 0244)
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-07 20:24:59 +02:00
jochen
be8ea16d28
Issue 295 and ADR 0242: a recorded build was carried by a plan's send, and mail went down with a health check
...
The plan delivering the first health declarations recreated the database and
the document store (record) and nine of mail's containers at once. Record
held only against a person's push to another machine; it now holds against
every send but a person's, and a send says what it recreates.
2026-10-07 20:24:24 +02:00
mesh-admin
4556d37370
Merge pull request 'ADR 0244: the mesh in domains, one word per thing, checked (graduates research 034)' ( #174 ) from decision/0244-the-mesh-in-domains into main
2026-10-07 18:23:58 +00:00
jochen
fbc6405f1e
Issue 296: a plan's clock restarted at every save
...
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
plans counted a plan's time from its last save, and every advance saved it, so a queued build read
as seconds old and was never late; located in the controller, fix in mesh-controller PR #119 .
2026-10-07 20:08:03 +02:00
jochen
008014591b
Do not track the word check's compiled cache
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-07 20:07:33 +02:00
jochen
051696e107
Retire "the host" in hq prose only: in the tools it is also an SSH server's word
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-07 20:02:03 +02:00
jochen
a28da1734b
Graduate research 034: the mesh in domains, one word per thing, checked
...
ADR 0244 sorts the mesh's concepts into ten domains (ADR 0006's contexts
carry over as domains), keeps machine and node as distinct words, and
makes the glossary the authority with every retired word on its
replacement's Not: line. To-be 49 draws the domains; the glossary is
reorganised by them, its two contradictions removed and the missing
words added. words.py now fails on a retired word in running prose and
on a word defined twice, so the rule is enforced rather than believed;
the 63 documents it failed on are reworded here, and research 034 is
kept as the record of the words it studied.
2026-10-07 19:58:39 +02:00
mesh-admin
476558c687
Merge pull request 'ADR 0243: the agent module removes a home item it did not place only on the person's word, and keeps a copy' ( #172 ) from decisions/0243-the-agent-module-removes-a-home-item-on-the-persons-word into main
2026-10-07 17:48:15 +00:00
mesh-admin
d96644e827
Merge pull request 'Issue 294: a quoted value given to the controller's command line cannot hold a quote' ( #169 ) from issues/294-a-quoted-value-cannot-hold-a-quote into main
2026-10-07 17:48:03 +00:00
jochen
9ab4ca66ca
ADR 0243: the agent module removes a home item it did not place only on the person's word, so the old rule files can leave without a remote shell
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-07 19:43:55 +02:00
jochen
f2abbb042c
Research 034: the mesh in domains
...
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 stopped: the pull request closed unmerged
The operator asked for one language per domain because the same concept
keeps arriving under different words. Inventory the words in use, test a
domain split, list the clashes with evidence, and describe how the
glossary rule would be checked.
2026-10-07 19:37:44 +02:00
jochen
725ad51606
Issue 294: a quoted value given to the controller's command line cannot hold a quote
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-07 19:23:08 +02:00
mesh-admin
79cadf6c96
Merge pull request 'Research 033: split DNS with a VPN client' ( #167 ) from research/033-split-dns-with-a-vpn-client into main
2026-10-07 16:54:28 +00:00
jochen
0ab47b9417
Research 033: split DNS with a VPN client
...
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
The laptop's VPN client replaces the mesh's resolver file on every connect and
the node-engine writes it back minutes later, so either the mesh's names or the
corporate ones fail for whole sessions. Measure how the client sets DNS and
weigh how names can be routed by domain without breaking ADR 0223's one-answer
rule.
2026-10-07 18:38:49 +02:00
mesh-admin
30d78ec9a2
Merge pull request 'To-be 48 Phases B to E are built: what each chose, and what is still to read on the live mesh' ( #166 ) from feat/a-module-says-how-it-is-healthy-b-to-e into main
2026-10-07 16:28:45 +00:00
jochen
e453da3a3b
To-be 48 Phases B to E are built: what each chose, and what is still to read on the live mesh
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-07 16:17:57 +02:00