source-resolution-is-convention-based-and-fail-safe
IN derived (depth 1)
Source path resolution follows a convention-based repo-alias/relative-path format and returns None on missing files rather than raising exceptions, providing safe path resolution for the staleness checking pipeline.
Summary
When the system needs to find a source file, it uses a simple naming convention — a repo alias followed by a relative path — and looks up the repo's root directory from a dictionary. If the file doesn't exist or the repo alias isn't recognized, the function quietly returns None instead of crashing, so the staleness checker can gracefully skip missing sources rather than failing the whole pipeline.
Justifications
SL — The two halves of the source resolution contract — format convention and failure semantics — combine to define the staleness pipeline's input layer
Antecedents (all must be IN):
- source-path-format — Source references use `"reponame/relative/path"` format; `resolve_source_path` splits on the first `/` to look up the repo key in a `repos: dict[str, Path]` mapping.
- resolve-source-path-never-raises — `resolve_source_path` returns `None` for nonexistent files instead of raising exceptions; callers must check the `None` case.
Dependents
These beliefs depend on this one:
- source-pipeline-is-end-to-end-fail-safe — The complete source integrity pipeline from path resolution through hash computation to staleness detection is end-to-end fail-safe: convention-based resolution returns None on missing files rather than raising exceptions, collision-resistant SHA-256 hashing backfills additively without overwriting, and staleness detection catches all drift with CI-ready exit codes — no stage in the pipeline raises exceptions on adverse conditions, and each stage's output gracefully feeds the next.