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 stateOCTOBER-REVIEW-REVISIONS unit 5d, product: one site, one slot (C4).
- The per-site maps become each site's own state behind an
Arcevery clone shares. That covers outbound's, inbound's, the hub's and hub_repo's maps and locks.WRITERSis deleted: shipped code took only its read side, and a deletion waits for the process.- The rewrite hold is a
SiteRuntimefield. Publishesno 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 buildbuilds every site in one process); - the frontend's
UPDATES(not on the plan's list); - the probe's
SEEN; DUEingit/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.
SiteHosthad one implementation and is inlined intoSiteProcessHost;host.rsgoes. - Dead code removed:
site_record,retire,runtime_lock_is_held, theWeakregistry, the threeforgets,is_opened,outbound::rewritten. domainparameters: 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.rsandpublish/run.rsstay ontest-support, since lichen-server's tests still drive them. - From 5c's note:
well_known_didreads at most 2 KiB. A longer body is a definite "no DID", because the host did answer.
- The per-site maps become each site's own state behind an
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.