Files
Jyotisha/scripts/research/generate_varga_segment_goldens.py
T
66f087b588 feat(rectification): submit varga-resolution implementation for review
Review-only snapshot for BUG-1115 through BUG-1117; not merge-ready. New opening and append-turn PostgreSQL permission failures remain blocked. Persisted joint replay has zero completed questions; segment ordering remains off by default. The existing offline replay JSON is retained stale and unchanged after a denied overwrite, including its CRLF line endings. Browser/provider validation and final serial gates remain pending. No deployment, role permission changes, or staging/main push.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-01 08:04:04 +08:00

57 lines
3.1 KiB
Python

"""Generate public v5 engine goldens; expected values come from accepted research."""
from __future__ import annotations
import json
import hashlib
import platform
from pathlib import Path
from scripts.research import varga_resolution_lib as vr
ROOT = Path(__file__).resolve().parents[2]
def main():
cache = ROOT / "artifacts/varga-impl-validation-20260930/replay-cache"
accepted_path = ROOT / "docs/research/varga_resolution_research_2026_09_30.json"
accepted = json.loads(accepted_path.read_text(encoding="utf-8"))
records = []
for case in vr.load_cases()[:12]:
for radius in (10, 30):
replay = vr.CaseReplay(case, radius, cache_dir=cache)
state = vr.replay_scores(replay.public, replay.probes, replay.true_time)
for chart in ("D1", "D9", "D10"):
segments = replay.segments((chart,))
ordered = vr.select_probes_by_segment(replay.public, replay.probes, segments, replay.true_time)
summary = vr.segment_shares(vr.minute_weights(state, "raw"), segments, replay.true_time)
accepted_cell = next(row for row in accepted["m1"]["by_radius"][str(radius)][chart]["raw"]["per_case"]
if row["case_id"] == replay.case_id)
actual_cell = {key: summary[key] for key in ("top_share", "top_is_truth", "truth_retained", "alive_segments")}
actual_cell["segments_in_window"] = len(segments)
if any(value != accepted_cell[key] for key, value in actual_cell.items()):
raise ValueError(f"accepted_raw_parity_mismatch:{replay.case_id}:{radius}:{chart}; use the calibrated Python runtime")
records.append({
"case_id": replay.case_id, "radius": radius, "chart": chart,
"rows": replay.public,
"posterior_rows": state["public"], "eliminated": sorted(state["eliminated"]),
"probes": replay.probes, "segments": segments,
"offsets": {minute: vr.offset_of(minute, replay.true_time) for minute in replay.times},
"truth_offset": 0, "truth_time": replay.true_time,
"expected_summary": summary, "accepted_cell": actual_cell,
"expected_order": [probe["semantic_key"] for probe in ordered["asked"]],
"answers": {probe["semantic_key"]: vr.optimal_answer(probe, replay.true_time) for probe in replay.probes},
})
path = ROOT / "frontend/tests/fixtures/varga-segment-v5-golden.json"
path.write_text(vr.stable_json({
"source": "v5 public AA engine responses; raw cells strictly verified against accepted research",
"python_version": platform.python_version(),
"accepted_sha256": hashlib.sha256(accepted_path.read_bytes()).hexdigest(),
"order_source": "sequential accepted research function; m2 JSON does not store semantic-key lists",
"records": records,
}), encoding="utf-8")
print(f"generated {len(records)} chart goldens across 12 public cases")
if __name__ == "__main__":
main()