R7/battery: RQ1+RQ2 confirmatory-battery orchestration (start-line, no data)

Enumerates the frozen §2 confirmatory cells (3 RQ1 bridge levels + 3 RQ2 topology
levels at their controls; bridge-off+padding recorded as a declared N/A, not run),
derives each run's seed by the frozen §4 rule (SHA256('<S0>|<cell_id>|<run_index>')
big-endian first 8 bytes -> u64, S0=20260719), and lays out the §2 schedule with
run order randomized within each cell and each RQ's control interleaved before and
after its treatments.

write_cell_plan emits the auditable cell x run plan artifact (R=30, C=50 -> 180
runs / 9000 circuits, seed rule, matched-N rule, full schedule). dry_pass exercises
the R2/R3 provenance pipeline on FIXTURES only (deterministic replay_and_seal, no
engine, no traffic) to prove schema-valid + checksummed provenance and that a seed
reproduces its circuit-build sequence. Collects no confirmatory data — that remains
the human gate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
leetcrypt
2026-07-19 19:39:14 -07:00
parent cb4b6869fc
commit 72a6c7b519
2 changed files with 399 additions and 0 deletions
+126
View File
@@ -0,0 +1,126 @@
"""Confirmatory-battery orchestration — plan integrity + DRY provenance pass.
Validates the RQ1+RQ2 start-line layer without collecting any confirmatory data:
the frozen cell enumeration, the §4 seed rule (independently recomputed), the §2
randomized/interleaved schedule, and a fixture-only DRY pass that proves the
R2/R3 provenance pipeline emits schema-valid, checksummed artifacts and that a
seed reproduces its circuit-build sequence.
"""
import hashlib
import json
from cmd_chat.sor.battery import (
C_CIRCUITS,
R_RUNS,
S0,
battery_schedule,
declared_na_cells,
derive_seed,
dry_pass,
enumerate_cells,
plan_runs,
write_cell_plan,
)
# --------------------------------------------------------------------------- #
# Seed rule (frozen §4).
# --------------------------------------------------------------------------- #
def test_derive_seed_matches_independent_recomputation():
cell_id = "RQ1/topo=1house/selector=static/bridge=on"
got = derive_seed(cell_id, 7)
want = int.from_bytes(
hashlib.sha256(f"{S0}|{cell_id}|7".encode()).digest()[:8], "big"
)
assert got == want
assert 0 <= got <= (1 << 64) - 1
def test_derive_seed_is_deterministic_and_per_run_distinct():
cid = "RQ2/bridge=off/selector=static/topo=bridge-federated"
assert derive_seed(cid, 3) == derive_seed(cid, 3)
seeds = {derive_seed(cid, i) for i in range(R_RUNS)}
assert len(seeds) == R_RUNS # no collisions across a cell's runs
# --------------------------------------------------------------------------- #
# Cell enumeration.
# --------------------------------------------------------------------------- #
def test_enumerate_cells_is_three_rq1_and_three_rq2():
cells = enumerate_cells()
assert len(cells) == 6
assert sum(c.rq == "RQ1" for c in cells) == 3
assert sum(c.rq == "RQ2" for c in cells) == 3
# exactly one control per RQ
assert sum(c.is_control for c in cells if c.rq == "RQ1") == 1
assert sum(c.is_control for c in cells if c.rq == "RQ2") == 1
assert all(not c.na for c in cells)
def test_declared_na_cell_is_bridge_off_padding_and_not_run():
na = declared_na_cells()
assert len(na) == 1 and na[0].na
assert na[0].factors["bridge"] == "off+padding"
# N/A cells never appear in the run plan.
ids = {pr.cell_id for pr in plan_runs()}
assert na[0].cell_id not in ids
def test_plan_runs_is_six_cells_by_R():
plan = plan_runs()
assert len(plan) == 6 * R_RUNS
# --------------------------------------------------------------------------- #
# Schedule — within-cell randomization + control interleave (§2).
# --------------------------------------------------------------------------- #
def test_schedule_brackets_each_rq_control_around_its_treatments():
sched = battery_schedule(order_seed=S0)
# Every planned run appears exactly once.
assert len(sched) == 6 * R_RUNS
for rq in ("RQ1", "RQ2"):
idxs = [i for i, pr in enumerate(sched) if pr.rq == rq]
controls = [i for i in idxs if sched[i].is_control]
treatments = [i for i in idxs if not sched[i].is_control]
# control runs exist before the first and after the last treatment.
assert min(controls) < min(treatments)
assert max(controls) > max(treatments)
def test_schedule_is_deterministic_from_order_seed():
a = [(pr.cell_id, pr.run_index) for pr in battery_schedule(order_seed=123)]
b = [(pr.cell_id, pr.run_index) for pr in battery_schedule(order_seed=123)]
assert a == b
c = [(pr.cell_id, pr.run_index) for pr in battery_schedule(order_seed=999)]
assert a != c # a different ordering seed reshuffles
def test_write_cell_plan_artifact(tmp_path):
path = write_cell_plan(tmp_path)
doc = json.loads(path.read_text())
assert doc["base_seed_S0"] == S0
assert doc["R_runs_per_cell"] == R_RUNS
assert doc["C_circuits_per_run"] == C_CIRCUITS
assert doc["n_run_cells"] == 6
assert doc["total_runs"] == 6 * R_RUNS
assert doc["total_circuits"] == 6 * R_RUNS * C_CIRCUITS
assert len(doc["schedule"]) == 6 * R_RUNS
assert len(doc["declared_na_cells"]) == 1
# --------------------------------------------------------------------------- #
# DRY provenance pass (fixtures only).
# --------------------------------------------------------------------------- #
def test_dry_pass_emits_valid_checksummed_provenance(tmp_path):
summary = dry_pass(tmp_path, runs=2)
assert summary["all_sha_match"] is True
assert summary["all_seed_reproduces"] is True
assert summary["distinct_seeds"] is True
# Each run wrote a manifest + events log whose sha is sealed.
for rep in summary["reports"]:
run_dir = tmp_path / rep["run_id"]
manifest = json.loads((run_dir / "manifest.json").read_text())
assert manifest["events"]["sha256"] == rep["events_sha256"]
assert manifest["sor_seed"] == rep["seed"]
assert (run_dir / "events.jsonl").exists()