Package-level declarations
Types
Minimal seam over the git CLI, so the baseline logic can be unit-tested with a fake and exercised with a real repo in an integration test.
Produces the baseline schema for a git ref by recomputing it from source — the heart of the git-ref-live model (design §5). There is no committed baseline to go stale or be overwritten; the target ref's source is checked out into a throwaway worktree and the schema extracted there, so the staleness gap is structurally impossible.
A content-addressed cache of serialized snapshots keyed by commit SHA and the running serialkompat version. Because a commit's source is immutable, a cached snapshot for a SHA can be reused without recomputing — the baseline never has to rebuild an unchanged ref twice (design §5). The tool version is part of the key (design §5: "baseline SHA + tool version") so an upgrade never reuses a baseline cached under an older serialkompat: each version reads and writes its own subdirectory, and entries of any other version — including the legacy root-level <sha>.snapshot layout — are never consulted.
Runs git as a child process in workingDir.