A site's commit push into its hub becomes a wake-up instead of a call. The admin thread creates a tokio::sync::watch of Committed { main, dist } and hands the sender to the main runtime once at launch; the main runtime sends the ids it committed and gets nothing back.
- On each wake-up the admin thread takes the commits through the one receive, in a new push mode (the pack crosses by file);
push_from_the_siteruns every check, then the remote push, auto-publish and the owner's note. Amainthat does not contain the hub's is not offered: the site is asked to merge the hub's in, and its commit wakes the loop again. - The three direct calls that commit (hold, publish build with
refs/dist/latest,commit_to_hub) answer only once the hub holds their commit. If a client's push moves the hub in between, the call offers again, three times in all, then is refused with "the hub moved under each of 3 offers of the site's main: the site's commits are kept, and go with the next". - A per-site lock (
admin_area::hub::offering) serialises a site's offers into its hub and skips a commit the hub already holds. - Deleted: the admin router's and the front's relay of
/hub/git-receive-packand the receive route behind it.
OCTOBER-REVIEW-REVISIONS, subunit 2b. Plan: https://tangled.org/notplants-bot.bsky.social/lichen-orchestrator/blob/main/machine-docs/plans/OCTOBER-REVIEW-REVISIONS-2026-10-28.md
This is a reading copy: only this subunit's product changes, applied in order on its base. Nothing here is to be merged.
Source PRs on lichen.page.review (product), in order, with their original descriptions #
- #3394
s/762-orr-u2b-wake-up— ORR 2b: the site's commit push becomes a wake-up; the committing calls answer once the hub holds themOCTOBER-REVIEW-REVISIONS unit 2b, product: the site's commit push into its hub becomes a wake-up. The site's
.gitis still read only under the narrow rules (the operator's Open 5 decision (ii)).- The signal: the admin thread makes a
tokio::sync::watchofCommitted { main, dist }, keeps the receiver, and hands the sender down once at launch (MainSide.committed). The main runtime sends the ids of what it committed and gets nothing back, so no call goes from the main runtime to the admin thread. - The take: on each wake-up the admin thread takes the commits through 1c's
from_the_site, in a new push mode. The pack crosses by file, the receive is staged, andpush_from_the_siteruns every check, then the remote push, auto-publish and the owner's note. Amainthat does not contain the hub's is not offered; the site is asked to merge the hub's in, and its commit wakes the loop again. - The three direct calls that commit (the hold, the publish build with
refs/dist/latest,commit_to_hub) answer only once the hub holds their commit (ThenTheHub). If a client's push moves the hub between the site readying itsmainand the receive, the call offers again, three times in all. After the third it is refused: "the hub moved under each of 3 offers of the site's main: the site's commits are kept, and go with the next". That is not noted as a refused push; a refusal by a check is. - A per-site lock (
admin_area::hub::offering) makes the site's offers into its hub one at a time and skips a commit the hub already holds. Nothing on the main side takes it. - Deleted: the admin router's and the front's relay of
/hub/git-receive-pack,receive_from_the_site,OWN_PUSH,Role::OwnPush,Identity::own_push,host.rs'sFrontHub,HubTransport,push_mainandpush_dist. iroh's routes, the router,transport.rs,link.rs's request side andtold()stay for 2c.
- The signal: the admin thread makes a
Commits #
- 288e5d930 ORR 2b: orr-u2b-wake-up (#3394)
Count and shas #
count-product-code-lines f1d4968a1e11..288e5d930ec2: NET +212 · counted +517 -305 · moved out of the counted set +0 · comment-only deletions flagged 114 · macros flagged 0 · tests-folder code flagged 0
Base f1d4968a1e11a3ed0dfd0583d7ae0a954f41ab73 (tip of s/761-orr-u1c-one-receive-tests). Head 288e5d930ec2f9b62fc57fb09736c44bdb5e60a7. 22 files changed.
Check #
Every changed file is a file one of the product PRs changed, and each is identical at the head to the same file at the last product branch s/762-orr-u2b-wake-up.