jochen
d444458bf6
Issue 195: resolved by the controller composing users only for modules that can read an account
2026-10-04 17:37:20 +02:00
mesh-admin
dd8b15a0df
Merge pull request 'Issue 195: located in the controller's user composition' ( #370 ) from issue/195-diagnosis into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 15:34:11 +00:00
mesh-admin
02b4ca9bec
Merge pull request 'ADR 0213: the operator sets the agent's managed settings through the agent module' ( #369 ) from feat/claude-code-agent-settings into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 15:34:09 +00:00
jochen
7cd5b37afe
Issue 195: located in the controller's user composition
...
Records why a module that cannot read an account is no bus user, what else
read those users (durable consumers), and answers the report's questions.
2026-10-04 17:33:27 +02:00
jschoubben
aac0da9c0c
Merge pull request 'ADR 0199: a module that answers names declares its zone, and a node's hosts file is one module's' ( #337 ) from decision/0199-zones-and-the-hosts-file into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 15:33:07 +00:00
jochen
57b818b669
ADR 0213: the operator sets the agent's managed settings through the agent module
...
Rules for what the agent may do were set by hand per machine, invisible to
the mesh, and a session cannot loosen its own permissions; design 36 now
takes them as a module setting under the mesh's own keys.
2026-10-04 17:32:18 +02:00
jschoubben
33c10aa85a
Issues 239, 240, and 238's diagnosis: a module name taken over, a dry run recorded, the operator banned
...
239: two repositories defined photos; a rebuild to the catalogue's main replaced the app with a stub
and nothing refused it. 240: a dry-run build was recorded and its definition reached the machine.
238: the forge refused three ssh logins as the operator's account in 31 seconds; nothing in the mesh's
ssh configuration names the forge, and no jail ignores the mesh's own public addresses.
2026-10-04 17:31:29 +02:00
mesh-admin
e5042e1e7a
Merge pull request 'Issues 237, 238: a self-contradicting assign answer, and the operator's address banned' ( #367 ) from issues/237-238-a-stale-answer-and-a-banned-operator into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 15:06:51 +00:00
jochen
2580fb6839
Issues 237, 238: a self-contradicting assign answer, and the operator's address banned
2026-10-04 17:06:38 +02:00
mesh-admin
4a8a378ef9
Merge pull request 'ADR 0212: a seat says what it receives, and the machine's hotkeys are a seat' ( #366 ) from decision/0212-contributions-to-a-seat-and-hotkeys into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 14:42:31 +00:00
jochen
3f48e685cc
ADR 0212: a seat says what it receives, and the machine's hotkeys are a seat
2026-10-04 16:42:21 +02:00
mesh-admin
1e0b9ee11f
Merge pull request 'As-is: a module's state, and the agent with its licences; designs 36, 39, 40 implemented' ( #365 ) from design/state-and-licences-as-is into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 14:33:50 +00:00
jochen
1faa63b2d5
As-is: a module's state and the agent with its licences; designs 36, 39 and 40 implemented
...
What runs since 2026-10-04 and what its first live use showed: refused
requests as timeouts, a late machine reading the whole set, the partial
secrets guard; the agent module and the licence manager on every machine.
2026-10-04 16:32:29 +02:00
mesh-admin
3a359bf99e
Merge pull request 'ADR 0211: a machine's power is a node seat, its moments take contributions, and its states are events' ( #364 ) from decision/0211-power-is-a-node-seat into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 13:58:25 +00:00
jochen
ec6d106af8
ADR 0211: a machine's power is a node seat, its moments take contributions, and its states are events
2026-10-04 15:58:16 +02:00
jochen
e2b4f3a5c4
Regenerate the decision index
2026-10-04 15:58:09 +02:00
mesh-admin
dfb2817fe7
Merge pull request 'ADR 0210: a tool's configuration is its seat holder's, and every other module extends it through the seat' ( #361 ) from decision/0210-a-contribution-depends-on-the-seat-that-receives-it into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 13:42:56 +00:00
mesh-admin
12742e3a3f
Merge pull request 'Designs 36 and 39: the manager's verb is public-key' ( #363 ) from fix/the-verb-is-public-key into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 13:41:32 +00:00
jochen
5b00bdc7af
Designs 36 and 39: the manager's verb is public-key (a seat's verb takes no underscore)
2026-10-04 15:41:23 +02:00
mesh-admin
d5a96e5c63
Merge pull request 'Research 028: the mesh's output channel' ( #362 ) from research/028-the-meshs-output-channel into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 13:36:17 +00:00
jochen
73e6400802
Research 028: the mesh's output channel — how the mesh tells its operator what it noticed
2026-10-04 15:36:03 +02:00
jochen
f144ad7be4
To-be 42: who writes what in phase 2 (ADR 0210)
2026-10-04 15:20:01 +02:00
jochen
8394a7bfb1
ADR 0210: a tool's configuration is its seat holder's, and every other module extends it through the seat
2026-10-04 15:19:44 +02:00
mesh-admin
6ac936f170
Merge pull request 'Issues 235, 236: an assignment and a check that let through what then fails' ( #360 ) from issues/235-236-an-assignment-and-a-check-that-let-through-what-fails into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 13:19:41 +00:00
jochen
3af4179755
Issues 235, 236: an assignment and a check that let through what then fails
2026-10-04 15:17:46 +02:00
mesh-admin
dd04729ec5
Merge pull request 'ADR 0209: a login on a node moves that node to its account; an API key is added from any node, sealed' ( #359 ) from decision/0209-a-login-moves-its-node into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 13:12:01 +00:00
jochen
2e5f40c9fa
ADR 0209: a login on a node moves that node to its account; an API key is added from any node, sealed
...
Traced live: a login to a second account was adopted and left its node
bound to the first, holding a spent refresh token. Designs 36 and 39
amended.
2026-10-04 15:09:56 +02:00
mesh-admin
2f41b4124d
Merge pull request 'Issues 233, 234: a stale declaration removed four modules, and the host could not recover' ( #358 ) from issues/233-234-a-stale-declaration-and-a-host-that-cannot-recover into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 13:09:47 +00:00
jochen
9cc00d57ea
Issues 233, 234: a stale declaration removed four modules, and the host could not recover
2026-10-04 14:54:50 +02:00
mesh-admin
438162b5a5
Merge pull request 'Issues 225, 226 and 227 resolved with their live proofs; 232 opened and resolved' ( #357 ) from issues/228-photos-authenticates-against-admin into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 10:37:53 +00:00
jschoubben
ab1bd5598e
Issues 225, 226, 227 resolved with their live proofs; 232 opened and resolved
...
225: a grant secret is composed with the account that reads it — the node's
account for a bundle, the declared secrets-owner for a container. Zero EACCES
since 12:30:10 where there had been 4330, both users created, mongodb logging
Authentication succeeded for each. The harness also stops calling a permanent
refusal a race, which is the half that cost three hours.
226: normalising moved to the records, where the provenance is known, and a
reference the sweep will not address is skipped rather than ending the sweep.
The first build after the roll-out collected 200 and said 1126 remain — the
backlog falls with every build instead of standing at 1681 for ever.
227: the three photo modules publish the endpoint they declare, and a
catalogue-wide test makes it a rule: a container publishes only a port its
module declares, or the mesh has nothing to assign and the number escapes.
232 came out from under 225: photos asked for a database its user does not
live in, invisible while no user existed at all.
2026-10-04 12:37:31 +02:00
jschoubben
3f3fb99219
Issue 232: a consumer authenticates against a database its user does not live in
...
Found fixing 225: with the secrets readable the provisioner created both
users at once, and photos still could not connect because it asks for admin
while its user lives in its own database. The password was never wrong — the
grant secret and the consumer's environment hash identically.
One fault wore the other's clothes: while no user existed anywhere, the
error was a complete account of 225. Worth keeping as a habit — fix the
first and look again.
2026-10-04 12:33:57 +02:00
mesh-admin
3afe619531
Merge pull request 'ADR 0208: the graphical session is one module per piece, on the mesh's seats' ( #356 ) from decision/0208-the-graphical-session-is-modules-on-seats into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 10:29:20 +00:00
jochen
502cf4839b
ADR 0208: the graphical session is one module per piece, on the mesh's seats
...
Eleven node seats; a display as a provision with the machine's reach; other
modules' lines through the tool's own drop-in directory or ADR 0204's slots,
now also for xinitrc and xresources; the display server's module writes the
session's start.
2026-10-04 12:29:13 +02:00
mesh-admin
0ba68c154e
Merge pull request 'Issue 162 resolved: an archive can be undeclared (mesh-host#90)' ( #355 ) from issues/162-resolved into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 10:25:44 +00:00
jochen
460793af1c
Issue 162 resolved: an archive can be undeclared (mesh-host#90)
2026-10-04 12:23:06 +02:00
mesh-admin
25de331e9b
Merge pull request 'ADR 0207: a module depends on the node seats that apply its resources' ( #354 ) from decision/0207-a-module-depends-on-the-seats-that-apply-its-resources into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 10:21:46 +00:00
jochen
ed5ddcdef6
ADR 0207 extends ADR 0177 (accepted); 0166 stays a reference
2026-10-04 12:21:40 +02:00
jochen
e4f80cc3ce
ADR 0207: a module depends on the node seats that apply its resources
...
A service needs node-service-manager held on its node, a package
node-package-manager, a container node-container-runtime: derived from the
resources, never stated; refused at assign, reported at composition until the
three holders are on every node. Glossary: depends on a seat; nothing claims a
package.
2026-10-04 12:21:24 +02:00
mesh-admin
d2689c0f86
Merge pull request 'Issues 229 and 230: a rollout cannot be followed through the mesh's tools; a host hand-over loses its report and a plan waits for ever' ( #352 ) from issues/229-a-rollout-cannot-be-followed-through-the-meshs-tools into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 10:09:34 +00:00
mesh-admin
719aa6bd62
Merge pull request 'Research 026 and 027, issue 231, to-be 42: the graphical session, the system layer, and the order they are built in' ( #353 ) from research/026-027-the-graphical-session-and-the-system-layer into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 10:08:33 +00:00
jochen
ca13f59c88
To-be 42: the machines' modules, in order — every machine's, then the workstations', then one model's
2026-10-04 12:08:26 +02:00
jochen
f8a0402485
Merge remote-tracking branch 'origin/main' into research/026-027-the-graphical-session-and-the-system-layer
2026-10-04 12:08:17 +02:00
jochen
9016d88d54
Research 026/027: improve while adopting, the fonts chosen, and a catalogue of the tools each module serves
2026-10-04 12:06:08 +02:00
jochen
6e5dfd2ab8
Research 027/03: the laptop's power management; 026/04: fonts
2026-10-04 12:03:29 +02:00
mesh-admin
872f20d51f
Merge pull request 'To-be 40: building the operator's agent and its licence manager as work packages' ( #297 ) from feat/claude-code-work-packages into main
mesh/delivery held for a person: merged without a passing check: only a person decides that it goes on
2026-10-04 10:01:15 +00:00
jochen
550453c5db
Research 026/04: the clipboard
2026-10-04 12:00:20 +02:00
jochen
b7aebedc2d
Research 026/04: the screensaver, monitor layouts and menus
2026-10-04 12:00:01 +02:00
jochen
27b2d30441
Research 027/03: ~/.ssh as one module's, scripts on every machine, the keyring, mail as events
2026-10-04 11:59:23 +02:00
jochen
82fa5f79ea
ADR 0206: a node reports the grant it holds; the manager adopts a licence by refreshing it
...
The operator's flow: clients publish what their credentials file holds, the
manager takes in a licence it does not own and rotates it from then on. The
token itself cannot be published (design 32 §10, ADR 0201), so a node reports
fingerprints and identity as state and hands the grant over only when the
manager asks; adopting is refreshing, newest login first; bindings with a
generation replace the rotated/switched events. Designs 36 and 39 and to-be 40
amended; a pointer note on ADR 0183.
2026-10-04 11:58:46 +02:00