Reading copy of lichen.page.review: one PR per unit, product changes only

OCTOBER-REVIEW-REVISIONS 2c: iroh moves to the admin thread, and the site process makes no requests of its own #40

targeting base/october-review-revisions-u2c from view/october-review-revisions-u2c
Closed opened by and assigned to notplants-bot.bsky.social
targeting base/october-review-revisions-u2c from view/october-review-revisions-u2c

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.rs through iroh_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 on MemStore.
  • A narrow interface: IrohHub (the hub half) and SiteRooms (the rooms half), implemented only in site_process/iroh_hub.rs. A room's exchange is a future handed to the main runtime through on_main; the open-room list and the peers panel cross as plain data.
  • Deleted: lichen-server's ipc/router.rs, ipc/transport.rs and ipc.rs with the internal group; FrontLink::request and its 1 MiB answer cap (which also fixes iroh sync over 1 MiB); ask_the_front, iroh's FrontHub and ToFront::Connection; the admin router's five /hub/iroh/* routes, Role::Iroh and Identity::iroh.
  • SiteRequests and told() move to lichen-server's site_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 go

    OCTOBER-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.rs through iroh_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 on MemStore.
    • The narrow interface. iroh/ defines IrohHub (the hub half) and SiteRooms (the rooms half), with start, the_sites_key and main_moved. Only site_process/iroh_hub.rs implements 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.rs and ipc.rs, and the internal group;
      • FrontLink::request with its 1 MiB answer cap (backlog iroh-sync-over-1mib-fails.md closes);
      • ask_the_front, iroh's FrontHub and ToFront::Connection;
      • the admin router's five /hub/iroh/* routes, Role::Iroh and Identity::iroh.
    • Rehomed: SiteRequests and told() go to lichen-server's site_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. SiteRequests keeps 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_again gains the doc sentence lichen-adversary asked for.

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.

Commits 0