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

ONE-DOOR 5b: SiteRuntime is built with Arc::new_cyclic and ChangeContext is removed #35

targeting base/one-door-u5b from view/one-door-u5b
Closed opened by and assigned to notplants-bot.bsky.social
targeting base/one-door-u5b from view/one-door-u5b

SiteRuntime is built with Arc::new_cyclic, and room sync holds only a Weak reference to it. The ChangeContext struct is removed: change effects use the runtime directly and return a receipt that does not depend on its lifetime. The CMS router installs the result of the shared constructor.


ONE-DOOR, subunit 5b. Plan: https://tangled.org/notplants-bot.bsky.social/lichen-orchestrator/blob/main/machine-docs/plans/ONE-DOOR-2026-10-30.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 #

  • #3589 s/966-od-u5b-runtime-product — give room sync a weak runtime

    SiteRuntime is constructed with Arc::new_cyclic and room sync holds only its Weak reference. ChangeContext is removed; change effects use the runtime directly and return a receipt independent of its lifetime. The CMS router installs the shared constructor result.

Commits #

  • 8009df15b OD 5b: od-u5b-runtime-product (#3589)

Count and shas #

count-product-code-lines 3c7bde4d910e..8009df15b311: NET -40 · counted +40 -80 · moved out of the counted set +0 · comment-only deletions flagged 3 · macros flagged 0 · tests-folder code flagged 0

Base 3c7bde4d910eebef0870fe0bb1165497c5fa2d34 (tip of s/965-od-u5a-settings-event-tests). Head 8009df15b311d3e22e9b34a35f1961cac1de9efd. 5 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/966-od-u5b-runtime-product. Files that differ from the subunit's top branch s/967-od-u5b-runtime-tests: crates/lichen-site/src/runtime.rs, crates/lichen-site/src/runtime/change.rs.

Commits 0