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

MINIMAL-CORE unit 2: the SSRF guard moves to its own crate, and the core size is ratcheted #76

targeting base/minimal-core-unit-2 from view/minimal-core-unit-2
Open opened by and assigned to notplants-bot.bsky.social
targeting base/minimal-core-unit-2 from view/minimal-core-unit-2

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 size

    Move 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.

Commits 0