jschoubben
224348ff4d
Design 42 zfs-owns-zfs: answer review round 1 against ADR 0679 version 11
...
mesh/delivery merged: source.main moved to novox/hq@b9cd0bc492ac
mesh/check being carried to 224348ff4d69 on b9cd0bc492ac | from 9ebf6e58f0d7
Cites the record's final clauses, drops the catalog check and every
write of the package's files, and writes the lead's answers as design
lines: a run that never waits on a scrub, waits ended by events,
ZFS snapshots kept in the ledger before any removal, hand acts as unit
instances, subjects per kind, the follower's findings, the readers of
the new manifest words and one node-engine integration test.
2026-11-12 23:20:51 +01:00
jschoubben
f26c8afc20
Design 42 zfs-owns-zfs: schedule the run in list form, so nothing waits on the calendar fix
...
Today's node-engine writes a cron step as an invalid calendar but a
minute list as a valid one, so the scheduled run declares
0,15,30,45 and the milestone no longer waits on another session's fix.
2026-11-12 23:02:13 +01:00
jschoubben
0ea81e0e96
Design 42 zfs-owns-zfs: answer the open question in the node-engine, name issue 1979
...
The lead answered that a resource following a set value and one line
per list entry are built in the node-engine in this milestone, so the
module's files, units and handlers are placed only once their value is
set, as ADR 0679 holds. The cron-to-calendar fix leaves the milestone
and stays an ordering edge the scheduled run waits on.
2026-11-12 22:57:56 +01:00
jschoubben
6772904668
Design 42: the zfs module owns a machine's ZFS and changes nothing unset (ADR 0679)
...
Adds row 12 and a section to the main file, and the milestone part
zfs-owns-zfs with numbered lines and its three prerequisites, so a
builder takes ownership of ZFS's packages, files, units and one pool's
devices, properties and scheduled ZFS snapshots without a choice of
its own. Leaves one design question open (a resource that follows a
value only once it is set). Adds ZFS snapshot to the glossary beside
the two snapshots it already names.
2026-11-12 22:32:54 +01:00
mesh-tools
4eba1f451b
Merge pull request 'Design 47 G: lead answer A-304, the checker puts a phase's asks at once' ( #591 ) from design/47-G-lead-answers-19 into main
2026-11-12 20:51:13 +00:00
jschoubben
dce214b7f5
Answer A-305: the pipeline runner's health is its unit, like its siblings'
...
mesh/delivery merged: source.main moved to novox/hq@4eba1f451be9
mesh/check checking dce214b7f566 on 4eba1f451be9
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 21:47:56 +01:00
jschoubben
a0147f94af
Answer A-304: the checker puts a phase's asks at once and holds no step
...
mesh/delivery closed: a newer head of the same pull request
mesh/check checking a0147f94af01 on a70316b51236
Try 4 and 5 ran their steps one at a time because the checker waited on each ask before putting the next.
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 21:35:48 +01:00
mesh-tools
a70316b512
Merge pull request 'Design 47 G: correct lead answer A-303; playbook 07: the lead reads what an answer names first' ( #590 ) from design/47-G-lead-answers-18 into main
2026-11-12 19:36:39 +00:00
jschoubben
26faa9981f
Playbook 07: the lead reads what an answer names before it answers
...
mesh/delivery merged: source.main moved to novox/hq@a70316b51236
mesh/check being carried to 26faa9981fab on a70316b51236 | from ea3b790f1dc2
Three lead answers in one day named a structure from memory and needed a correction once a developer read the code.
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 20:32:42 +01:00
jschoubben
a4f9d43037
Correct A-303: the reach's watches use the seat form, only the stuck key takes the real bucket
...
mesh/delivery closed: a newer head of the same pull request
mesh/check checking a4f9d43037e0 on ea3b790f1dc2
The view's kept reach holds no bucket name, so no kept entry depends on the holder's real bucket.
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 20:31:31 +01:00
mesh-tools
ea3b790f1d
Merge pull request 'Design 47 G: the lead's answers A-298 to A-303' ( #589 ) from design/47-G-lead-answers-17 into main
2026-11-12 19:07:45 +00:00
jschoubben
9a14624b69
Answer A-303: seat-form pictures; the stuck key and reach history name the holder's real bucket at run time
...
mesh/delivery merged: source.main moved to novox/hq@ea3b790f1dc2
mesh/check being carried to 9a14624b6926 on ea3b790f1dc2 | from 023a355cdb2c
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 20:00:56 +01:00
jschoubben
d02f00bce7
Answer A-302: the indexer follows assignments through FollowSeat too; the holder loop goes
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 20:00:56 +01:00
jschoubben
480a857635
Answer A-301: the view's answers tool is the SDK's first-view tool with its callers list
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 20:00:56 +01:00
jschoubben
4fa5891697
Correct A-300: the view's tools keep assigner_read_wants, since a first view does not read by key or history
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 20:00:56 +01:00
jschoubben
f522c2114d
Answer A-300: the view's tools read the wants through the holder's first-view tool
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 20:00:56 +01:00
jschoubben
5c98c86d70
Answer A-299: the view's answers take one key form per asks kind; the kinds are seven
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 20:00:56 +01:00
jschoubben
b75c04f038
Answer A-298: one shared follower of the seat-holders view in the catalog seat's client
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 20:00:56 +01:00
mesh-tools
023a355cdb
Merge pull request 'Design 47 G: §717 (the views are named by their seats) and the lead's answers A-294 to A-297' ( #588 ) from design/47-G-lead-answers-16 into main
2026-11-12 17:59:25 +00:00
jschoubben
b03f5193b8
Design 47 G §717: a follower hears its seat's holder from the seat-holders view
...
mesh/delivery merged: source.main moved to novox/hq@023a355cdb2c
mesh/check being carried to b03f5193b8c4 on 023a355cdb2c | from 7247b92fd6b1
A seat's view is said on its holder's module subject, so a follower must know
the holder; asking for it every 5 seconds was polling and kept a holder that
moved. It now follows the seat-holders view as A-295's holder function does,
reached from the catalog half's claim, and re-follows when the holder changes.
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 18:54:41 +01:00
jschoubben
80863372dc
Design 47 G §717: the status view's and the assigner's views are named by their seats
...
Developer J27 met, building A-210, a status view that claims no seat and an
assigner holding two seats, both followed by the teller by module name. ADR
0540 §1 already names the seat mesh-delivery-view; G defines it with its one
view, puts the assigner's asks and wants on mesh-wants, and has a follower find
the holder in the background so no start stops for it.
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 18:54:41 +01:00
jschoubben
01fdde3701
Answer A-297: the runner's step ask id takes the usual form, repeatable per placement
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 18:54:41 +01:00
jschoubben
ef76908e0d
Answer A-296: seat forms in the manifests, own buckets from the credential's module
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 18:54:41 +01:00
jschoubben
eed5be9244
Answer A-295: a callers list names a seat, resolved from the seat-holders view the SDK follows
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 18:54:41 +01:00
jschoubben
12c9c1efcf
Answer A-294: mesh-wants' step keeps no token; step-progress names the caller its definition lists
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 18:54:41 +01:00
mesh-tools
7247b92fd6
Merge pull request 'Design 50: the own resolver's file waits longer than its pass over a silent mesh resolver (ADR 0678, issue 1748)' ( #587 ) from design/50-resolver-wait into main
2026-11-12 17:51:40 +00:00
jschoubben
ce0287dd2d
Keep design 50 to what ADR 0678 asks, and hold the wait at 3 s per try
...
mesh/delivery merged: source.main moved to novox/hq@7247b92fd6b1
mesh/check being carried to ce0287dd2d87 on 7247b92fd6b1 | from 0d04a16560e4
A restart of resolved and a timed ask at the own resolver answered in 44-46 ms
with the first mesh resolver silent, so no read catches the pass today: the
value stays ADR 0678's until a read of resolved's server switches exists, and
the proof is the Go build steps at the next silence. The phases table and the
as-built notes go back to main: a to-be design states no live state.
2026-11-12 18:06:41 +01:00
jschoubben
067de23181
Give the own resolver's file a wait longer than its pass over a silent mesh resolver
...
ADR 0678: on a machine holding node-resolver the file names the own resolver
alone, so a program gave up after about 2 s while resolved still waited on a
silent first mesh resolver (issue 1748). Design 50 section 2 now gives the
file timeout:3 attempts:2 and how the value follows the measured pass; the
new milestone part resolver-wait holds the lines that build it, putting the
design in the shape of a main file and milestone parts.
2026-11-12 18:05:05 +01:00
mesh-tools
0d04a16560
Merge pull request 'Design 47 G: the lead's answer A-293' ( #586 ) from design/47-G-lead-answers-15 into main
2026-11-12 16:24:57 +00:00
jschoubben
7c533965bf
Amend A-293: a later done end deletes the refused key a failed end wrote
...
mesh/delivery merged: source.main moved to novox/hq@0d04a16560e4
mesh/check checking 7c533965bfa6 on 0d04a16560e4
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 17:11:35 +01:00
jschoubben
f99c0c9e29
Amend A-293: the newest build is the last trunk build-ended event heard for the module
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 17:09:10 +01:00
jschoubben
66d37b8f30
Answer A-293: in by-entries mode a failed newest build is said as a refused key on the builder's build-ended event
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 17:05:37 +01:00
mesh-tools
852a0d1163
Merge pull request 'Design 47 G: the lead's answers A-291 and A-292' ( #585 ) from design/47-G-lead-answers-14 into main
2026-11-12 16:00:57 +00:00
jschoubben
cbbf170718
Answer A-292: a node-engine's failed say is said again within the link, loudly
...
mesh/delivery merged: source.main moved to novox/hq@852a0d1163d3
mesh/check checking cbbf17071862 on 852a0d1163d3
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 16:53:42 +01:00
jschoubben
3c357ee1f1
Answer A-291: a process receives a chunked seat answer through one SDK helper
...
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 16:46:26 +01:00
mesh-tools
43612bf1be
Merge pull request 'Design 47 G: the lead's answers A-287 and A-288' ( #582 ) from design/47-G-lead-answers-13 into main
2026-11-12 15:34:11 +00:00
mesh-tools
5f35cd2e32
Merge pull request 'Design 47: the lead's answers for a placed module whose build failed (a small fix on main, issue 1966)' ( #584 ) from design/47-unpublished-placed-module into main
2026-11-12 15:28:10 +00:00
jschoubben
048545b266
Answer A-290: a step answer over the steps state's bound is kept as an object the key names
...
mesh/delivery merged: source.main moved to novox/hq@43612bf1be0a
mesh/check checking 048545b266bb on 43612bf1be0a
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 16:27:32 +01:00
mesh-tools
7792e96670
Merge pull request 'Design 39 parts: the lead's answers D3 (a list of a place a secret is kept, for §15) and D4 (the database §13 and §14 read)' ( #583 ) from design/39-list-secret-place into main
2026-11-12 15:27:07 +00:00
jschoubben
34660dd256
Correct A-289: the unpublished count holds no package, since no reachable case leaves a reserving build's package unpublished
...
mesh/delivery closed: a newer head of the same pull request
mesh/check being carried to 34660dd2565f on 7792e9667042 | from 63ccbe512bc0
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 16:17:06 +01:00
jschoubben
84faadbe38
Answer A-289: a build that reserves no version leaves its package done; a package is published by its own language's seat
...
mesh/delivery closed: a newer head of the same pull request
mesh/check checking 84faadbe382e on 63ccbe512bc0
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 16:12:45 +01:00
jschoubben
11d257516a
Design 47 fix: U8, the refused key is written on the failed build's event
mesh/delivery merged: source.main moved to novox/hq@5f35cd2e324a
mesh/check checking 11d257516a51 on 5f35cd2e324a
2026-11-12 15:56:00 +01:00
jschoubben
99d01964ef
Design 47: the lead's answers for a placed module whose build failed, a small fix on main
2026-11-12 15:49:05 +01:00
jschoubben
da6c3ab163
Answer A-287 and A-288: a kept announcement names every declared state; a refusal's test holds its meaning
...
mesh/delivery closed: a newer head of the same pull request
mesh/check pass da6c3ab16305 on 63ccbe512bc0 | unit 43 run, 0 kept, 1 skipped | integration 43 run, 0 kept, 1 skipped | composition passed in 52s on 4…
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 15:47:09 +01:00
jschoubben
1995bd1247
Design 39 parts: the lead's answer D4, the database §13 and §14 read is the one postgres made
mesh/delivery merged: source.main moved to novox/hq@7792e9667042
mesh/check being carried to 1995bd1247be on 7792e9667042 | from 63ccbe512bc0
2026-11-12 15:45:59 +01:00
mesh-tools
63ccbe512b
Merge pull request 'Design 39 bus-and-switch: the lead's answer C5, how a carried switch is read' ( #581 ) from design/39-carried-switches into main
2026-11-12 14:42:06 +00:00
jschoubben
1a6a72dc02
Design 39 parts: the lead's answer D3, a list of a place a secret is kept, for §15's check
2026-11-12 15:41:47 +01:00
jschoubben
45ee24759b
C5 cites the principles that settle it: failure is loud, the simplest thing
mesh/delivery merged: source.main moved to novox/hq@63ccbe512bc0
mesh/check checking 45ee24759b07 on 63ccbe512bc0
2026-11-12 15:37:49 +01:00
jschoubben
8326a3b57d
Design 39 bus-and-switch: the lead's answer C5, how a carried switch is read
2026-11-12 15:37:25 +01:00
mesh-tools
e81a8d62a5
Merge pull request 'Design 47 G: the lead's answers A-284 to A-286' ( #580 ) from design/47-G-lead-answers-12 into main
2026-11-12 14:17:58 +00:00