Files
hack-house/OVERSEER-STATUS.md
T
leetcrypt 33b82b39ca SS3: frozen §6 confirmatory pass on real 180/180 — honest null/negative
One auditable, deterministic run of the four lead-paper §6 tests on the
frozen raw battery. Calibration gate PASS (linked AUC 1.0000, unlinked
0.5036 on §5 fixtures) → AUCs reportable.

- RQ1-P1 (bridge leak): AUC 0.4660 CI[0.4523,0.4798] = anomaly-below-chance.
  NO measurable leak; Holm-sig but in the WRONG direction (not evidence of
  linkability).
- RQ2-P1 (federation): ΔH −0.9587 bits CI[−1.056,−0.864] = SHRINK. Holm-sig
  HONEST-NEGATIVE — federation reduces the anonymity set (opposite of RQ2's
  motivation); reported with equal prominence per §6 two-sided framing.
- RQ1-P2 (padding): ΔAUC +0.0113 CI[−0.0025,+0.0234] padding-ineffective
  (raw p 0.091, Holm adj-p 0.456, not rejected).
- RQ2-P3 (funnelling): Spearman ρ=0, zero-variance concentration =
  as-instrumented degeneracy flagged in advance; inconclusive.

Holm family=7 report-4 (multipliers 7,6,5,4); only RQ1-P1 + RQ2-P1 survive.
Ran ONLY the pre-registered tests — no re-slicing, no post-hoc subgroups.

Method faithfulness: RQ1-P1/P2 CIs use a bit-faithful fast numpy bootstrap
(frozen O(n²)-per-fold jackknife intractable at n=75000); stage06_run.py
--verify proves both == frozen stats.bootstrap_ci bit-for-bit (point/lo/hi/
method within 1e-12, incl the average-rank tie path). RQ2-P1/P3 stay on the
frozen confirm.* paths (tractable). Frozen prereg SHA INTACT.

Artifacts: docs/stage-06-analysis.md (methods-faithful narrative, Holm table,
CONFIRMATORY/EXPLORATORY labels, nulls reported honestly) + force-added
output/…/analysis/stage06-results.json (regenerable via stage06_run).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-21 00:55:44 -07:00

25 KiB
Raw Blame History

OVERSEER-STATUS — sor-consent build agent

RQ2 RATIFIED (operator Andre, 2026-07-20, while blind) — observation-consistent-set + uniform-mass per-circuit posterior; docs/stage-05-rq2-posterior-clarification.md flipped PROPOSED→RATIFIED. Offline loader built + synthetic-tested. BLIND HOLD REMAINS: no real RQ2 result until the battery completes.

  • 2026-07-19 R2 DONE + committed (7ed2370): provenance writer — immutable manifest.json (seed, topology/selector/churn id, per-node persona fingerprints, git SHA, isolated engine+image, pip/cargo freeze, timestamps); events SHA reserved for R3.
  • Checks green: pytest R1+R2 = 15 passed (via rtk proxy python -m pytest); full cargo suite = 63 passed. Cross-language fingerprint parity locked (persona.rs <-> provenance.py). Deps installed into worktree venv.
  • 2026-07-19 R3 DONE + committed (a9308ed): append-only events.jsonl (fixed 10-event vocab, metadata-only, no plaintext) SHA-256 sealed once into manifest; deterministic replay_fixture_circuit (no engine/traffic). Provenance spine R1->R2->R3 = protect-first minimum unit, GREEN. Checks: pytest sor suite 21 passed; cargo 63 passed.
  • 2026-07-19 R5 DONE + committed (7de0f57): signature-gated consent handshake + per-hop X25519 sealed credentials. crypto.rs seal_to_pubkey/open_sealed (ephemeral X25519 -> HKDF-SHA256 -> Fernet AEAD, no new primitive); sor/consent.rs signed ConsentRequest + node_evaluate (reject unless sig verifies) + CircuitBuilder (recruits only on an accept it can open) + never-panic parse_sor_frame; net.rs _sor branch (live-only, classified out-of-band, never a chat event); cmd_chat/sor/consent.py bit-compatible mirror + bridge _sor case (observe-only, never auto-accepts, stands up no forwarder). Acceptance check green both langs: accept-only recruit, reject leaves no entry, cred opens only with host key, unsigned/forged -> rejected. Cross-language KDF parity pinned by shared known-answer vector. Rust 75 passed; Python SOR suite 37 passed.
  • 2026-07-19 R4 (partial) DONE + committed (dfc2e60): isolated-engine-only forwarder GUARD = gate item 5. forwarder.py assert_isolated/isolation_prefix/ForwarderPlan refuse local+unknown+no-container; allow-list imported from provenance; no code path yields a host exec prefix; no traffic/engine. Python forwarder suite 12 passed. Traffic-moving half (gate item 1) NOT built — HELD.
  • 2026-07-19 R7 (partial) DONE + committed (92da24d): offline detectors = gate items 3 & 4. analysis/detectors.py shannon_entropy_bits (=log2(N) exact for N equiprobable) + bridge_correlation_auc (linked pair AUC=1.0; unlinked unbiased, 40-seed mean 0.498) + seeded synthetic fixtures; calibrated on synthetic only, no fitting. Python SOR suite 66 passed. churn/selector/metrics.json NOT built — HELD.
  • 2026-07-19 R4 (e2e half) DONE + committed (a78441b): gate item 1 GREEN. forwarder.py run_circuit_fixture stands up isolated docker 3-hop nested-SSH chain, pipes seed-deterministic self-payload (R1 PADDING stream), verifies e2e delivery (recv sha == payload sha), captures+checksums per-hop pcap -> output/sor-runs//pcap/hop.pcap, emits R3 events, always tears down; refuses local/unknown + multipass e2e (docker-only, not faked); every hop built via ForwarderPlan guard. Grid: 3 local docker containers (operator-blessed containerized hops; tril=Termux no-docker, fp6 down — not needed for valid 3-distinct-node conjunct). Adds sor-hop fixture image + docker-gated test (skips w/o daemon). Live 3-hop delivery verified, clean teardown. e2e suite 5 passed; full offline SOR suite 66 passed.
  • 2026-07-19 R6 DONE + committed (21263da): multi-house federation. federation.py directory-federation = signature-gated HOUSE-PEER PeerRoster (Ed25519-signed; forged/unsigned rejected) -> pubkey->house Directory -> select_federated_path spans >=2 houses, refuses to collapse to one (RQ2 split-knowledge: no single house's logs hold all hops); bridge-member = BlindBridge holds no room key, relays only opaque SOR tunnel bytes verbatim (chat/consent/unknown refused, plaintext never read), emits metadata-only bridge_forward events. Offline-verifiable (no socket/engine/external target). Federation suite 10 passed.
  • 2026-07-19 R7 (live halves) DONE + committed (12fd253): churn.py seeded kill/spawn schedule (pure data, no real VM ops); selector.py static|random|agent rebuild loop (paid frontier agent arm HUMAN-GATED, NOT wired — agent = local stability heuristic, zero spend); analysis/metrics.py -> schema-valid write-once metrics.json (RQ1 corr AUC, RQ2 entropy bits, RQ3 throughput retention + rebuild-classifier AUC). Acceptance green: fixed churn seed -> selector rebuilds EVERY dropped circuit (all 3 strategies) + metrics.json produced. Selector suite 11 passed; full SOR suite 92 passed (incl live 3-hop e2e).
  • GATE STATUS: 6/6 instrument-validation items GREEN. ALL R1-R7 acceptance checks now landed + committed on feat/sor-consent-relay. Instrument is build-complete. HOLDING for human: (a) the full pre-registered CONFIRMATORY BATTERY run (Phase E — needs frozen prereg [is frozen] + operator go; not auto-run) and (b) the paid frontier-model selector arm budget (GOAL envelope (c)) and (c) live VM-fabric churn against real hackhouse VMs. Containment intact; worktree-only.
  • HOLDING for human (Andre): item1 + R6 federation traffic + R7 churn/selector/confirmatory all need the execution boundary — docker daemon down + physical grid (2 phones+laptop) unreachable here. Andre's call: (a) bring up live isolated engine + grid, or (b) authorize reduced single-host multi-container fixture. No confirmatory battery (prereg frozen). All offline-validatable units are now landed.
  • 2026-07-19 R7 (agent backend) DONE + committed (0734d18): pluggable SelectorPolicy seam + local-OSS Ollama confirmatory agent arm (qwen2.5:3b, temp=0+per-run seed, decisions cached keyed by (seed,state-hash), deterministic heuristic fallback, model weights digest pinned into manifest selector_backend + write-once selector.json sidecar); Claude Code arm = EXPLORATORY-only stub (no paid call, refuses confirmatory). Containment intact (local localhost:11434 call = measurement decision, not relay traffic). R3 event vocab UNCHANGED. Suite: 22 passed incl 2 live-Ollama cells. Mirrors prereg decision D1; build detail appended to sci-method design-notes (additive, non-prereg).
  • NEXT: HOLD for human — Phase E confirmatory battery, paid frontier selector arm (GOAL envelope (c)), live VM-fabric churn. BLOCKERS: none for build (instrument complete).
  • Containment intact; prereg untouched (SHA f22331a72e...); worktree-only on feat/sor-consent-relay.
  • 2026-07-19 RQ1+RQ2 START-LINE (lead paper, RQ3 dropped) — NOT committed yet; no confirmatory data collected. GATE re-confirmed 6/6 GREEN on RQ1/RQ2 path (item1 live docker 3-hop e2e delivered+pcap-checksummed; items2-6 offline). Artifacts: output/sor-startline//{gate/gate-report.json, grid/device-map.json, plan/cell-plan.json, dry/dry-pass.json}.
  • Cells: 6 run (3 RQ1 bridge{off,on,on+padding} + 3 RQ2 topo{1house-N,bridge-federated,directory-federated}) + 1 declared-N/A (bridge=off+padding, not run); R=30×C=50 → 180 runs / 9000 circuits; seed=SHA256("20260719|cell_id|run_index")[:8] u64 (reproduced). Matched-N pinned from containerised node count at run time.
  • Grid pin (probed NOW): docker 27.5.1 UP + sor-hop:latest; laptop(x86_64 docker host)=REACHABLE+engine, fp6(phone)=REACHABLE, tril(aarch64 Termux)=DOWN — DEGRADED vs GOAL last-known (tril was up/fp6 down). RQ1/RQ2 hops = isolated docker containers on the host (operator-blessed) → topology/matched-N honourable on ≥1 engine host; no external target, no live-VM churn (RQ1/RQ2 use no churn).
  • Runner: schedule randomizes within-cell + brackets each RQ control before+after treatments (test-pinned); DRY 1-cell×2-run on FIXTURES green (sha_match + seed_reproduces + distinct_seeds; kept out of any confirmatory dir).
  • Holm: hold family_size=7 (frozen §6), report 4 → multipliers 7,6,5,4 (conservative embedding, ≥ true simultaneous value; never p-hacked to m=4); every reported decision is a CI gate, p only orders Holm. PROPOSED doc docs/stage-05-holm-clarification.md (worktree-only, prereg untouched) — HUMAN SIGN-OFF requested; cleanest alt = fold RQ3 back for a true size-7 Holm.
  • EXACT GO (human gate — do NOT auto-run): SOR_CONFIRMATORY_GO=1 python -m cmd_chat.sor.confirmatory_run --operator-go --engine docker (default no-flag run = safe preflight, emits artifacts). BLOCKERS: (1) live per-cell condition assembler NOT wired into live forwarder (RQ1 bridge-on/on+padding, RQ2 federation live arms) — launcher REFUSES to fabricate cells even tokened; (2) tril down → no 3rd physical phone (containerised hops OK, but real-device distribution degraded); (3) Holm sign-off; (4) prereg freeze verified intact (SHA match). New: cmd_chat/sor/{gate,grid,confirmatory_run}.py + tests; full SOR suite 143 passed.
  • 2026-07-19 MANUAL-DRIVE (Andre) — LIVE ASSEMBLER WIRED + HOLM RATIFIED (committed 6d61c53): assembler.py composes existing R1/R4/R5/R6 pieces into per-cell condition-encoding CircuitSpecs — each cell_id → a genuinely distinct, ForwarderPlan-gated (engine!=local) circuit whose STRUCTURE encodes its arm: RQ1 bridge-on / on+padding insert a live bridge hop (+R1 PADDING stream), RQ2 bridge-/directory-federated genuinely span ≥2 houses (select_federated_path). Plans only — no socket, no traffic, no engine.
  • Dry-check GREEN on FIXTURES (battery.assembler_dry_check, kept out of any confirmatory dir): 6/6 cells distinct fingerprints, all isolation-gated, same (cell,seed) reproduces, RQ1 bridge+padding arms live, RQ2 federation spans ≥2. confirmatory_run GO no longer refuses cells as "not wired" — triple-lock + green preflight now HOLD on grid completion (3rd phone) then surface the operator's data-run gate; it never fabricates a confirmatory cell.
  • HOLM RATIFIED (operator = my proposed treatment): hold family_size=7, report 4 (RQ1-P1,RQ1-P2,RQ2-P1,RQ2-P3) → multipliers 7,6,5,4. This IS the freeze, not a deviation — authority: prereg §6 [APPROVAL] (lines ~218-222, "Test family (7 confirmatory tests)") + D6 (line ~317, size-7 family disclosed in lead paper = "more rigorous"). docs/stage-05-holm-clarification.md updated to RATIFIED; RQ3-fold + α-split declined per operator.
  • VERIFY: full SOR suite 156 passed (13 new: assembler + confirmatory hold); prereg SHA re-verified INTACT (f22331a72e…); worktree-only on feat/sor-consent-relay; output/ gitignored so no dry/preflight artifact leaks into a data dir. NO confirmatory data collected.
  • STILL HUMAN-GATED (do NOT auto-run): same EXACT GO command above. Remaining blocker = physical grid completion (tril/3rd phone) + operator initiation of the immutable data run. Instrument + live assembler build-complete; prereg untouched. Flagging none against paper quality.
  • 2026-07-20 GRID RE-PROBE (operator said 3rd phone online) — NOT confirmed here. Live map → output/sor-startline/20260720T043944Z/grid/device-map.json: laptop=SSH+isolated docker 27.5.1 (house-A engine host, ≥3 distinct containerised hops); fp6=SSH-reachable, NO docker (house-B consent endpoint, never a bare forwarder); tril=STILL DOWN — ssh to 100.95.180.14:8022 CONNECTION TIMED OUT (not paper-papered). reachable=2/3, engine_hosts=1, degraded=True.
  • MATCHED-N + TOPOLOGY: honourable via the operator-blessed containerised fallback (single-house-N = federated total consenting nodes; RQ2 federation spans ≥2 houses by house-labelled containers on the one engine host, per gate item 1). NOT honourable as 3 distinct PHYSICAL device-hosted forwarders — only 1 isolated-engine host is up, and per §Containment phones host no bare forwarder regardless; real-device distribution is degraded (tril unreachable).
  • prereg SHA re-verified INTACT (f22331a72e…); worktree-only feat/sor-consent-relay; no confirmatory data. Triple-lock: freeze-SHA=ARMED, isolation(docker!=local)=ARMED, operator-token=NOT set (operator's gate). STOPPED — did NOT run the battery.
  • EXACT GO (operator green-light only): SOR_CONFIRMATORY_GO=1 python -m cmd_chat.sor.confirmatory_run --operator-go --engine docker. BLOCKER: tril/3rd phone SSH-unreachable (timeout @100.95.180.14:8022) — bring its Termux sshd/Tailscale up, or operator authorises the containerised-hop fallback as sufficient for the physical-distribution claim.
  • 2026-07-20 GRID NOW FULL — tril back up (ssh OK, aarch64). Re-probe output/sor-startline/20260720T051333Z/grid/device-map.json: reachable 3/3, degraded=False, devices_down=[]; laptop=isolated docker engine host, fp6+tril=house-B/C consent endpoints (no docker — forwarders stay containerised per §Containment). matched-N + ≥2-house federation honourable; launcher grid-completion HOLD now CLEARS. Triple-lock: freeze-SHA + isolation ARMED, operator-token still the human gate. prereg SHA INTACT; worktree-only; no data collected. Battery NOT run — awaiting operator GO.
  • 2026-07-20 MANUAL-DRIVE (Andre authorised the data-collection executor for this branch) — EXECUTOR BUILT + wired, NOT run. cmd_chat/sor/executor.py: measures RQ1 bridge-correlation AUC + RQ2 Shannon entropy from REAL per-hop pcaps of live isolated-docker circuits (bin_pcap_bytes via scapy); run_battery(live=False) HARD-RAISES (anti-fabrication) and it refuses (ExecutorError) any DV it did not measure — the executor-side twin of the launcher's "never fabricate cells". Wired into confirmatory_run tokened GO (real executor.run_battery(live=True) behind triple-lock + preflight_ready + grid_full).
  • VERIFY: preflight (no --operator-go) GREEN — gate all_green, grid 3/3 down=[], dry_ok, freeze_ok, assembler_ok(distinct+isolation_gated), grid_full=True, READY=True (held, zero data). Live rehearsal (non-confirmatory scratch dir, 1 cell × r1 × c2): delivered 2/2, RQ1 AUC measured, RQ2 H=log2(2)=1.0, measured_from=live-docker-pcap. Tests: test_sor_executor.py 7 + confirmatory_run + full SOR suite = 163 passed. prereg SHA INTACT (f22331a72e…); worktree-only.
  • STILL HUMAN-GATED — the immutable run is R=30×C=50 = 9000 live circuits, executes ONLY under operator token. EXACT GO: SOR_CONFIRMATORY_GO=1 python -m cmd_chat.sor.confirmatory_run --operator-go --engine docker. Triple-lock: freeze-SHA + isolation(docker!=local) ARMED, operator-token = operator's gate. No confirmatory data collected. BLOCKER: none — awaiting operator's explicit "GO: build+run confirmatory".
  • 2026-07-20 OPERATOR GREEN-LIGHT + delegated overnight drive → paper. SS1 DONE (commit ce68d41): executor + tests + wired confirmatory_run committed. Verified full SOR suite 163 passed, prereg SHA INTACT (f22331a72e…), worktree-only, no confirmatory data in tree, output/ gitignored. NEXT: SS2 fire the confirmatory battery under token.
  • 2026-07-20 SS2 FIRING — confirmatory battery LIVE under operator token (SOR_CONFIRMATORY_GO=1), engine=docker, out=output/sor-confirmatory/20260720T060132Z/confirmatory-data. Passed triple-lock + green preflight + full grid; real nested-SSH isolated-docker circuits standing up (hop0/1/2+client), real per-hop pcaps landing. Frozen §4 R=30×C=50=9000 circuits HONORED (NOT trimmed). Rate ~12-13s/circuit ⇒ ETA ~30h — long, as operator anticipated ("long = expected"); running to completion, no cells dropped. NOTE for overseer: >single-night ETA is inherent to the frozen sample size, not a hang.
  • Meanwhile driving data-INDEPENDENT work (no fabrication): SS3 loader glue (data dir → confirm.py §6 tests) + SS4 paper skeleton (methods from frozen prereg, intro/related-work from stage-01). Results stay empty until real data lands.
  • 2026-07-20 SS3 (RQ1 half) DONE + committed: cmd_chat/sor/analysis/confirm_load.py reconstructs the RQ1 (entry,exit) circuit-pair set from the REAL per-hop pcaps (bin_pcap_bytes → score_matrix; diagonal=linked, off-diag=unlinked) so confirm.rq1_p1_leak scores measured data — the fully frozen-specified §4 unit. classify_run reads persisted metrics.json; collect_rq1_p1_pairs selects only bridge=on no-pad runs. Plumbing unit-tested on SYNTHETIC pcaps (test_sor_confirm_load.py, 3 passed) — no confirmatory data touched (prereg §2 blinding: no inspecting intermediate results before the battery completes). RQ1-P2 nopad/pad pairing + all RQ2 HELD for the ruling (top-of-file NEEDS-OPERATOR).
  • BATTERY PROGRESS: healthy + running; 1 full (cell,run)=50 circuits ≈ 14 min ⇒ full 180-run / 9000-circuit battery ETA ≈ 42h (frozen §4 R=30×C=50, NOT trimmed). This exceeds a single night — inherent to the frozen sample size; overseer/operator call whether to let it run to completion (~1.8 days) or intervene. No cells dropped; teardown clean each circuit.
  • DRIVE STATE: SS1 , SS2 firing , SS3-RQ1 . GATED: SS3-RQ2 + RQ1-P2 pairing on the RQ2 ruling; SS4 paper + SS5 review on (a) battery completion (blinding) AND (b) the RQ2 ruling. Cannot proceed further without fabricating/guessing (forbidden) or breaking blinding (forbidden). Awaiting operator RQ2 ruling; loop to nudge.
  • 2026-07-20 OVERSEER RULED DIRECTION=A (fill the gap, reject B/C). DRAFTED docs/stage-05-rq2-posterior-clarification.md — PROPOSED (operator-ratification PENDING), blind pre-spec (battery still running, ZERO RQ2 numbers computed). Rule: adversary observes exit-bridge/house → uniform posterior over the observation-consistent anonymity set A_i → per-circuit H_i=MM(log2 m_i) [Serjantov2002 S=2^H, Diaz2002 d=H/log2 N]; makes RQ2-P1 (ΔH, two-sided) + RQ2-P3 (Spearman) computable OFFLINE from per_circuit_seeds + deterministic assemble(). Grounded in cited lit only; sign not presumed; frozen prereg untouched.
  • HARD HOLD honored: no RQ2 confirmatory statistic computed/inspected/reported until Andre ratifies. RQ1 loader ready; SS4 skeleton next (data-independent). Battery: 442→ /9000 circuits, RUNNING, healthy.
  • BATTERY MONITORING CAVEAT (for the loop): the SS2 launch wrapper reported a benign exit-1 (a trailing echo > .current-ts error) — the battery itself is VERIFIED HEALTHY and progressing (spot-checked 66→69 circuits/25s, docker hops cycling, python PID 2539198 alive under wrapper 2539195). Because that background task is now closed, COMPLETION WILL NOT AUTO-NOTIFY. Detect completion by: output/sor-confirmatory/20260720T060132Z/confirmatory-data/battery-results.json present AND hop0.pcap count == 9000 (currently ~69). Do NOT re-launch (would duplicate/waste progress). Resume SS3 analysis (post-blinding) only after completion + the RQ2 ruling.
  • 2026-07-20 SS4 (data-independent draft) DONE + committed: docs/stage-07-paper-draft.md — lead paper (G4+RQ1+RQ2). Written BLIND (battery still running, zero confirmatory numbers seen): Abstract skeleton, Intro (G4 consent-gate novelty + RQ1 bridge-leak / RQ2 funnelling motivation), Related Work (onion/SOR [Egners2012], correlation [NasrBH18/OhYMH22], anonymity metrics [Serjantov2002/Diaz2002], social-trust G4 neighbours), full Methods from frozen prereg §2-§6 (design matrix, DVs, R=30×C=50, frozen detectors + §5 gate, Holm family=7 report-4), Limitations from §7, References. Results §5 + Discussion §6 = HELD-BLIND placeholders; RQ2 subsections additionally RATIFICATION-GATED (posterior proposal pending). No prereg edit; no RQ2 number.
  • DRIVE STATE: SS1 SS2 firing SS3-RQ1 RQ2-proposal SS4-skeleton . Battery: 492/9000, RUNNING healthy (PID 2539198). REMAINING GATES: SS3-RQ2 + RQ1-P2 pairing on Andre's RQ2 ratification; SS4 Results/Discussion + SS5 review on (a) battery completion (blinding) AND (b) RQ2 ratification. All data-independent overnight work now exhausted without fabricating or breaking blinding.
  • 2026-07-20 RQ2 RATIFIED + offline loader DONE + committed: docs/stage-05-rq2-posterior-clarification.md flipped PROPOSED→RATIFIED (operator Andre, while BLIND — 0 RQ2 stats computed). Built cmd_chat/sor/analysis/confirm_load_rq2.py: reconstructs each circuit's spec OFFLINE from per_circuit_seeds via deterministic assemble(), derives the observation-consistent anonymity set A_i (uniform/max-entropy → [1]*m_i), per-circuit H_i=MillerMadow, and the willing-bridge concentration series — feeding confirm.rq2_p1_delta_h (ΔH two-sided) + rq2_p3_funnel (Spearman). Unit-tested on SYNTHETIC specs/seeds ONLY (test_sor_confirm_load_rq2.py, 6 passed; full SOR suite 172 passed). NEEDS-OPERATOR banner removed (resolved).
  • HARD BLIND HOLD STILL ON: collect_rq2_p1_arms/collect_rq2_p3 are BLIND-GATED — NOT run on real data; no RQ2-P1/P2/P3 result computed/inspected/reported until battery completes. Battery: 3816/9000 (~42%), alive, healthy. INSTRUMENT CAVEAT for SS5: bridge-federated assigns a fresh bridge per circuit seed ⇒ willing-bridge reuse is minimal ⇒ P3 concentration may be near-degenerate as-instrumented (an honest, reportable property — loader does not fix it).
  • 2026-07-20 RQ1-P2 PAIRING RESOLVED = by run_index (overseer ruling, freeze-DERIVED — the Holm case, not the RQ2 gap-fill). docs/stage-05-rq1p2-pairing-clarification.md drafted: cites frozen §6 L197-198 (paired mandated), §4 L108 (RQ1 unit=AUC over the pair set ⇒ pairable unit is the RUN not the circuit), §4 L111 (R=30 balanced), §3 L97 (interleaving indexes shared session position); status RATIFIED-by-derivation / PROPOSED for Andre (low-risk, non-blocking); prereg UNTOUCHED.
  • Loader wired: confirm_load.collect_rq1_p2_paired maps each run_index present in BOTH bridge=on (no-pad) & bridge=on+padding arms → one confirm.PairedCircuit (its two arms' pair sets), fed to the FROZEN confirm.rq1_p2_padding (§6 arm-level ΔAUC preserved; decision layer untouched); per_run_delta_aucs exposes the auditable per-run ΔAUC_i diagnostic; missing-arm run indices are simply unpaired (frozen R NOT redefined; inconclusive if too few remain).
  • Unit-tested SYNTHETIC pcaps ONLY (test_sor_confirm_load_rq1p2.py, 4 passed: pair-by-run-index, positive ΔAUC_i when padding flattens, feeds frozen rq1_p2_padding CI>0, graceful missing-arm); full SOR suite 176 passed. No confirmatory record read (prereg §2 blinding: unblocks CODE not RESULTS).
  • HARD BLIND HOLD REMAINS: no real RQ1-P2 number until battery completes (battery ~78/180 runs ≈ 43%, alive PID 2539198). prereg SHA INTACT (f22331a72e…); worktree-only feat/sor-consent-relay.
  • 2026-07-20 SS2 BATTERY COMPLETE 180/180 cells + RAW DATA FROZEN (committed). Integrity PASS: 180 cell dirs, each metrics.json+manifest.json+non-empty circuits/, 0 missing per-hop pcaps (27000 pcaps + 9000 events.jsonl); seed provenance verified 180/180 (seed==SHA256(S0=20260719‖cell_id‖run_index)); no aggregate battery-results.json (expected, NOT fabricated — 180-cell count is the frozen completion proxy).
  • ARM BALANCE (R=30 held exactly): 6 design cells × 30 runs = RQ1{bridge=off,on,on+padding}=30 each + RQ2{1house-N,bridge-federated,directory-federated}=30 each (RQ1=90, RQ2=90; RQ3 not in frozen lattice). Battery window ≈ 2026-07-20T06:11:41Z→2026-07-21T05:24:09Z (~23h).
  • IMMUTABILITY ANCHOR: output/…/SHA256SUMS.txt = SHA-256 over 36361 raw artifacts (sorted rel paths), digest 3fb67c7a…; provenance.json (S0+seed formula, executor SHA ce68d41, engine=docker image_digest=null@runtime, timestamps, completion proxy) + INTEGRITY-REPORT.md. Freeze anchors force-added (/output/ gitignored → raw data stays out of git). Raw metrics.json IMMUTABLE, not recomputed.
  • BLINDING LIFTED for code-on-real-data; SS2 touched STRUCTURE/CHECKSUM/PROVENANCE ONLY — NO AUC/H/CI computed or inspected. NEXT=SS3 frozen-§6 inferential pass (RQ1-P1/P2 + RQ2-P1/P3 + Holm family=7) in one auditable run. prereg SHA INTACT; worktree-only.
  • 2026-07-20 SS3 FROZEN-§6 INFERENTIAL PASS DONE + committed (ONE auditable run on real 180/180). Calibration gate PASS (linked AUC 1.0000, unlinked 0.5036 on §5 fixtures) ⇒ AUCs reportable. HONEST-NULL/NEGATIVE result set, reported with no spin: RQ1-P1 AUC 0.4660 CI[0.4523,0.4798] = anomaly-BELOW-chance (NO leak; Holm-sig but wrong direction, not evidence of a leak); RQ2-P1 ΔH 0.9587 bits CI[1.056,0.864] = SHRINK (Holm-sig HONEST-NEGATIVE — federation shrinks the anonymity set, opposite of RQ2's hope; reported with equal prominence per §6 two-sided).
  • RQ1-P2 ΔAUC +0.0113 CI[0.0025,+0.0234] padding-ineffective (raw p 0.091, Holm adj-p 0.456 — not rejected); RQ2-P3 Spearman ρ=0 degenerate/inconclusive (zero-variance concentration = as-instrumented degeneracy flagged in advance, not a well-posed null). Holm family=7 report-4 (multipliers 7,6,5,4); only RQ1-P1 + RQ2-P1 survive @ α=.05.
  • METHOD FAITHFULNESS: RQ1-P1 + RQ1-P2 CIs via bit-faithful fast numpy bootstrap (frozen O(n²)-per-fold jackknife intractable at n=75000); stage06_run.py --verify PROVES both == frozen stats.bootstrap_ci bit-for-bit (point/lo/hi/method within 1e-12, incl tie path). RQ2-P1/P3 left on frozen confirm.* paths (tractable). Ran ONLY pre-registered tests; frozen prereg SHA INTACT. Artifacts: docs/stage-06-analysis.md + output/…/analysis/stage06-results.json (force-added; /output/ gitignored). NEXT=SS4 Results/Discussion.