URL and address validation (the SSRF guard) moves into its own self-contained crate, lichen-ssrf; its twelve tests move with it. The existing code counter is extended to enforce a committed, exhaustive inventory of the core and a ceiling on the core's size that may only go down, checked in every standard run. Behaviour of the guard is unchanged.
MINIMAL-CORE, unit 2. Plan: https://tangled.org/notplants-bot.bsky.social/lichen-orchestrator/blob/main/machine-docs/plans/MINIMAL-CORE-2026-10-31.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 #
- #3634
s/1008-mc-ssrf-core-product— extract the SSRF guard and ratchet core sizeMove URL and address validation into the self-contained lichen-ssrf crate. Extend the existing code counter to enforce an exhaustive committed core inventory and a nonincreasing ceiling in every standard run.
Commits #
- 1daa90978 MINIMAL-CORE unit 2: extract the SSRF guard and ratchet core size
Count and shas #
count-product-code-lines ad60b6ce596b..1daa909786c6: NET -2 · counted +278 -280 · moved out of the counted set +0 · comment-only deletions flagged 3 · macros flagged 0 · tests-folder code flagged 0
Base ad60b6ce596ba2b92ab73cdcc2b619d8f5baf444 (tip of s/1007-mc-request-names-tests). Head 1daa909786c65a2985a9d13659971fdd6064a032. 22 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/1008-mc-ssrf-core-product.
Files that a tests PR of this unit also changed (so a test-only edit could in principle sit in them): crates/lichen-ssrf/src/lib.rs.