Commit Graph
1842 Commits
Author SHA1 Message Date
jschoubben f607598898 Check a partial supersession's date and refuse the older note form, as the review of this change found 0269's note on 0118 went round the check
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 delivered
2026-10-11 00:52:13 +02:00
jschoubben fd0b3b9976 Declare every partial supersession in both records and check it, so a reader who follows a citation to the older record learns what no longer holds
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-11 00:47:07 +02:00
jschoubben 6a408428d6 Write every extends target with its folder, as the frontmatter template says, so a reader of the field needs no second form 2026-10-11 00:43:13 +02:00
mesh-admin eac30272ee Merge pull request 'ADR 0283: the username lives in its sources entry, and the needs-operator words as built (issue 386)' (#297) from fix/386-username-in-sources into main 2026-10-10 20:25:24 +00:00
mesh-admin 86715ee5c1 Merge pull request 'ADR 0285: every condition's message says which issue tracks it and where it stands (issue 400)' (#299) from feat/400-alert-names-its-issue into main 2026-10-10 20:12:38 +00:00
jochen 8f99511160 Check every rule of ADR 0285, point ADR 0253 at it under its verdict rule, and cite the pull requests
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 delivered
mesh/delivery-group group feat/400-alert-names-its-issue delivered: every member is delivered
Review of hq#299.
2026-10-10 22:09:24 +02:00
jochen c79e416757 ADR 0285: say in every condition's message which issue tracks it and where it stands (issue 400)
The operator could not tell from a notification whether its cause was
known, tracked and being fixed. An issue tracks a condition by its key;
the tracker answers which issues track which conditions, and the router
says it in every message about the condition. Amends to-be 53 and 45,
playbook 03 and the glossary, and points ADR 0253 at the new line.
2026-10-10 22:09:24 +02:00
mesh-admin 1b84960179 Merge pull request 'ADR 0289: the controller mirrors its records into buckets written only on a change (issue 419, research 036 G2)' (#303) from decisions/0289-the-controller-mirrors-its-records-on-the-bus into main 2026-10-10 20:07:05 +00:00
jochen 9be659b18c Say how the writer tells its own lost acknowledgement from a former holder, list D16, and fix the settings heading (review of #303)
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 delivered
2026-10-10 22:05:17 +02:00
jochen 5a3513b819 Keep the epoch out of a mirror's value, age purge markers, say a lost event, and check every rule (review of #303) 2026-10-10 22:05:17 +02:00
jochen f90b74bf26 ADR 0289: the controller mirrors its records into buckets written only on a change (issue 419, research 036 G2)
Nodes, assignments, walks, builds and settings could be seen only by polling verbs, and a setting
changed with no event. Each becomes a record mirror: a bucket written from the store after the commit
and only when the value differs, one event per write, compared with the store on every self-check run
(D17, mirror-drifted, healer H6). The write-only-on-a-change rule from issue 326 now holds for every
bucket; the conditions bucket breaks it and issue 420 tracks that. The effort stays active for G1, G3
and the views.
2026-10-10 22:05:17 +02:00
mesh-admin 750a1d54d4 Merge pull request 'ADR 0286: a tool or verb marked in its manifest runs only on the operator's approval of that one call (issue 417)' (#302) from feat/0286-approval-bound-call into main 2026-10-10 20:04:24 +00:00
jochen 8060c20fda Separate the release paragraph from the execute bullet, and say the third call asks again
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 delivered
2026-10-10 22:00:27 +02:00
jochen 1d6ee8885a Bind old runners through the bus, say when the same call asks anew, and leave release unmarked until the controller's warrant passes the mark (review) 2026-10-10 22:00:27 +02:00
jochen 9b0c6741e7 ADR 0286: a tool or verb marked in its manifest runs only on the operator's approval of that one call (issue 417)
Graduates research 039. The tool runner (and the controller for its own verbs) asks the operator
through the existing operator-channel asks and runs the exact call once on the warrant, reusing the
act digest and warrant check of ADR 0259 and the shown-in-shape form of ADRs 0274 and 0277, so
risky agent calls stop resting on the agent's restraint. Amends to-be 46 and hands it off.
2026-10-10 22:00:27 +02:00
mesh-admin 8932e93a4b Merge pull request 'ADR 0287: a seat names the paths its holder owns, and a claim without them is refused (issue 412, research 023)' (#301) from feat/grad-023-seat-paths into main 2026-10-10 19:59:46 +00:00
jochen 906d702b8d Narrow ADR 0287's claimant rule to any seat naming the path, and correct two facts the review found
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 delivered
2026-10-10 21:57:24 +02:00
jochen 6b49ed613c ADR 0287: a seat names the paths its holder owns, so a file's owner is read from the seat (issue 412, research 023) 2026-10-10 21:57:24 +02:00
mesh-admin 3cce6dda4b Merge pull request 'ADR 0288: the object store stays on the maintained fork, and Garage is chosen only after the consumers' S3 features are counted (issue 413)' (#300) from decisions/0288-the-object-store-after-minio into main 2026-10-10 19:54:13 +00:00
jochen fb2d5d9f7f Name what checks the fork's triggers and track the mirroring question and the missing kept-by (issues 421, 413)
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 delivered
2026-10-10 21:52:00 +02:00
jochen b6c592cb9d Record the maintained MinIO fork as the object store, and choose Garage only after the consumers' S3 features are counted (research 015, issue 413) 2026-10-10 21:52:00 +02:00
mesh-admin 16cfe6d8c3 Merge pull request 'Close ten research efforts their decisions already settled (issue 408)' (#298) from fix/408-close-settled-research into main 2026-10-10 19:51:42 +00:00
jochen 907051c21d Keep 012 and 027 open and give every leftover of the closed efforts an issue (issue 408)
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 delivered
The review found questions no record decides: 012's minimum-viable-node
half and 027's packaging, secrets, sizing and leftovers questions, so both
stay active. Where the record lives (006) is issue 414, and 037's two
other leftovers are issues 415 and 416; to-be 06 now points at issue 414.
2026-10-10 21:48:28 +02:00
jochen 9a2a2006b1 Cover ADR 0283's check row 7 with the insight, and align to-be 48 with the words as built
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 delivered
From the review of hq#297.
2026-10-10 21:44:11 +02:00
jochen f515d8b6b2 Close twelve research efforts their decisions already settled (issue 408)
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
Ten graduated and two abandoned efforts still said active, so the record
read as open questions that later ADRs and designs had answered. Each now
names in became: what decided or overtook it. To-be 45's undecided item
moves from research 017 to issue 409, and research 037's shell follow-up
is issue 410.
2026-10-10 21:43:53 +02:00
jochen a3ac9fd547 Carry an SMB source's username in its sources entry, since a key naming a user may have no default (issue 386)
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
The live module check refused mesh-catalog#190's smb-users setting (ADR 0262);
ADR 0283 decision 7 gets a dated insight, to-be 52 and the 0263 note follow.
2026-10-10 21:42:54 +02:00
mesh-admin 90666a4ac3 Merge pull request 'Renumber the fixing-status record to ADR 0284 (issue 406)' (#296) from fix/renumber-0283-fixing-to-0284 into main 2026-10-10 19:42:41 +00:00
jochen ace8f6c398 Renumber the fixing-status record to ADR 0284 (issue 406)
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 delivered
hq #294 (issue 386) and #295 (issue 399) both merged a record numbered 0283;
#294 landed first and keeps it. The branch that lands last renumbers.
2026-10-10 21:35:34 +02:00
mesh-admin 61255b56d4 Merge pull request 'ADR 0283: an agent moves an issue to fixing under its own name, and an issue is resolved only from fixing (issue 399)' (#295) from feat/399-fixing-status into main 2026-10-10 19:13:24 +00:00
mesh-admin 536b193c7b Merge pull request 'ADR 0283: a part waiting for the operator's secret or setting is said as waiting and passes the first-node gate (issue 386)' (#294) from feat/386-a-wait-for-the-operator into main 2026-10-10 19:10:46 +00:00
jochen 2648d571b3 Point ADRs 0240 and 0254 at ADR 0283, bound a family member's name, and say the cost of a setting wait
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 delivered
mesh/delivery-group group feat/386-a-wait-for-the-operator delivered: every member is delivered
From the review of hq#294.
2026-10-10 21:08:40 +02:00
jochen 8cdc9706e1 Use role names, not node names, in the worker examples (public repository)
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 delivered
mesh/delivery-group group feat/399-fixing-status delivered: every member is delivered
2026-10-10 21:08:25 +02:00
jochen 21973e2e4a ADR 0283: an agent moves an issue to fixing under its own name, and resolves only from fixing (issue 399)
mesh/delivery-group group feat/399-fixing-status checking: 0 of 2 member(s) ready
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
Two agents could start on one issue without seeing each other, and an issue
could be resolved without anyone having said they started its fix. Adds the
status fixing, the issue's worker (by, who@node) with take-over and a stale
bound, and resolved only from fixing; settles what to-be 53 left out as
claims, under the new glossary word worker. Amends to-be 53, playbook 03 and
the hq-diagnose and hq-status skills, with pointer notes on ADR 0275 and 0281.
2026-10-10 21:07:13 +02:00
jochen 242a6c548b ADR 0283: a part waiting for the operator's secret or setting is said as waiting and passes the first-node gate (issue 386)
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/386-a-wait-for-the-operator checking: 1 of 2 member(s) ready
mesh/delivery superseded: a newer head of the same pull request
A module whose only unhealthy part waited for the operator's secret failed
its gate, held every later walk and told the operator there was nothing to
do. The record adds a waits answer and a waiting state, checked by the
controller, read by the gate as waits for a person, and said as a
needs-operator condition naming the act; and secret families so each SMB
source's password is one hidden line at the desk prompt.
2026-10-10 21:05:29 +02:00
mesh-admin 5f4ff3a80b Merge pull request 'To-be 47: handed to mesh-controller and mesh-delivery for ADR 0282's first slice (issue 382)' (#291) from design/47-handoff-delivery-budget-slice-1 into main 2026-10-10 18:16:55 +00:00
mesh-admin 9e6f78f5eb Merge pull request 'Accept ADRs 0164-0166 and cite them in to-be 42 (issue 398)' (#293) from decisions/accept-0164-0166 into main 2026-10-10 18:04:25 +00:00
jochen 15d5383a94 Accept ADRs 0164-0166 and give them a home in to-be 42
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 delivered
The operator accepted them on 2026-10-10. The runtime seat and the default
half of declared settings are live; the rest is tracked by issue 398. To-be 42
cited them only as waiting, so it now names them.
2026-10-10 20:03:04 +02:00
mesh-admin c6ed41c5ab Merge pull request 'Accept ADR 0242: a recorded build moves only by a person's push' (#292) from decisions/accept-0242 into main 2026-10-10 18:02:10 +00:00
jochen a3e962f880 Accept ADR 0242: a recorded build moving only by a person's push is built and live
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 delivered
mesh-controller #115 and mesh-catalog #106 shipped it (issue 295 resolved);
upgrade shows mailu as record under this ADR, and to-be 44 and 45 cite it.
2026-10-10 20:00:40 +02:00
jochen 2995ea9e05 Hand to-be 47 over to its builders: ADR 0282's first slice starts in the controller and mesh-delivery
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 delivered
2026-10-10 19:59:33 +02:00
mesh-admin 8eca7b921e Merge pull request 'ADR 0282 (proposed): a leaf fix runs healthy on every node within five minutes of its merge, a core module within ten' (#289) from decisions/0282-a-leaf-fix-runs-healthy-everywhere-within-five-minutes-of-its-merge into main 2026-10-10 17:59:02 +00:00
jochen 0a6172640c Accept ADR 0282: the operator decided the delivery budgets on 2026-10-10
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 delivered
To-be 47 lists the record among its decisions, ADR 0236 and ADR 0276 say
where their mechanism moves, and the glossary drops 'proposed'.
2026-10-10 19:57:07 +02:00
mesh-admin e08aaae484 Merge pull request 'Research 044: the operator's direction, a mesh-monitor module, is the leading hypothesis' (#290) from research/044-mesh-monitor-hypothesis into main 2026-10-10 17:56:56 +00:00
jochen 8b6c306cfd ADR 0282: a core send sets aside a leaf judgement; the window row says how it was split; the repository rule cites ADR 0276
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
From the independent review: a core delivery could wait on a leaf judgement past
its ten minutes, the window figure's split was not stated beside it, and the
one-repository rule was credited to the wrong issue.
2026-10-10 19:53:36 +02:00
jochen f2250b4471 Research 044: the operator's direction, a mesh-monitor module, is the leading hypothesis
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 delivered
2026-10-10 19:52:05 +02:00
jochen 9414855fbe ADR 0282 (proposed): a leaf fix runs healthy on every node within five minutes of its merge, a core module within ten
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 asked that a bug fix land on every node in under five minutes. 51
walks measured from the controller's own records put a leaf walk at a median of
6.0 minutes (7 of 20 within five) and say where the time goes: waiting behind
another walk, the first-node judgement, the merge window. The record weighs each
lever by what it would have saved, keeps three readings for core modules (ten
minutes, the measured worst being 8.8), and proposes the measure and condition
that check it. To-be 47 gains the section, the owners and five slices; the
glossary gains delivery time, delivery budget, core and leaf module.
2026-10-10 19:51:07 +02:00
mesh-admin 0cabe5d391 Merge pull request 'Research 045: a knowledge base the mesh writes (decisions, guidelines, policies)' (#288) from research/045-a-knowledge-base-the-mesh-writes into main 2026-10-10 16:17:34 +00:00
mesh-admin 3c323370b7 Merge pull request 'Research 044: what leaves the controller next' (#287) from research/044-what-leaves-the-controller-next into main 2026-10-10 16:17:30 +00:00
jochen 72f940d2c7 Open research 045: a knowledge base the mesh writes
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 delivered
The record is read-only and hand-written; numbers collide and private knowledge
has no home. Framed as questions, weighing git as the store against a store
with hq as its public export.
2026-10-10 18:14:29 +02:00
jochen c148066de4 Open research 044: what leaves the controller next
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 delivered
Every controller change walks the core's tier and holds up every other walk
(issue 382), while most of the week's change sat in one package. Framed as
questions: which domain changes most and needs the core least.
2026-10-10 18:14:28 +02:00