Commit Graph
3059 Commits
Author SHA1 Message Date
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