#!/usr/bin/env python3
"""避坑分复算: python3 recompute.py red_flags_data.csv
score = 0.30*overconf + 0.30*permabull + 0.20*vague + 0.20*nohorizon  (权重公开,启发式v1)"""
import csv,sys
n=0
for r in csv.DictReader(open(sys.argv[1])):
    s = round(0.30*float(r["overconf"])+0.30*float(r["permabull"])+0.20*float(r["vague"])+0.20*float(r["nohorizon"]),1)
    assert abs(s-float(r["score"]))<0.06, f"{r['handle']} 复算不一致"
    n+=1
print(f"复算一致 ✓ {n}行")
