- test_dfg_re20: the dirty-checkout test now supplies all three git
responses (HEAD:src, HEAD, status) and asserts the call order, so it
reaches the clean-checkout rejection instead of StopIteration.
- run_dfg_re20: --output inside the source checkout is refused before
provenance, plan writing or any CUDA work (receipts would dirty the
recorded source); tested with the checkout root and nested paths.
- source_provenance.historical_files: validates all paths first and
reports an unreadable blob as HistoryUnavailable, not a raw
CalledProcessError; tested with a failing git show.
No physics thresholds changed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>