diff options
| author | YurenHao0426 <Blackhao0426@gmail.com> | 2026-07-22 20:34:18 -0500 |
|---|---|---|
| committer | YurenHao0426 <Blackhao0426@gmail.com> | 2026-07-22 20:34:18 -0500 |
| commit | 0bfaef245b13d0e2a0d0918c74789dc0238ded74 (patch) | |
| tree | 0dfbfe08cc65002ecf6e5921c4f8c4178968775e | |
| parent | eb660b95ea39af7b313aa73b18a8cd4ae3231bf3 (diff) | |
audit: make oral B development gate immutable
| -rw-r--r-- | ORAL_B_RECOVERY.md | 4 | ||||
| -rw-r--r-- | experiments/analyze_bci_td_development.py | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/ORAL_B_RECOVERY.md b/ORAL_B_RECOVERY.md index da018dd..abfcffc 100644 --- a/ORAL_B_RECOVERY.md +++ b/ORAL_B_RECOVERY.md @@ -117,7 +117,9 @@ necessity, innovation identification, and a causal plasticity lesion. The executable runner, complete-grid analyzer, and shell entry point are `experiments/bci_td_run.py`, `experiments/analyze_bci_td_development.py`, and -`experiments/bci_td_development_screen.sh`. None may run before D4 closes. +`experiments/bci_td_development_screen.sh`. None may run before D4 closes. Once +the deterministic R1 gate exists, later invocations may only verify exact +equality and cannot overwrite it. ## R2 frozen untouched confirmation diff --git a/experiments/analyze_bci_td_development.py b/experiments/analyze_bci_td_development.py index 78dbceb..5d97c9d 100644 --- a/experiments/analyze_bci_td_development.py +++ b/experiments/analyze_bci_td_development.py @@ -206,7 +206,12 @@ def main(): "R1 is development evidence and cannot change the paper score"), } if os.path.exists(args.out): - raise FileExistsError(f"refusing to overwrite {args.out}") + with open(args.out) as handle: + existing = json.load(handle) + require(existing == output, + "existing R1 gate differs from deterministic re-audit") + print(json.dumps(output, indent=2)) + return with open(args.out, "w") as handle: json.dump(output, handle, indent=2, sort_keys=True) handle.write("\n") |
