From e91e65b5abc81ecbe06d12595d806bf8b7b7585c Mon Sep 17 00:00:00 2001 From: jochen Date: Sun, 1 Nov 2026 06:13:47 +0100 Subject: [PATCH] Playbook 07: the reproduction runs the change's integration tests by name on an embedded bus, as the rule above says Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL --- 00-META/process/07-feature-branches.md | 7 ++++--- 00-META/process/playbooks.html | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/00-META/process/07-feature-branches.md b/00-META/process/07-feature-branches.md index 9ca808d3..e988c39c 100644 --- a/00-META/process/07-feature-branches.md +++ b/00-META/process/07-feature-branches.md @@ -320,12 +320,13 @@ issue whether it is being fixed in between, after the delivery, or waits, and on check on what a local run shows). How it is checked: the pull request's description names those tests and their results. **Reproduce the check before the push.** Before a group's one push, the lead (or the agent it names) runs locally what - the checker runs: `gofmt -l` over every changed Go file; the unit suite and the integration packages of every module - the group changes (a throwaway local store where a test needs one); and each repository's tests with + the checker runs: `gofmt -l` over every changed Go file; the whole unit suite of every module the group changes; + the integration tests that exercise the change, picked by name and run against an embedded bus (the rule above), with + no store or bus started by hand; and each repository's tests with `MESH_CHECK_BESIDE` laid out exactly as the checker's beside rules place siblings for that repository, and once with it unset. Agents add files by path, never every file, so no build output is committed (2026-11-01: one release lost four check rounds of about fifteen minutes each to faults a local run would have caught, a formatting line, a test - fixture dated outside a thirty-day window, integration tests only compiled, and a test reading a sibling the checker + fixture dated outside a thirty-day window, integration tests that exercise the change only compiled, and a test reading a sibling the checker does not place; the same reproduction found a real credential regression before it reached the machines). How it is checked: the pull request's description names the local runs and their results; a check that fails on a fault the reproduction would have caught is a finding the lead reports. diff --git a/00-META/process/playbooks.html b/00-META/process/playbooks.html index cd6e04c5..03d9059c 100644 --- a/00-META/process/playbooks.html +++ b/00-META/process/playbooks.html @@ -463,7 +463,7 @@ const P = [ {n:"07",name:"Features",kind:"build",c:"--build", trig:"Work that changes code across issues or repositories, too large for a small fix.", who:"A lead (larger model), one fixing agent per repository (smaller), one reviewer (larger).", - steps:["Prepare: name the branch, make the worktrees, settle every question.","Write one context file per repository.","Write the findings and acceptance criteria into each issue.","Survey every other reader and writer of each changed value. (new)","Answer three questions in the milestone file: who deletes each new key and stream, how the switch-over is tried on one node first, what the one check does not cover. The review checks them. (new)","List every part the change reaches; copy fixtures from the real writer.","Develop: one agent per repository, one commit per issue.","A test fails first on behaviour, not on compiling. (new)","Bring each branch up to the trunk; nothing is pushed, no try runs. (new)","Review all of it, reading the integration tests against the code; at most 3 rounds; the report answers the state-and-seams and mesh-agnostic questions. (new)","A group pins the group's own mesh-sdk head in every member. (new)","Reproduce the check locally before the push: gofmt, unit and integration packages, MESH_CHECK_BESIDE laid out and unset. (new)","Push the reviewed heads once and read each forge head against the reviewed commit; no draft pull request, no fix round on an open one. (new)","Open one pull request per repository, together, with Reviewed-by and Pushed-by; the one check runs. A failed check is read, fixed, reviewed, pushed once more. (new)","The operator's Approve on Telegram; the group merges in one pass.","Follow the delivery in the status view (moving, settled, stuck, delivered) to done; resolve the issues; clean up. (new)","When the builder cannot deliver its own fix: revert, a build by a session's call, a registration at the terminal, copies kept outside the store; a broken controller is put back by a want the operator writes, a hand build by mesh-hand-compose and a want. (new)"], + steps:["Prepare: name the branch, make the worktrees, settle every question.","Write one context file per repository.","Write the findings and acceptance criteria into each issue.","Survey every other reader and writer of each changed value. (new)","Answer three questions in the milestone file: who deletes each new key and stream, how the switch-over is tried on one node first, what the one check does not cover. The review checks them. (new)","List every part the change reaches; copy fixtures from the real writer.","Develop: one agent per repository, one commit per issue.","A test fails first on behaviour, not on compiling. (new)","Bring each branch up to the trunk; nothing is pushed, no try runs. (new)","Review all of it, reading the integration tests against the code; at most 3 rounds; the report answers the state-and-seams and mesh-agnostic questions. (new)","A group pins the group's own mesh-sdk head in every member. (new)","Reproduce the check locally before the push: gofmt, unit suite, the integration tests that exercise the change (by name, embedded bus), MESH_CHECK_BESIDE laid out and unset. (new)","Push the reviewed heads once and read each forge head against the reviewed commit; no draft pull request, no fix round on an open one. (new)","Open one pull request per repository, together, with Reviewed-by and Pushed-by; the one check runs. A failed check is read, fixed, reviewed, pushed once more. (new)","The operator's Approve on Telegram; the group merges in one pass.","Follow the delivery in the status view (moving, settled, stuck, delivered) to done; resolve the issues; clean up. (new)","When the builder cannot deliver its own fix: revert, a build by a session's call, a registration at the terminal, copies kept outside the store; a broken controller is put back by a want the operator writes, a hand build by mesh-hand-compose and a want. (new)"], prod:"One pull request per repository, one source revision delivered, resolved issues, no branch or worktree left.", next:"02 (when it ships)",bounds:"Prepare 15 min · 30 min per issue · review 15 min, ≤ 3 rounds · one check, pushed once", prev:["Pull requests as scratchpads","Context bought again and again","Review rounds spent on what a run would show","A node agent's bus reads, proven only by review"],