#!/usr/bin/env python3 """Baseline harness: how findable, reproducible and answered are the design findings this project has already produced? The comparator is US, today. The external candidates (rulings databases, model-checker traces, W3C provisional marks) are practices rather than runnable software, so per InnerLoop Step 1 their rows are DIRECTIONAL and cap at `parity`. This is the row that can be measured. """ import os, re, subprocess, sys, datetime ROOT = "/home/worsch/clay-borg" os.chdir(ROOT) # The findings this project has actually produced, and where each lives. FINDINGS = { "U1..U10 underdetermined points": ["specs/GroundRules.md"], "SOLVE on a face-down Problem": ["workplans/CB-WP-0018-the-browser-is-a-client.md", "evidence/CB-EV-0016-the-browser-is-a-client.md"], "GR-A13 wasted SOLVE": ["evidence/CB-EV-0007-stage-0.md"], # RESOLVED 2026-08-04: ground-game ruled GR-S01's deal, the engine # imports the edition, and the scenario was renamed from # `-unreachable-` to `-reachable-`. Kept in the baseline because the # baseline is a snapshot of what the survey measured, and a register # that drops findings when they close cannot report a close rate. "GR-E01 unreachable below 5 seats [RESOLVED]": [ "evidence/CB-EV-0007-stage-0.md", "scenarios/ground/gr-e01-threshold-reachable-2p.yaml", "workplans/CB-WP-0021-import-the-edition.md"], "six provisional defaults": sorted( os.path.join("scenarios/ground", f) for f in os.listdir("scenarios/ground") if f.endswith(".yaml") and "provisional: true" in open(os.path.join("scenarios/ground", f)).read()), "GR-E03/GR-E04 never played": ["evidence/CB-EV-0007-stage-0.md"], } def has_reproduction(paths): """A runnable thing: a scenario file, or a named test/command.""" for p in paths: if p.startswith("scenarios/"): return True return False def self_test(): """The control that matters: a harness that read nothing must not report a clean baseline. Every path this survey cites must exist, and the reproduction test must be able to say NO — one that answered yes for everything would report 100% and look excellent.""" results = [] def check(name, ok, detail=""): results.append((name, ok, detail)) missing = [p for paths in FINDINGS.values() for p in paths if not os.path.exists(p)] check("every cited location exists", not missing, ", ".join(missing[:3])) check("the finding set is not empty", len(FINDINGS) >= 6, f"{len(FINDINGS)}") check("reproduction detection can say NO", not has_reproduction(["evidence/CB-EV-0007-stage-0.md"]), "a detector that always says yes would report 100%") check("reproduction detection can say YES", has_reproduction(["scenarios/ground/gr-e01-threshold-unreachable-2p.yaml"])) # The number this survey turns on, pinned so a later edit cannot move # it silently: 2 of 6 today. repro_now = sum(has_reproduction(v) for v in FINDINGS.values()) check("the measured baseline is 2 of 6", repro_now == 2, f"{repro_now}/6") print("design-baseline self-test (positive control)") ok = True for name, passed, det in results: print(f" [{'ok ' if passed else 'FAIL'}] {name}" + (f" — {det}" if det else "")) ok &= passed return 0 if ok else 1 if "--self-test" in sys.argv: raise SystemExit(self_test()) print("BASELINE — design findings as they stand, 2026-08-03\n") places = set() repro = 0 for name, paths in FINDINGS.items(): places.update(paths) r = has_reproduction(paths) repro += r print(f" {'repro' if r else ' - '} {len(paths)} location(s) {name}") n = len(FINDINGS) print(f"\n findings {n}") print(f" with a runnable reproduction {repro}/{n} = {100*repro//n}%") print(f" distinct files holding them {len(places)}") print(f" single register? NO — {len(places)} files, no index") # Time from raised to READ, for the one finding with a timestamp trail. raised = datetime.date(2026, 7, 30) # hub message from clay-borg-custodian read = datetime.date(2026, 8, 3) # marked read this session print(f"\n U1..U10: raised {raised}, first READ {read} — {(read-raised).days} days") print(f" U1..U10: answered? NO — {(read-raised).days}+ days open, 0 of 10 ruled")