Commit Graph
124 Commits
Author SHA1 Message Date
jschoubben cdfed7593e Keep the check step's no-second-review sentence whole
mesh/delivery merged: source.main moved to novox/hq@e65d0f8f2bbd
mesh/check being carried to cdfed7593e73 on e65d0f8f2bbd | from b229f5c4df1e
Claude-Session: https://claude.ai/code/session_01JG73KK8HD1gufnqyFxMFdW
2026-11-10 17:24:12 +01:00
jschoubben 6e90fa443e Compare seat contracts with the design in the prepare, and call a verdictless merge unchecked
On 2026-11-10 a seat contract and an event's subject that differed from design 47
surfaced only in develop, and the checker twice dropped a check still running when
its pull request merged. The prepare now compares every seat contract the milestone
touches with its design lines, each difference a design question before develop;
and a merged change with no verdict is reported as unchecked, never as passed.

Claude-Session: https://claude.ai/code/session_01JG73KK8HD1gufnqyFxMFdW
2026-11-10 17:24:02 +01:00
jschoubben 8f9a6d4f7b Build features from the design alone and ask the operator what it leaves open
mesh/delivery closed: a newer head of the same pull request
mesh/check checking 8f9a6d4f7bc9 on b229f5c4df1e
Milestone 47/G was prepared and developed from a 430 KB design by agents told to
start from the knowledge base and judge what was not mesh-shaped. The prepare wrote
its own findings and about 40 rulings by two leads, seven of which went against the
records or the design, and 29 questions the design never answered surfaced only in
develop.

The playbooks now make the milestone's part of its design the only input to the
prepare, develop and the code review: the prepare outputs a build map per
repository and the design questions; the operator answers each and the answer is
written into the design before develop starts; every commit cites the design lines
it builds and the review judges it against them. A design is a main file and one
part per milestone, within a size an agent reads whole. Also: one lead per
milestone, a contract's users start from its commit, one writer per file, one
sibling placement, and agents stop between subtasks, never inside one.

Claude-Session: https://claude.ai/code/session_01JG73KK8HD1gufnqyFxMFdW
2026-11-10 17:21:06 +01:00
jschoubben 78ef41e7bd Make playbooks 07 and 08 agree on the developer's integration run, and bound it
mesh/check checking 78ef41e7bdb7 on 2ba88971cf52
mesh/delivery merged: source.main moved to novox/hq@2ba88971cf52
The first amendment left the step table, the review's reading of integration
tests, step 3 and playbook 08 saying the opposite. The run is now once per head
reported, the touched packages and their importers in the module, by name where
the importers are many, and never a whole module or level, within the operator's
rule of 2026-10-18. The live seat list is read again when a head is reported.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-10 06:53:26 +01:00
jschoubben 7bbd4a86b4 Name transport faults and kept calls, and make developers check what the review found
Issue 1966's fix group showed two gaps in how a developer checks: an integration
test the change broke went unseen because only the untagged suite ran, and a stale
seat list made the local manifest validator refuse what the running one accepts.
The developer definition and playbook 07's develop step now run the touched
packages' integration tests against an embedded bus, the whole of mesh-sdk, and
the validator against the live seat list and a fresh catalog trunk, and stop at
two thirds of the context with a handover in the prepare file. The glossary gains
transport fault (ADR 0664 §1, ADR 0668 §1) and kept call (ADR 0668).

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-10 06:51:43 +01:00
jschoubben aac8494ca3 Say manifest validator, not judge: the operator asked why a new word was needed for the indexer's rules
The glossary gets the entry in the Delivery domain with the records that decide it, and retires the noun in
hq's prose on a Not line; the verb stays. Where "judge" named something else, the design now uses that
thing's word: the node-engine's look at health, an account or the network; the composition check built from
a change; the claude-code module's judgement tool. Five issue narratives keep the word of their day.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 23:32:13 +01:00
jschoubben b525f1059b Name the design section, not its number; the preparer and playbook 07 place new code the same way (review 1)
mesh/delivery merged: source.main moved to novox/hq@f0c05d1edb84
mesh/check being carried to b525f1059b69 on f0c05d1edb84 | from d4ae72782336
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 23:20:38 +01:00
jschoubben b0a9fa14da Playbook 07: a group's pin is for GOWORK=off; the check builds against the group's heads (ADR 0573), so an older pin is not refused
The line said the checker refuses an older commit of the same branch; that refusal was removed as a fault of the check
(issue 1585). Found pinning the registry milestone, where mesh-sdk and mesh-contracts import each other.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 17:49:32 +01:00
jschoubben 4315bb6307 A subagent works from hq; a coding one in a worktree under hq's .work, also reading its repository's conventions (the operator, 2026-11-03)
mesh/delivery merged: source.main moved to novox/hq@b5347d029453
mesh/check pass 4315bb6307c1 on f6bd4246b0d7 | carried from 979bf3f19cce | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | co…
2026-11-03 12:46:24 +01:00
jschoubben e8c154c3a0 Agent definitions: the developer on the smaller model unless the lead says why; review notes
mesh/delivery closed: a newer head of the same pull request
mesh/check pass e8c154c3a0ba on 9a2d398070ed | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed in 18s on 4…
2026-11-03 12:15:48 +01:00
jschoubben 8420c6f236 Agents work from hq's definitions and start from the knowledge base; every prepare and record gets the seams review (the operator, 2026-11-03) 2026-11-03 12:14:12 +01:00
jschoubben 3a3501d9f4 Playbook 07 and design 47: say how the two new rules are checked; glossary words; name where the bus module has no want
mesh/delivery merged: source.main moved to novox/hq@5accd2132013
mesh/check pass 3a3501d9f480 on f6bd4246b0d7 | carried from 979bf3f19cce | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | co…
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-03 00:58:19 +01:00
jschoubben 5d9a654767 Playbook 07: run every suite as the running checker places it, and let the running parts judge a release that changes them (issue 1126, release sdk1)
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-03 00:52:28 +01:00
jschoubben 2b9e6b256b Read what exists before writing code, in the prepare step
mesh/delivery merged: source.main moved to novox/hq@f312e7cd0ea6
mesh/check pass 2b9e6b256b4b on f312e7cd0ea6 | carried from 1747485cb351 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | co…
Each layer (research, decisions, survey, review) checked the layer before
it and none read the running code, so effects of the controller's removed
jobs surfaced only after delivery. Playbook 07's prepare step now writes,
per context file, what exists today, every effect and reader of what is
removed or moved, and each one's fate with its test; the review refuses
work without it. Playbook 08 reads its area the same way, briefly.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 16:14:17 +01:00
jschoubben 7fd89de7cb Playbook 07: item 9 names no wrong item
mesh/delivery merged: source.main moved to novox/hq@e65f897a1fda
mesh/delivery-group group feat/774-vault-mints-l2 merged: every member is merged
mesh/check pass 7fd89de7cb81 on 1747485cb351 | carried from e65f897a1fda | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | co…
2026-10-29 01:56:19 +01:00
jschoubben f4fdbde558 Playbook 07: rules for a delivery group's mesh-sdk pins, learned on 2026-10-28, so the next group does not meet the same refusals 2026-10-29 01:56:19 +01:00
jschoubben 7d022710b3 Playbooks 07 and 08: name the controller's try too while its verb exists (issue 774)
mesh/delivery-group group feat/774-vault-mints-l2 ready: every member ready, and composed together they pass
mesh/delivery closed: a newer head of the same pull request
mesh/check pass 7d022710b34b on eec73b8af0d7 | unit 1929 run, 4791 kept, 47 skipped | integration 1993 run, 4856 kept, 49 skipped | over bound: unit, …
2026-10-28 20:37:05 +01:00
jschoubben f89b8599c6 Playbooks 07 and 08 name the try by the checker's seat: mesh-delivery-checker.try replaces mesh-controller.try (ADR 0547 §10, issue 774) 2026-10-28 20:36:59 +01:00
jschoubben a9830f5110 Playbooks 07 and 08: the review asks where state lives and how seams travel, and whether a repository holds mesh setup
mesh/delivery merged: source.main moved to novox/hq@292232dad226
mesh/check pass a9830f51106c on eec73b8af0d7 | carried from 292232dad226 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | co…
2026-10-28 17:43:44 +01:00
jschoubben 781392b121 Playbook 07: the report follows the report-cadence section (short every 5 min, detailed every 30 min)
mesh/delivery merged: source.main moved to novox/hq@dd03229ea886
mesh/check pass 781392b12137 on eec73b8af0d7 | carried from 292232dad226 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | co…
2026-10-28 12:32:05 +01:00
jschoubben ea0c62355c The glossary's word is catalog: replace the spelling catalogue in running prose
mesh/delivery merged: source.main moved to novox/hq@c2f4bb2d485d
mesh/delivery-group group words/catalog merged: every member is merged
mesh/check pass ea0c62355c1c on eec73b8af0d7 | carried from 292232dad226 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | co…
2026-10-28 11:27:34 +01:00
jschoubben dd36b7557a Playbooks 07 and 08: the local integration run is the named tests that exercise the change; the report's tree is drawn from the verb
mesh/delivery merged: source.main moved to novox/hq@8f8393fa9343
mesh/check pass dd36b7557ae6 on 8f8393fa9343 | carried from 2ea3368b76d1 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | co…
2026-10-28 11:12:23 +01:00
jschoubben d348256090 Playbooks 07 and 08: lessons of 2026-10-28 (progress tree, report cadence, local integration run, group members, delivered, fixtures) 2026-10-28 11:10:26 +01:00
jschoubben 6ef40bbcc7 How-we-build: a bus permission is proven under the real permission (ADR 0560); playbook 07 keeps only the failure note, as the operator asked
mesh/delivery merged: source.main moved to novox/hq@32da46479424
mesh/check pass 6ef40bbcc7d8 on 8f8393fa9343 | carried from 2ea3368b76d1 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | co…
2026-10-27 20:36:54 +01:00
jschoubben 7ff4c7ce68 Playbook 07: the developer runs the node-permission test locally as a named exception to step 1
mesh/delivery closed: a newer head of the same pull request
mesh/check pass 7ff4c7ce6888 on 420751b214c0 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed
2026-10-27 20:29:11 +01:00
jschoubben 0d1aa93e37 Playbook 07: keep only the node-agent permission lesson; the operator keeps merging before the check by choice (2026-10-27) 2026-10-27 20:28:16 +01:00
jschoubben 1afab9739e Playbook 07: a node-agent change runs under the node's real permissions before review approves, and a pull request whose safety is its check is approved only on its passing verdict (issue 1126, 2026-10-27) 2026-10-27 20:27:41 +01:00
jschoubben 1dab64134a Playbooks 07 and 08: the one check is one status, mesh/check; drop the leftover try wording (review fixes)
mesh/delivery merged: source.main moved to novox/hq@278ca42b3df2
mesh/check pass 1dab64134a56 on 132aae843383 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed
2026-10-26 20:52:36 +01:00
jschoubben a0e4c1fe17 Playbooks 07 and 08: one release, one check, no try, push once after the review (ADR 0548)
Build capacity is the mesh's scarcest resource: a try before and after the review plus a check per fix round on an open pull request spent it several times per release.
2026-10-26 20:50:37 +01:00
jschoubben b7dabd8ceb Design 47 gives its running milestones rows; the glossary and playbook 07 name progress (issue 1947)
The three milestones of the controller leaving build and delivery were prose only, so no
reader of the table saw the running work; 1209 and 971 were listed in two milestones
against ADR 0493 §2.
2026-10-26 16:40:12 +01:00
jschoubben be1bbe0a65 Playbooks 07 and 08: read the forge head before trusting a reported push, so a try never runs on a push that did not happen
mesh/delivery merged: source.main moved to novox/hq@122cda84b302
mesh/check pass be1bbe0a652a on 132aae843383 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed
2026-10-26 11:02:44 +01:00
jschoubben 0354947ba6 Playbooks 07 and 08: the dependent-pull-request rule leaves delivery group members out; the instance-search rule is a numbered item
mesh/delivery merged: source.main moved to novox/hq@b11120f681ef
mesh/check pass 0354947ba610 on b11120f681ef | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed
2026-10-25 13:29:17 +01:00
jschoubben 4d596bd211 Playbooks 07 and 08: open a dependent pull request only after delivery, fold a follow-up into the unapproved one, search every instance of a fault kind
mesh/delivery closed: a newer head of the same pull request
mesh/check pass 4d596bd21175 on 0e1d0392bc83 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed
2026-10-25 13:27:54 +01:00
jschoubben ba09497092 Name the hand-path command mesh-hand-compose, as mesh-sdk feat/r6 now calls it: main's mesh-compose is the composer (ADR 0482, issue 1943)
mesh/delivery delivered
mesh/delivery-group group feat/r6 merged: every member is merged
mesh/check pass ba09497092ec on 0e1d0392bc83 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed
2026-10-24 23:06:00 +02:00
jschoubben 2d3a205740 Merge remote-tracking branch 'origin/main' into feat/r6 2026-10-24 23:00:09 +02:00
jschoubben 4b514e4d69 Design 47, the glossary and playbooks 04, 07 and 08 for release 6: wants and signed compositions, no plans (ADR 0539, issue 1130)
Release 6 deletes delivery plans, batches, the merge window and tiers, so
design 47's sections that described them as current are rewritten to the
assigner's seven rules, the controller's signed compositions per node, the
node agent, credentials on a done build, the switch as release 5's last plan,
the hand path by mesh-compose and a want, and the view's delivered, moving,
settled and stuck events. The glossary gains composition and restates want,
declaration, send and apply; the playbooks follow a delivery by the view and
the have keys and call no plans, plan, push or what-if.
2026-10-24 21:01:24 +02:00
jschoubben 8433e42c03 Playbook 07: the glossary's words, the source revision and the gate (review)
mesh/delivery delivered
mesh/check pass 8433e42c03cd on 0e1d0392bc83 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed
2026-10-24 13:54:31 +02:00
jschoubben 129af9906d Playbook 07: read a verdict's trunk against main at once, because a lagging trunk makes the Approve merge nothing (issue 1726) 2026-10-24 13:50:37 +02:00
jschoubben 8498006d23 Playbooks 07 and 08: answer the review (no lab, plain words, checks on the forge, issue 1941) 2026-10-24 12:50:35 +02:00
jschoubben d20ed892cf Playbooks 07 and 08: three questions in the milestone file, and a try before a merge by hand (research 071, issue 1921) 2026-10-24 12:45:57 +02:00
jschoubben 8055006ba1 Playbook 07: the two 'never run integration tests on the machine' lines say 'while developing', so the guideline after a failed try no longer contradicts them (review-471)
mesh/delivery delivered
mesh/check pass 8055006ba1f3 on 0e1d0392bc83 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | over bound: unit (slowest unit…
2026-10-23 23:24:15 +02:00
jschoubben 2b53b6a5d2 Playbooks 07 and 08: say the local run after a failed try as a guideline, not a rule (the operator)
mesh/delivery superseded: a newer head of the same pull request
mesh/check pass 2b53b6a5d24a on 656f3af86f37 | unit 0 run, 39 kept | integration 0 run, 39 kept | clone 13s | composition passed with v0.1.14-0.20
2026-10-23 23:22:21 +02:00
jschoubben 87c338da8e Playbooks 07 and 08: a failed try or check is run locally at once, so every failure shows in one run, not one per try (the operator, 2026-10-23)
mesh/delivery superseded: a newer head of the same pull request
mesh/check pass 87c338da8eba on 656f3af86f37 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed
2026-10-23 23:20:27 +02:00
jschoubben 8f7c23da7d Make a timer that writes state, or a rule in code that overrides a person, a change the review asks (issue 1903) 2026-10-23 16:10:44 +02:00
jschoubben c8ccbfe35f Playbooks 07, 08 and the overview name what runs: the checker's try and status, hq's Go tests, the stream backlog, and the way to deliver without the builder (issue 1888) 2026-10-23 15:17:30 +02:00
jschoubben 47e78d8ff4 Strike the word merge gate: the composition check replaces it in the glossary, the designs and the playbook, and old issues keep it dated (issue 1303) 2026-10-23 15:12:57 +02:00
jschoubben 9a74de0bd6 Name the session that pushed a head in its pull request, so a head that needs a new one names its author (ADR 0505 §5)
mesh/repo-check head 9a74de0bd64f merged into trunk 77d4a8a39e1f beside mesh-catalog#444@09e749bc +1 more — pass: its merge-check.sh passed
mesh/merge-gate head 9a74de0bd64f merged into trunk 77d4a8a39e1f — pass: group feat/quiet-deliveries composed: every machine composes with the change as it…
mesh/delivery delivered
mesh/delivery-group group feat/quiet-deliveries merged: every member is merged
2026-10-22 14:25:50 +02:00
jschoubben 2b857df4b5 Never cut a milestone by an order between its parts: the delivery plan keeps that order from the module graph
mesh/merge-gate head 2b857df4b51e merged into trunk 73a06324dc0d — pass: the change touches no module of the mesh's graph
mesh/repo-check head 2b857df4b51e merged into trunk 73a06324dc0d — pass: its merge-check.sh passed
mesh/delivery delivered
The operator, 2026-10-22: a milestone is a milestone; which module reaches the machines first is what the delivery plan is for. The prepare step still lists every part a change reaches, as issues of the same milestone; an order the plan cannot keep is an issue of the build and delivery system.
2026-10-22 01:30:20 +02:00
mesh-tools a214776696 Merge pull request 'Playbook 07: a new verb of a seat the mesh defines waits for the SDK and a controller delivered with it' (#460) from playbook/seat-contract-order into main 2026-10-21 16:14:23 +00:00
jschoubben 0162e04f92 Describe a milestone as one delivery group released by one plan, and make a fix found during it ride in the group
mesh/merge-gate head 0162e04f9275 merged into trunk d5d821220494 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 0162e04f9275 merged into trunk d5d821220494 — pass: its merge-check.sh passed
mesh/delivery delivered
2026-10-21 18:08:58 +02:00