Commit Graph
58 Commits
Author SHA1 Message Date
jschoubben a2da2a3e74 Let the lead answer every design question against the principles
mesh/delivery merged: source.main moved to novox/hq@87f2901f556b
mesh/check checking a2da2a3e7451 on 87f2901f556b
The operator replaced the instruction on implementing a design on
2026-11-11 about 21:48 CET: the lead answers each question met while
building in one line against the principles, and only one no principle
settles goes on, to the operator when it changes what they see or how
they work, removes data or needs their terminal, otherwise to the design
writer as a design line. Playbooks 02, 07 and 08, the glossary's design
question, AGENTS.md, the code reviewer and the drawn overview still said
only the operator or the design writer answers; they now say the rule.

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-11 23:53:03 +01:00
jschoubben e9ae4afc12 Answer develop's third batch of questions on milestone G, and let the design writer answer internal forms
The operator answered D-12, D-13 and D-19 at the terminal, and ruled on 2026-11-11 that a question touching nothing
the operator sees, no permission and no data kept is answered as a design line by the design writer and read by the
reviewers by architectural domain. The new part file G-10 carries those answers and the internal-form ones (§456 to
§479), the earlier lines point to them, and playbooks 02, 07 and 08 and the glossary say who answers a design
question now. The questions that touch who may call or what the operator sees are left for the operator.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 11:52:51 +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/delivery merged: source.main moved to novox/hq@2ba88971cf52
mesh/check checking 78ef41e7bdb7 on 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 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 69f95f551d Where new code goes is a design question: the playbook, the developer and the reviewer check it against designs 20 and 26
mesh/delivery closed: a newer head of the same pull request
mesh/check pass 69f95f551d19 on d4ae72782336 | unit 39 run, 0 kept, 1 skipped | integration 39 run, 0 kept, 1 skipped | composition passed in 17s on 4…
A small fix's lead placed a seat's type in mesh-sdk by its own handover (issue 1748), against design 26;
the developer built the handover and the reviewer checked against it, so it passed review and its check.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 23:17:57 +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 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 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 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 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 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 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 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
jochen 7fcca88c01 Playbooks: how a module's old directory is closed, and a refused try (issues 1843, 1854)
mesh/merge-gate head 7fcca88c012e merged into trunk 795b3b5d4593 — pass: the change touches no module of the mesh's graph (run 2)
mesh/repo-check head 7fcca88c012e merged into trunk 795b3b5d4593 — pass: its merge-check.sh passed (run 2)
mesh/delivery delivered
Lessons from closing only-office's old directories: a directory keeps its id until emptied on the
operator's word, then leaves the manifest in a second fix; and a fifth try is refused, not queued.
2026-10-22 18:25:05 +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 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
jschoubben 37a01b93a5 Use the glossary's word for the milestone's branch
mesh/merge-gate building on ace since 18:08
mesh/delivery superseded: a newer head of the same pull request
2026-10-21 18:05:07 +02:00
jschoubben c6fc663019 Make a small fix in mesh-sdk or mesh-controller ride with the milestone's release, so each is delivered once per milestone 2026-10-21 18:04:49 +02:00
jochen 4f8c469329 Playbooks 07 and 08: the session that opens an issue along the way fixes it
The operator, 2026-10-21: issues opened along the way were only listed and left. Small ones are fixed in between as small fixes, the rest right after the delivery, outside the running milestone's branch, so its fixed scope holds.
2026-10-21 14:40:56 +02:00
jochen 9f0b0215ae Playbook 08: check a module compiles with go vet, never go build in its folder (issue 1577)
mesh/merge-gate head 9f0b0215ae6a merged into trunk 86fd4adf9756 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 9f0b0215ae6a merged into trunk 86fd4adf9756 — pass: its merge-check.sh passed
mesh/delivery delivered
go build in a module's folder writes the program beside go.mod, and two such programs were
committed on 2026-10-21, caught only by the review.
2026-10-21 09:58:44 +02:00
jschoubben 5816ca669f Say the page's freshness is not yet checked (issue 1222), and fix 08's leftover 'reviewed after its push' (review round 1)
mesh/merge-gate head 5816ca669f20 merged into trunk f269e83f5d1a — pass: the change touches no module of the mesh's graph
mesh/repo-check head 5816ca669f20 merged into trunk f269e83f5d1a — pass: its merge-check.sh passed
mesh/delivery delivered
2026-10-19 13:29:22 +02:00
jschoubben 7735cfd107 Try before the review, fail first on behaviour, survey every reader of a changed value (playbooks 07 and 08) 2026-10-19 13:03:28 +02:00
jschoubben cec72d1dc9 Playbooks 07 and 08: integration tests run once through mesh-controller.try on the pushed branch before the pull request, never on the machine (the operator, 2026-10-18)
mesh/delivery delivered
mesh/merge-gate head cec72d1dc962 merged into trunk b98b93efc8b0 — pass: the change touches no module of the mesh's graph
mesh/repo-check head cec72d1dc962 merged into trunk b98b93efc8b0 — pass: its merge-check.sh passed
2026-10-18 15:02:56 +02:00
jschoubben ec373556d0 Playbooks 07 and 08: an acceptance criterion is numbered and cited by its test as <issue>/AC<n>, so its check is a grep (review round 1)
mesh/merge-gate head ec373556d0bb merged into trunk 672011ab92ad — pass: the change touches no module of the mesh's graph
mesh/repo-check head ec373556d0bb merged into trunk 672011ab92ad — pass: its merge-check.sh passed
mesh/delivery delivered
2026-10-18 12:50:30 +02:00
jschoubben bb6af05f5c Playbooks 07 and 08: tests are written from acceptance criteria the larger model writes onto the issue (issue 1118); design 47 gets milestone 5b, the planning out of the controller (issue 1117) 2026-10-18 12:42:06 +02:00
jschoubben d5ddd1e715 Playbooks 07 and 08: no ready mark; the review record rides in the pull request and the Approve is asked once the checks pass (issue 1022, ADR 0421) 2026-10-17 20:55:47 +02:00
jschoubben 2001d6e063 Playbook 07: a milestone has steps, runs the whole unit suite, writes its findings into its issues and watches on the smaller model; design 47 names milestone 2b and takes 895 into milestone 3 (issue 1053)
mesh/merge-gate head 2001d6e06334 merged into trunk e44ec3f61235 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 2001d6e06334 merged into trunk e44ec3f61235 — pass: its merge-check.sh passed
mesh/delivery delivered
2026-10-17 20:19:16 +02:00
jochen e934a0286f Playbook 08: check that the clone stays on main (issue 1010, review round 1)
mesh/merge-gate head e934a0286f7f merged into trunk d9011566146e — pass: the change touches no module of the mesh's graph
mesh/repo-check head e934a0286f7f merged into trunk d9011566146e — pass: its merge-check.sh passed
mesh/delivery delivered
2026-10-17 13:37:09 +02:00
jochen 8dbfd8d8ff Playbooks 07 and 08: a repository's own clone stays on main (issue 1010)
A clone left on an old work branch hands the next session stale playbooks
and designs as if current.
2026-10-17 13:36:37 +02:00
mesh-tools 73b9cc3257 Merge pull request 'Playbook 08: a fix that moves a file to a new filler compares the values first (issue 957)' (#391) from fix/957-playbook-08-first-fill into main 2026-10-16 21:56:23 +00:00
jschoubben 96f2ae72c1 Rewrite design 47 from research 055's decisions: hotfix, feature and epic from the trunk, delivery on the bus
ADR 0401-0408 graduate research 055: no release branch, two more ordering
rules, the composed check as each member's gate, a backup before the send,
installed toolchains, events and work queues on the bus, the merge window
as keys, and one chain kept on the bus alone. Design 47 is rewritten from
them (one design per thing); the glossary takes hotfix, feature, toolchain,
milestone and epic and retires release branch; design 18 loses the
toolchain image; playbooks 07 and 08 drop the release-branch wait.
2026-10-16 23:39:12 +02:00
nox 78353ad272 Playbook 08: a fix that moves a file to a new filler compares the values first (issue 957)
mesh/merge-gate head 78353ad272a3 merged into trunk f795356ae1d6 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 78353ad272a3 merged into trunk f795356ae1d6 — pass: its merge-check.sh passed
mesh/delivery delivered
2026-10-16 22:37:59 +02:00
mesh-tools 152cc0c0e7 Playbook 08: a second fault the delivery shows joins the issue only in the same files
mesh/merge-gate head 152cc0c0e77c merged into trunk a8b951f3b488 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 152cc0c0e77c merged into trunk a8b951f3b488 — pass: its merge-check.sh passed
mesh/delivery delivered
Taken from issue 937, where mesh-catalog #335 was taken into the issue
and issue 943 was opened for a fault in other code.
2026-10-16 17:06:25 +00:00
jschoubben 0eadc27fc7 Playbook 08: needing a decision keeps a fix small; a feature is several modules with research or a design before it (the operator, 2026-10-16)
mesh/merge-gate head 0eadc27fc722 merged into trunk 4e437eb1488f — pass: the change touches no module of the mesh's graph
mesh/repo-check head 0eadc27fc722 merged into trunk 4e437eb1488f — pass: its merge-check.sh passed
mesh/delivery delivered
2026-10-16 17:46:23 +02:00
jschoubben 7b5f3582be Playbooks 07 and 08: mark ready with mesh-delivery.mark-ready, label then comment in the order the forge counts (issue 913)
mesh/merge-gate head 7b5f3582be90 merged into trunk 6dcfa2226e63 beside mesh-controller#357@114c99e0 +1 more — pass: the change touches no module of the me…
mesh/repo-check head 7b5f3582be90 merged into trunk 6dcfa2226e63 beside mesh-controller#357@114c99e0 +1 more — pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group feat/913-mark-ready merged: every member is merged
2026-10-16 14:31:49 +02:00
jschoubben 1efa37957d Playbooks 07 and 08: is the coast clear? Hold a push while a release branch in flight shares its files; the glossary's release branch
mesh/merge-gate head 1efa37957db2 merged into trunk b9af4e373dc0 siblings unknown — pass: the change touches no module of the mesh's graph
mesh/repo-check head 1efa37957db2 merged into trunk b9af4e373dc0 siblings unknown — pass: its merge-check.sh passed
mesh/delivery delivered
The operator, 2026-10-16: the file module waited for feature 57's release branch, which changes four of the
same controller files.
2026-10-16 11:28:32 +02:00
jschoubben 47f7321c05 Playbooks 07 and 08: integration tests only in the merge check, no try before it, no lab and no end-to-end tests yet (the operator, 2026-10-16)
mesh/merge-gate out of date: judged against trunk c22b58143b74, the trunk is now b9af4e373dc0; judged again on a recheck or when it is merged
mesh/repo-check out of date: judged against trunk c22b58143b74, the trunk is now b9af4e373dc0; judged again on a recheck or when it is merged
mesh/delivery superseded: a newer head of the same pull request
2026-10-16 10:15:31 +02:00
jschoubben f95043e379 Playbooks 07 and 08: a module's acceptance is an integration test the forge runs, and try runs on the builder (ADR 0391)
mesh/merge-gate head f95043e3797e merged into trunk c22b58143b74 — pass: the change touches no module of the mesh's graph
mesh/repo-check head f95043e3797e merged into trunk c22b58143b74 — pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
2026-10-16 10:14:42 +02:00