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

OCTOBER-REVIEW-REVISIONS 5d: one site, one slot #49

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

One site, one slot: the per-site maps become each site's own state behind an Arc that every clone shares (outbound's, inbound's, the hub's and hub_repo's maps and locks). WRITERS is deleted, the rewrite hold is a SiteRuntime field, and Publishes no longer holds a map. STATES, the build caches, the frontend's UPDATES, the probe's SEEN and DUE in git/hub.rs stay as maps, each with its reason in the structure test.

The runtime registry is a single slot with no domain. SiteHost had one implementation and is inlined into SiteProcessHost (host.rs is gone). Dead code is removed (site_record, retire, runtime_lock_is_held, the Weak registry, the three forgets, is_opened, outbound::rewritten), and domain parameters drop from 75 to 33; the remaining ones name the site (DNS, the PDS repository, known hosts, logs).


OCTOBER-REVIEW-REVISIONS, subunit 5d. 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 #

  • #3412 s/780-orr-u5d-one-slot — ORR 5d: one site, one slot; the per-site maps become the site's own state

    OCTOBER-REVIEW-REVISIONS unit 5d, product: one site, one slot (C4).

    • The per-site maps become each site's own state behind an Arc every clone shares. That covers outbound's, inbound's, the hub's and hub_repo's maps and locks.
      • WRITERS is deleted: shipped code took only its read side, and a deletion waits for the process.
      • The rewrite hold is a SiteRuntime field.
      • Publishes no longer holds a map.
    • Kept as maps, each with its reason in the structure test:
      • STATES (keyed by hold id);
      • the build caches (lichen server build builds every site in one process);
      • the frontend's UPDATES (not on the plan's list);
      • the probe's SEEN;
      • DUE in git/hub.rs. Making it a field would thread the runtime through 13 shipped and about 30 test callers of the commit helpers. Say if it should be converted.
    • The runtime registry is a single slot with no domain. SiteHost had one implementation and is inlined into SiteProcessHost; host.rs goes.
    • Dead code removed: site_record, retire, runtime_lock_is_held, the Weak registry, the three forgets, is_opened, outbound::rewritten.
    • domain parameters: 75 shipped go to 33. The 42 removed were only keys; the 33 left name the site (DNS, the PDS repository, known hosts, logs).
    • The test hooks at outbound.rs and publish/run.rs stay on test-support, since lichen-server's tests still drive them.
    • From 5c's note: well_known_did reads at most 2 KiB. A longer body is a definite "no DID", because the host did answer.

Commits #

  • 2ee62b7bf ORR 5d: orr-u5d-one-slot (#3412)

Count and shas #

count-product-code-lines c10d05b8f588..2ee62b7bf483: NET -215 · counted +414 -629 · moved out of the counted set +0 · comment-only deletions flagged 76 · macros flagged 0 · tests-folder code flagged 0

Base c10d05b8f588abd224e8d50c48ff5539d7c5e9a4 (tip of s/779-orr-u5c-site-owner-did-tests). Head 2ee62b7bf483787f7b629d9480d00626d018a3da. 26 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/780-orr-u5d-one-slot.

Commits 0