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

OCTOBER-REVIEW-REVISIONS 3c: a deleted site inherits nothing, and a stopped launch still tells until replaced #45

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

A deleted-and-recreated site inherits nothing of the old process: delete_site also forgets what the old process told the front (its auto-pull hint) and its exit and recycle back-off (SiteProcesses::forget).

A stopped launch keeps telling until it is replaced. Before, stop() marked the launch retired before SIGTERM, so a publish that finished while the process drained, and its weight and sync tells, were dropped. Each launch now carries its number and its site's latest launch number (LaunchNumber), and told() acts while they match; an old launch's frame still never reaches a recycled successor. retired and is_current are removed. A test-routes-only probe (probe::take_from) is added.


OCTOBER-REVIEW-REVISIONS, subunit 3c. 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 #

  • #3404 s/772-orr-u3c-invariant — ORR 3c: a re-created site inherits nothing; a stopped launch tells until replaced

    OCTOBER-REVIEW-REVISIONS unit 3c, product: two fixes the invariant's tests found, and one from 3b's review.

    • A site deleted and re-created inherits nothing of the old process. delete_site now also forgets what the old process told the front (its auto-pull hint) and its exit and recycle back-off (SiteProcesses::forget).
    • A stopped launch still tells until it is replaced (lichen-adversary's item against 2c). stop() marked a launch retired before SIGTERM, so a publish that finished while the process drained, and its weight and sync tells, were dropped.
      • Each launch now carries its number and its site's latest launch number (LaunchNumber). told() acts while they match, so a launch that has stopped or exited still tells until a later launch starts or the site is deleted.
      • An old launch's frame still never reaches a recycled successor.
      • retired and is_current go.
    • A test-routes-only probe (probe::take_from) for the invariant's tests.

Commits #

  • 1b4d2b138 ORR 3c: orr-u3c-invariant (#3404)

Count and shas #

count-product-code-lines c8a664c639b0..1b4d2b138faa: NET +102 · counted +112 -10 · moved out of the counted set +0 · comment-only deletions flagged 4 · macros flagged 0 · tests-folder code flagged 0

Base c8a664c639b01edf0f2bf2f00acc7cd8968b9112 (tip of s/771-orr-u3b-one-principal-tests). Head 1b4d2b138faab78cc65780c29603818d7f73e3bc. 3 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/772-orr-u3c-invariant.

Commits 0