From 698ee296ac40736538e20dcd8845825e9db98fa1 Mon Sep 17 00:00:00 2001 From: Michael Heller <21163552+mdheller@users.noreply.github.com> Date: Sat, 4 Jul 2026 12:06:31 -0400 Subject: [PATCH] verify: drop dangling pathB_stream fixture entry + fail loud on missing files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit verify_fixtures_strict.py's `sets` list referenced ("vectors_hex_pathB_stream.txt", ...), but that fixture NEVER existed (absent from all of git history) and is not a real contract: Path-B (THEORY.md §5) is a ternary payload-encoding axis, not a streaming lane — streaming is covered by the avro stream fixtures (avrochunk/avronested). There is no in-repo generator, so manufacturing self-consistent-but-meaningless frames would only fake coverage. `verify_file` silently `return`ed on the missing file, so this lane was never verified and the gap was invisible. - Remove the stale pathB_stream entry (reflects reality: no such lane). - Make verify_file FAIL (exit 2) instead of silently skipping when a listed fixture/nonces file is missing, so future dangling references surface in CI immediately rather than becoming silent no-ops. All remaining lanes have real files; `make verify` stays green (exit 0). --- tools/verify_fixtures_strict.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/verify_fixtures_strict.py b/tools/verify_fixtures_strict.py index 3105f79..e429b89 100644 --- a/tools/verify_fixtures_strict.py +++ b/tools/verify_fixtures_strict.py @@ -73,8 +73,10 @@ def get_aad_and_tag(frame: bytes): def verify_file(fx_name: str, nx_name: str) -> None: path = FX/fx_name; npath = FX/nx_name - if not path.exists() or not npath.exists(): - return + missing = [str(p) for p in (path, npath) if not p.exists()] + if missing: + print(f"[FAIL] listed fixture file(s) missing: {', '.join(missing)}", file=sys.stderr) + sys.exit(2) nonce = {} for ln in npath.read_text().splitlines(): ln=ln.strip() @@ -101,7 +103,6 @@ def main(): ("vectors_hex_unary_rich.txt","vectors_hex_unary_rich.txt.nonces"), ("vectors_hex_stream_avronested.txt","vectors_hex_stream_avronested.txt.nonces"), ("vectors_hex_pathB.txt","vectors_hex_pathB.txt.nonces"), - ("vectors_hex_pathB_stream.txt","vectors_hex_pathB_stream.txt.nonces"), ("vectors_hex_prophet_lane1.txt", "vectors_hex_prophet_lane1.txt.nonces"), ] for f,n in sets: verify_file(f,n)