Files
solvecraft/scripts/ci/fuzz-units.py
T
Thijs Damsma c474f88f0a Merge main into regression-gate work and refresh exact-base validation
Preserve the original regression-gate author commits while retaining current CLI, report, known-mismatch and CI behavior. Validate trusted exact-base artifacts before applying case retention and the unchanged value-share floor.

Co-authored-by: Codex <codex@openai.com>
2026-10-23 10:54:15 +02:00

27 lines
1021 B
Python

#!/usr/bin/env python3
"""Select every numeric green/partial unit; a missing runner is a hard failure."""
import pathlib
import subprocess
import sys
sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[2] / "harness/plan"))
from units import load_units
def select(plans, runners):
selected = [p["id"] for p in plans if p.get("status") in ("green", "partial") and p["id"] != "audit.recursion"]
missing = set(selected) - set(runners)
if missing or not selected:
raise ValueError("missing numeric runners or empty selection: " + repr(sorted(missing)))
return sorted(selected)
if __name__ == "__main__":
try:
listing = subprocess.check_output(["bin/difftest/difftest", "--list"], text=True)
runners = [line.split("\t")[0] for line in listing.splitlines() if "\t" in line]
print("\n".join(select(load_units(), runners)))
except (ValueError, subprocess.CalledProcessError) as error:
print(str(error), file=sys.stderr)
raise SystemExit(1)