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

OCTOBER-REVIEW-REVISIONS 2d: a request after the git remote is set reaches the new process #42

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

Two fixes. A request arriving right after the git remote is set could reach the stopping site process, and a direct call there was cancelled by the main runtime's shutdown and answered 500. set_git_remote now answers only once the old process has exited (SiteProcesses::recycled, under the site's lifecycle lock), and a direct call cut short by a stop answers 503 "the site is restarting; try again shortly". A test-routes-only hook in site_process/front.rs lets a test send a launch another node key, or none, to see the admin thread's node-key check refuse it.


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

  • #3398 s/766-orr-u2d-spindle-fixups — ORR 2d: the git-remote route waits for the old process; a stop answers restarting; the node-key check end to end

    OCTOBER-REVIEW-REVISIONS fix-up 2d, product: two fixes from the first full lichen e2e on Spindle (lichen-adversary's item (b)) and from 2c's review (item (f)).

    • (b) A push right after the git remote is set. set_git_remote recycled the site without waiting, so a request could reach the stopping process. A direct call there was cancelled by the main runtime's shutdown and answered 500 ("task N was cancelled").
      • The route now answers only once the old process has exited (SiteProcesses::recycled, under the site's lifecycle lock).
      • A direct call cut short by a stop answers 503 with the forward's own wording, "the site is restarting; try again shortly", not 500.
      • This closes the backlog entry git-remote-set-races-the-site-restart.md.
    • (f) A test-routes-only hook in site_process/front.rs, so a test can send a launch another node key, or none, and see the admin thread's node-key check refuse it end to end.

Commits #

  • da0f3e239 ORR 2d: orr-u2d-spindle-fixups (#3398)

Count and shas #

count-product-code-lines c8c02d5bb120..da0f3e239d22: NET +30 · counted +37 -7 · moved out of the counted set +0 · comment-only deletions flagged 4 · macros flagged 0 · tests-folder code flagged 0

Base c8c02d5bb1205b7951b2f53463805be1cee91936 (tip of s/765-orr-u2c-iroh-on-admin-tests). Head da0f3e239d22148e1e8f9e7637a3bc01d16d793a. 7 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/766-orr-u2d-spindle-fixups.

Commits 0