# Fill {VALUE} placeholders in reports/v13_mechanism_memo.md# Data comes from: reports/analysis/condition_summary.csv + hypothesis_verdicts.json
Infrastructure
Analysis harness: jobs/analyze_collapse.py (v2.1 - handles per_seed and seeds keys)
v13 memo template: reports/v13_mechanism_memo.md
All scripts: narcolepticchicken/occ-stack on Hub
Pre-registered hypotheses
Evaluated automatically by analysis harness using rules in HYPOTHESIS_RULES dict:
Hypothesis
Mechanism
H1: Volume amplification
equal_token_unequal_turn vs baseline_1round_traced
H2: Turn-order effect
randomized_order_3round vs equal_3round_traced
H3: Voting vulnerability
judge_vote + confidence_weighted vs equal_3round_traced
H4: Contamination
Honest retention rate round 3
H5: Confidence distortion
confidence_weighted vs equal_3round_traced
H6: Skill dependency
weak vs normal vs strong vs oracle adversary
H7: Topic vulnerability
Per-topic variance in collapse
Expected results (from 2-seed pilot)
1-round baseline: 88.3% accuracy
3-round equal: 56.7% accuracy (32pp collapse)
Random 25% drop: 85.0% with 26.5% token savings
OCC credit: prevents catastrophe but doesn't beat random gating at moderate budgets
Key fix: judge_vote_3round
v2 returned 0/30 because extract_position() checked first-line prefixes.
v3 uses extract_judge_answer() with regex \b(yes|no)\b + last-occurrence tiebreaker.
The judge prompt now asks "Based on the debate, the correct answer is: " and generates 32 tokens at temperature 0.1.