The operator, 2026-11-13: "remember the mistake and make sure our pipeline catches this". G's push went through two dry runs and still met three faults the moment it was taken in:
the live take-in judged with the live seat list;
packages under renamed or removed directories were never published;
the gate merged a group partially.
Each was named as an open item in a dry run, or could only show in a run without the workspace's replaces. The retrospective is note 216 on issue 1966.
This adds step 2b "Dry run" to playbook 07 for a release that changes a part that judges a change, renames or adds a package path, or changes a form the take-in reads. The dry run:
runs the live take-in whole, with the seat list as it will read;
runs every triggered build with GOWORK=off against the packages as published;
reads the gate's merge path: bases, and a complete group before any ask;
holds the push on any "not run" or "not known" item.
The milestone file records it, and the review refuses a group without it. playbooks.html follows, and the glossary gains "dry run". go test ./... passes.
The operator, 2026-11-13: "remember the mistake and make sure our pipeline catches this". G's push went through two dry runs and still met three faults the moment it was taken in:
- the live take-in judged with the live seat list;
- packages under renamed or removed directories were never published;
- the gate merged a group partially.
Each was named as an open item in a dry run, or could only show in a run without the workspace's replaces. The retrospective is note 216 on issue 1966.
This adds step 2b "Dry run" to playbook 07 for a release that changes a part that judges a change, renames or adds a package path, or changes a form the take-in reads. The dry run:
1. runs the live take-in whole, with the seat list as it will read;
2. runs every triggered build with GOWORK=off against the packages as published;
3. reads the gate's merge path: bases, and a complete group before any ask;
4. holds the push on any "not run" or "not known" item.
The milestone file records it, and the review refuses a group without it. playbooks.html follows, and the glossary gains "dry run". `go test ./...` passes.
https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
Milestone G was pushed with its dry run's take-in item still open; once
merged, the running indexer refused G's own indexer with the live seat
list, and its trunk builds waited on renamed packages only the take-in
publishes. Playbook 07 gains step 2b: the live take-in run whole, every
build against the published packages, the gate's merge path read for the
group, and a dry run with an open item is not a pass. The glossary gains
"dry run"; the playbooks page lists the step.
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
Deliverynovox/hq@010a93d6bc69 — merged since 2026-11-13T13:49:16Z
Source — source.main moved to novox/hq@2b39e39385. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-11-13 13:42 (new) → proposed (announced): novox/hq#607's head announced
2026-11-13 13:42 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
2026-11-13 13:49 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/hq@010a93d6bc69` — **merged** since 2026-11-13T13:49:16Z
**Source** — source.main moved to novox/hq@2b39e39385b6. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-11-13 13:42 (new) → proposed (announced): novox/hq#607's head announced
- 2026-11-13 13:42 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
- 2026-11-13 13:49 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The operator, 2026-11-13: "remember the mistake and make sure our pipeline catches this". G's push went through two dry runs and still met three faults the moment it was taken in:
Each was named as an open item in a dry run, or could only show in a run without the workspace's replaces. The retrospective is note 216 on issue 1966.
This adds step 2b "Dry run" to playbook 07 for a release that changes a part that judges a change, renames or adds a package path, or changes a form the take-in reads. The dry run:
The milestone file records it, and the review refuses a group without it. playbooks.html follows, and the glossary gains "dry run".
go test ./...passes.https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
Delivery
novox/hq@010a93d6bc69— merged since 2026-11-13T13:49:16ZSource — source.main moved to novox/hq@2b39e39385. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.