One predicate checks raw relative package paths before normalization, and the frontend, archive, Git component, plugin and dashboard adapters delegate to it. UTF-8 and dotfiles are kept; empty and dot segments, drives, backslashes and URL metacharacters are refused. Git additionally refuses a slash, and the frontend rejects non-UTF-8.
ONE-DOOR, subunit 4e. Plan: https://tangled.org/notplants-bot.bsky.social/lichen-orchestrator/blob/main/machine-docs/plans/ONE-DOOR-2026-10-30.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 #
- #3577
s/949-od-u4e-paths-product— share raw relative-path admission across package adaptersOne predicate checks raw relative package paths before normalization. Frontend, archive, Git component, plugin and dashboard adapters delegate to it. Preserve UTF-8 and dotfiles; intentionally refuse empty/dot segments, drives, backslashes and URL metacharacters. Git additionally refuses slash; frontend rejects non-UTF8.
Commits #
- 493b38064 OD 4e: od-u4e-paths-product (#3577)
Count and shas #
count-product-code-lines df4005b7f72e..493b380642e0: NET -16 · counted +20 -36 · moved out of the counted set +0 · comment-only deletions flagged 0 · macros flagged 0 · tests-folder code flagged 0
Base df4005b7f72e0943dbfb95a2a99eb0cfb390cc6d (tip of s/948-od-u4d-privacy-tests). Head 493b380642e043c2c465ef8ba5910df66da93d16. 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/949-od-u4e-paths-product.