superseded by the full set from 09-23, #17–#37
description:
Review set for lichen.page.review, 0b92cb61 (reviewed) → eb5a1653 (stack). PR 15 of 16. 4 files, +55/−9. One commit, 90320e983d82, which sets these files to their content at eb5a1653. Targets #14 (oct/14-frontends). #16 stacks on this one. Tests and generated files are not in any PR; they are in main.
The test runners and CI workflow, not the product. Small: 4 files, +55/−9.
just quick(QUICK-TESTS): a fixed selection of about four minutes of tests, run with one cargo build on every PR.gate's groups now run once at the end of a phase, insidestandard.just diffandjust custom(operator, 2026-10-23: targeted runs per sub-unit): the tests of exactly the files a diff touches, or exactly the tests named, after one build.diffis marked a trial.just sandbox-docker(LICHEN-SANDBOX L1c): everylichen-sandboxtest inside an unprivileged Docker container, and a server with site processes refusing to start where a profile takes Landlock or seccomp away.- The flat-file job also tests
lichen-sandbox, including its refusal without Landlock as its own invocation; lib tests start site processes from thelichenthis cargo build made (LICHEN_TEST_SITE_EXECUTABLE, SITE-FRONT-BOUNDARY 11e). - The CI suites run under
tinias PID 1 in the e2e shell (.tangled/workflows/full.ymlandstandard.yml;flake.nixaddspkgs.tinion Linux), so the orphans a test's site processes leave are reaped.
info:
Plans: QUICK-TESTS-2026-10-14.md; LICHEN-SANDBOX-AND-PERMISSIONS-2026-10-13.md (L1c); SITE-FRONT-BOUNDARY-2026-10-17.md (decision 6, unit 11e); the per-sub-unit testing rule in lichen-orchestrator's machine-docs/TESTING-STRATEGY.md.
Files
justfile— the recipes above. The scripts they call (e2e/ci/quick.py,quick-tests.txt,diff_tests.py,custom_tests.py,e2e/plain-docker/sandbox_crate.sh) are test harness, so they are inmain..tangled/workflows/full.yml,.tangled/workflows/standard.yml—tini -s -g --before the suite.flake.nix—tiniin the e2e shell.
Note: no CI runs on this review repository; it has no Spindle.
Lives elsewhere
clippy.toml's router rule: #2. The workspaceCargo.tomlmember: #1.