From 354c775f6602ac207ce37160a0fc4ceeb9569c2c Mon Sep 17 00:00:00 2001 From: Jer Miller Date: Thu, 30 Jul 2026 20:56:31 -0600 Subject: [PATCH] test(speakers): exclude gitignored repo scratch from the no-write oracle The differential harness proof deliberately creates a run directory under the repository tmp/ scratch root, because proving the oracle ignores concurrent __pycache__ churn requires an in-repo location. Under xdist that directory appears and disappears inside an unrelated consumer window, so the verdict CLI no-write proof failed on a sibling worker action rather than on anything the CLI did. tmp/ is gitignored scratch, not repository content, and joins the existing runtime-directory exclusions for the same reason each of those was added. The in-repo write invariant remains asserted directly by the harness in-repo destination refusal test. --- tests/_repo_inventory.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/_repo_inventory.py b/tests/_repo_inventory.py index 6017d4f44..66d05bb6d 100644 --- a/tests/_repo_inventory.py +++ b/tests/_repo_inventory.py @@ -34,6 +34,13 @@ from typing import TypeAlias # tests/test_openapi_schemathesis.py has 6 unmarked default-selected tests # that rewrite .hypothesis/unicode_data/15.1.0/codec-utf-8.json.gz on every # run, which is otherwise a regular-file change at repo root. +# - tmp: gitignored scratch at the repo root. tests/test_speaker_differential.py +# deliberately creates tmp/speaker-differential-cache-race-- inside +# the repository, because proving this oracle ignores concurrent __pycache__ +# churn requires an in-repo location. Under xdist that directory appears and +# disappears inside an unrelated consumer's before/after window. The no-write +# invariant it would otherwise cover is asserted directly and separately by +# the harness's own in-repo-destination refusal test. # - target / dist: build outputs, not repository source. cargo and uv rewrite # them constantly, and on a working clone core/target alone carries ~23k files # (~7 GB), which is enough to push a nine-case before/after inventory past @@ -49,6 +56,7 @@ EXCLUDED_RUNTIME_DIR_NAMES: frozenset[str] = frozenset( ".hypothesis", "target", "dist", + "tmp", } ) -- 2.51.2