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

OCTOBER-REVIEW-REVISIONS subunits 1a-1b: children hold no request socket, and the Yjs demo is deleted #63

targeting base/october-review-revisions-unit-1a-1b from view/october-review-revisions-unit-1a-1b
Open opened by and assigned to notplants-bot.bsky.social
targeting base/october-review-revisions-unit-1a-1b from view/october-review-revisions-unit-1a-1b

Two removals. Scripts, the script engines' children and the terminal's shell can no longer ask the site process to publish or push: the children's router and socket, lichen ask and Lua's and Python's lichen.ask, the routes descriptor (ROUTES_FD, descriptor 4 in the script and terminal spawns), Origin::Child, ChildAsked and the editor's push_routes are deleted. And the Yjs demo is deleted: the api/yjs-demo.html page, its handler and /test/yjs-demo route, its contract entry and its doc line.


OCTOBER-REVIEW-REVISIONS, unit 1 (subunits 1a, 1b combined, replacing their per-subunit PRs). 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 PR'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 #

  • #3382 s/752-orr-u1a-no-child-routes — ORR 1a: children hold no request socket (child_routes and lichen ask go)

    OCTOBER-REVIEW-REVISIONS unit 1a, product: children hold no request socket (A3). Scripts, the script engines' children and the terminal's shell can no longer ask the site process for a publish or a push.

    Deleted:

    • site_process/child_routes.rs, the children's router and its socket;
    • lichen ask (lichen-cli) and Lua's and Python's lichen.ask;
    • ROUTES_FD, ROUTES_FD_VAR and LICHEN_ROUTES_FD (and lichen-env's keep of it), and descriptor 4 in the script and terminal spawns (prepare_ordinary's routes, spawn_script_child's, the PTY's);
    • Origin::Child, ChildAsked, and git/editor.rs's push_routes.

    SCRIPT and TERMINAL keep their lists; changing them is unit 4. The helper dispatch's order is unchanged: the helper is answered before any hook or main reads a mode. SANDBOX.md, README-extended.md and docs/SECURITY.md's prose drop the children's socket.

    Its tests and the guard's re-pin are the paired tests PR, stacked on this one. Checks count at the tests tip.

  • #3384 s/754-orr-u1b-no-yjs-demo — ORR 1b: delete the Yjs demo

    OCTOBER-REVIEW-REVISIONS unit 1b, product: delete the Yjs demo (D7).

    Removed: the page api/yjs-demo.html, YJS_DEMO and yjs_demo_handler (api/html.rs), the /test/yjs-demo route, its contract/cms-api.json entry and the line in frontends/builtin/DESIGN-10.md. api/test_routes.rs's doc line no longer names the demo.

    The demo was the only browser check of lichen-client.js's builtinYjs binding a textarea; the paired tests PR keeps that check with a test fixture page and no product route.

Commits #

  • fbc980c24 OCTOBER-REVIEW-REVISIONS unit 1a-1b: subunit 1a
  • dea2263b9 OCTOBER-REVIEW-REVISIONS unit 1a-1b: subunit 1b

Count and shas #

count-product-code-lines 65a6666b093b..dea2263b9e73: NET -505 · counted +6 -511 · moved out of the counted set +0 · comment-only deletions flagged 20 · macros flagged 0 · tests-folder code flagged 0

Base 65a6666b093bf64341dd4ba5a5547c4340c03744 (tip of s/750-grp-u6-docs). Head dea2263b9e73bf04890b1e4677dd756c413e007b. 32 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/754-orr-u1b-no-yjs-demo.

No file here was changed by any tests PR of this unit.

Commits 0