Design 47 milestone R3c (ADR 0437), issue 1234; one delivery group with mesh-delivery's feat/delivery-parts, this member first.
New tool gitea_commit_trees (owner, repo, full sha): the commit's root tree and the tree of every directory holding a module.json, read page by page from the forge's recursive tree listing; a listing still cut fails loudly. The root tree is computed from the root's own entries as git hashes a tree, because Gitea's API names the commit's sha where the root tree's should be (1234/AC6, proven against git: mesh-delivery 7f61817 → 659bcaaa…).
gitea_open_pulls entries gain head (the branch) beside head_sha; today's mesh-delivery decodes them with json.Unmarshal and ignores the new key (modules/mesh-delivery/cmd/mesh-delivery/ports.go:397-411).
guard.ts's allowed query keys gain recursive and per_page (read flags; gitea_api may send them too).
Tests: 1234/AC1-AC6 in modules/gitea/test/commit-trees.test.ts, each failed first on an assertion. Merge check passed 15:26 UTC (3m15s, 163 of 163). Its delivery rebuilds the gitea module on novox; the tool is read-only.
Opened at once, its merge check the one run (the operator, 2026-10-19); the review of both members ran beside the checks (round 1: this member approved; mesh-delivery's teller test fixed in round 1).
Design 47 milestone R3c (ADR 0437), issue 1234; one delivery group with mesh-delivery's feat/delivery-parts, this member first.
- New tool `gitea_commit_trees` (owner, repo, full sha): the commit's root tree and the tree of every directory holding a module.json, read page by page from the forge's recursive tree listing; a listing still cut fails loudly. The root tree is computed from the root's own entries as git hashes a tree, because Gitea's API names the commit's sha where the root tree's should be (1234/AC6, proven against git: mesh-delivery 7f61817 → 659bcaaa…).
- `gitea_open_pulls` entries gain `head` (the branch) beside `head_sha`; today's mesh-delivery decodes them with json.Unmarshal and ignores the new key (modules/mesh-delivery/cmd/mesh-delivery/ports.go:397-411).
- guard.ts's allowed query keys gain `recursive` and `per_page` (read flags; gitea_api may send them too).
Tests: 1234/AC1-AC6 in modules/gitea/test/commit-trees.test.ts, each failed first on an assertion. Merge check passed 15:26 UTC (3m15s, 163 of 163). Its delivery rebuilds the gitea module on novox; the tool is read-only.
Opened at once, its merge check the one run (the operator, 2026-10-19); the review of both members ran beside the checks (round 1: this member approved; mesh-delivery's teller test fixed in round 1).
Reviewed-by: review-r3c@shanks at 75957fc3c0068ff81f081aa5498200421ba7af1a
gitea_commit_trees reads the commit's recursive tree listing and answers the root tree and the
tree of every directory holding a module.json; a cut listing fails loudly. gitea_open_pulls
entries gain head. The query keys recursive and per_page join the allow-list, read flags only.
mesh-delivery decodes open pulls with json.Unmarshal into a struct (cmd/mesh-delivery/ports.go:405-410),
which ignores the added key.
mesh/repo-check head 75957fc3c006 merged into trunk e8c3448797c7 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-…
mesh/merge-gate head 75957fc3c006 merged into trunk e8c3448797c7 — pass: group feat/delivery-parts composed: every machine composes with the change as it d…
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792433168676870614 (novox/mesh-catalog at eda55ceb into main,…
The listing's top sha is the commit's, not the root tree's (seen live, novox/mesh-delivery at 7f61817), so
gitea_commit_trees now computes the root tree as git does, from the entries without a slash. The query keys
recursive and per_page stay in the allow-list: read flags only.
Deliverynovox/mesh-catalog@75957fc3c006 — failed since 2026-10-19T18:26:26Z
Covered: covered after its failure: a later walk that contains it was delivered: plan-1792433168676870614 (novox/mesh-catalog at eda55ceb into main, done, contains its merge eda55ceb)
Delivery plan — builds gitea → novox; no bus step
tier 0: gitea
novox: receives gitea
gitea provides npm-package-registry, git, gitea-read, forge-account: its consumers are sent again after it
gitea keeps data (ADR 0233): what it holds is backed up before it moves
composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
Machines
gitea on every machine running it: sent
mesh-delivery-view on every machine running it: sent
mesh-delivery-watchman on every machine running it: sent
Transitions
2026-10-19 15:23 (new) → proposed (announced): novox/mesh-catalog#374's head announced
2026-10-19 15:26 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-19 15:26 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-19 18:17 ready → proposed (recheck): its mesh/repo-check status is missing on the forge though it passed at 15:26 UTC (issue 1276), and the group's composed check now running sets only the gate; without its own check asked again its merge is refused again (issue 1275)
2026-10-19 18:19 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-19 18:19 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-19 18:23 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-19 18:23 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
2026-10-19 18:26 delivering → failed (failed): its walk failed, carrying its own commit: a gate on a first machine (what it carried put back), a build, a machine
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-catalog@75957fc3c006` — **failed** since 2026-10-19T18:26:26Z
**Covered**: covered after its failure: a later walk that contains it was delivered: plan-1792433168676870614 (novox/mesh-catalog at eda55ceb into main, done, contains its merge eda55ceb)
**Delivery plan** — builds gitea → novox; no bus step
- tier 0: gitea
- novox: receives gitea
- gitea provides npm-package-registry, git, gitea-read, forge-account: its consumers are sent again after it
- gitea keeps data (ADR 0233): what it holds is backed up before it moves
**Group** `feat/delivery-parts`: novox/mesh-catalog@75957fc3c006, novox/mesh-delivery@24177aa654ab
- composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
**Machines**
- gitea on every machine running it: sent
- mesh-delivery-view on every machine running it: sent
- mesh-delivery-watchman on every machine running it: sent
**Transitions**
- 2026-10-19 15:23 (new) → proposed (announced): novox/mesh-catalog#374's head announced
- 2026-10-19 15:26 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-19 15:26 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-19 18:17 ready → proposed (recheck): its mesh/repo-check status is missing on the forge though it passed at 15:26 UTC (issue 1276), and the group's composed check now running sets only the gate; without its own check asked again its merge is refused again (issue 1275)
- 2026-10-19 18:19 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-19 18:19 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-19 18:23 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-19 18:23 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
- 2026-10-19 18:26 delivering → failed (failed): its walk failed, carrying its own commit: a gate on a first machine (what it carried put back), a build, a machine
The commit's note under `refs/notes/mesh-plan` keeps every transition: `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.
Design 47 milestone R3c (ADR 0437), issue 1234; one delivery group with mesh-delivery's feat/delivery-parts, this member first.
gitea_commit_trees(owner, repo, full sha): the commit's root tree and the tree of every directory holding a module.json, read page by page from the forge's recursive tree listing; a listing still cut fails loudly. The root tree is computed from the root's own entries as git hashes a tree, because Gitea's API names the commit's sha where the root tree's should be (1234/AC6, proven against git: mesh-delivery 7f61817 → 659bcaaa…).gitea_open_pullsentries gainhead(the branch) besidehead_sha; today's mesh-delivery decodes them with json.Unmarshal and ignores the new key (modules/mesh-delivery/cmd/mesh-delivery/ports.go:397-411).recursiveandper_page(read flags; gitea_api may send them too).Tests: 1234/AC1-AC6 in modules/gitea/test/commit-trees.test.ts, each failed first on an assertion. Merge check passed 15:26 UTC (3m15s, 163 of 163). Its delivery rebuilds the gitea module on novox; the tool is read-only.
Opened at once, its merge check the one run (the operator, 2026-10-19); the review of both members ran beside the checks (round 1: this member approved; mesh-delivery's teller test fixed in round 1).
Reviewed-by: review-r3c@shanks at
75957fc3c0Delivery
novox/mesh-catalog@75957fc3c006— failed since 2026-10-19T18:26:26ZCovered: covered after its failure: a later walk that contains it was delivered: plan-1792433168676870614 (novox/mesh-catalog at
eda55cebinto main, done, contains its mergeeda55ceb)Delivery plan — builds gitea → novox; no bus step
Group
feat/delivery-parts: novox/mesh-catalog@75957fc3c0, novox/mesh-delivery@24177aa654Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.