#!/usr/bin/env python3
"""Exhaustive toy-model enumeration. No visitor data or random sampling."""
import csv,itertools,json
from collections import Counter
from pathlib import Path
root=Path(__file__).resolve().parents[1] if Path(__file__).parent.name=='ops' else Path.cwd()
out=root/'static/research';out.mkdir(parents=True,exist_ok=True)
rows=[]
for pattern in itertools.product(range(4),repeat=5):
 counts=[pattern.count(i) for i in range(4)]
 rows.append([''.join(str(i+1) for i in pattern),*counts,counts.count(max(counts))])
with (out/'five-question-style-patterns.csv').open('w') as f:
 w=csv.writer(f);w.writerow(['answer_pattern','style_1','style_2','style_3','style_4','leaders']);w.writerows(rows)
summary={'patterns':len(rows),'tied_patterns':sum(r[-1]>1 for r in rows),'unique_leader_patterns':sum(r[-1]==1 for r in rows),'method':'Exhaustive enumeration; not visitor data','generated':'2026-10-24'}
assert summary['tied_patterns']==360 and summary['patterns']==1024
(out/'summary.json').write_text(json.dumps(summary,indent=2)+'\n')
(out/'enumerate_styles.py').write_text(Path(__file__).read_text())
print(json.dumps(summary))
