Skip to main content

Module path

Module path 

Source
Expand description

Repository-relative lexical path validation.

Moved here from prikk-replay (DC-54): this is pure lexical grammar with no dependency on RepoPath or lifecycle state, and object-envelope encoders need to call it without creating a prikk-object -> prikk-replay dependency cycle (prikk-replay already depends on prikk-object). prikk-replay::RepoPath::parse calls this function and re-exports it, so every existing caller of prikk_replay::validate_repo_path / prikk_store::validate_repo_path keeps compiling unchanged.

Functions§

ascii_fold
The single case-folding definition every case-insensitive-collision check across repository paths, branch ref names, tag ref names, and maintainer trust key ids folds through (DC-72 design ruling: “one folding definition, four call sites” — rfcs/accepted/DC-72-PATH-SAFETY-CONFORMANCE.md §3.5). prikk-object is the lowest crate every surface’s crate already depends on, directly or transitively, so this is the one place a fifth surface’s collision check would also reach.
is_windows_reserved_name
Whether a path component’s basename (before the first .) is a Windows-reserved device name (CON, PRN, AUX, NUL, COM1-COM9, LPT1-LPT9), checked case-insensitively and regardless of host OS. Exposed for other storage surfaces that build a literal filesystem path component from user-supplied text outside the RepoPath grammar (DC-72).
validate_repo_path
Validate that a path is safe as a repository-relative path.