iroh's endpoint moves to the admin thread, and the site process makes no requests of its own.
- The endpoint, the node key and git sync start from
admin.rsthroughiroh_hub::start; the key is checked against the launch's node id and the main side never holds it. iroh's tasks run on the admin thread's runtime and call the hub directly. iroh-blobs stays onMemStore. - A narrow interface:
IrohHub(the hub half) andSiteRooms(the rooms half), implemented only insite_process/iroh_hub.rs. A room's exchange is a future handed to the main runtime throughon_main; the open-room list and the peers panel cross as plain data. - Deleted: lichen-server's
ipc/router.rs,ipc/transport.rsandipc.rswith theinternalgroup;FrontLink::requestand its 1 MiB answer cap (which also fixes iroh sync over 1 MiB);ask_the_front, iroh'sFrontHubandToFront::Connection; the admin router's five/hub/iroh/*routes,Role::IrohandIdentity::iroh. SiteRequestsandtold()move to lichen-server'ssite_process/front.rs;told()acts only while its launch is the site's current process, so an old launch's frame never reaches a recycled successor.
OCTOBER-REVIEW-REVISIONS, subunit 2c. 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 #
- #3396
s/764-orr-u2c-iroh-on-admin— ORR 2c: iroh on the admin thread, self-contained; the router, transport and link's request side goOCTOBER-REVIEW-REVISIONS unit 2c, product: iroh's endpoint moves to the admin thread (the operator's Open 4 decision (a), iroh kept self-contained), and the site process makes no requests of its own: the router, the transport and the link's request side go.
- iroh on the admin thread. The endpoint, the node key and git sync start from
admin.rsthroughiroh_hub::start. The key is checked against the launch's node id, and the main side never holds it. iroh's tasks run on the admin thread's runtime and call the hub directly, with no new runtime or channel. iroh-blobs stays onMemStore. - The narrow interface. iroh/ defines
IrohHub(the hub half) andSiteRooms(the rooms half), withstart,the_sites_keyandmain_moved. Onlysite_process/iroh_hub.rsimplements them. Every other change outside iroh/ is a call through that interface or a deletion. - The rooms half is the main runtime's: a room's exchange is a future handed to it through
on_main, with the QUIC stream moved inside. The open-room list and the peers panel cross as plain data. - Deleted:
- lichen-server's
ipc/router.rs,ipc/transport.rsandipc.rs, and theinternalgroup; FrontLink::requestwith its 1 MiB answer cap (backlogiroh-sync-over-1mib-fails.mdcloses);ask_the_front, iroh'sFrontHubandToFront::Connection;- the admin router's five
/hub/iroh/*routes,Role::IrohandIdentity::iroh.
- lichen-server's
- Rehomed:
SiteRequestsandtold()go to lichen-server'ssite_process/front.rs.told()acts only while its launch is the site's current process, so an old launch's frame never reaches a recycled successor.SiteRequestskeeps its name for unit 7's renames. - Docs: SANDBOX.md's diagram and rows, docs/SECURITY.md and docs/SITE-IROH.md. 2b's
ready_againgains the doc sentence lichen-adversary asked for.
- iroh on the admin thread. The endpoint, the node key and git sync start from
Commits #
- ed0f6cdcc ORR 2c: orr-u2c-iroh-on-admin (#3396)
Count and shas #
count-product-code-lines b066375e3e5c..ed0f6cdcc59d: NET -179 · counted +532 -711 · moved out of the counted set +0 · comment-only deletions flagged 66 · macros flagged 0 · tests-folder code flagged 0
Base b066375e3e5c20de589459a650ef1e3526276010 (tip of s/763-orr-u2b-wake-up-tests). Head ed0f6cdcc59df5b1ffcfb3ac09330b7205bc7bd8. 29 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/764-orr-u2c-iroh-on-admin.