[v0.4.0] Structured research log: every iteration machine-readable #46
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Prerequisite for the researcher-grade PDF report Robert requested on #39 (pre-release deliverable). Every hypothesis, brain edit, bench run, and keep/revert decision must land in a machine-readable log (iterations.json or similar) in the repo, committed alongside bench-results.md. Bench runs must emit per-preset per-brain rows (wins, win%, avg equity, maxAbs) plus per-specialist gauntlet rows, tagged with git SHA, timestamp, and the hypothesis text. The PDF pipeline (#47) consumes this log; nothing in the report may be hand-typed from memory. Acceptance: a fresh clone can rebuild the full iteration history table from the log alone.
Starting work on this issue. Plan:
e939cb1).Will comment again at each milestone.
Milestone: implementation done, green in bankdev.
Next: real-binary smoke run (1 game) to verify iterations.json is written + appends, then commit/push/PR.
Verification done end to end (no full bench, tiny real-binary runs):
Smoke artifacts reset (iterations.json seeded as [], bench-results.md restored). Committing + pushing branch 46-iter-log next, then PR.
Done — PR #48: #48 (branch 46-iter-log -> master, review requested from robertismo).
Shipped:
Schema (array of records): {"hypothesis", "git_sha", "timestamp", "presets": {preset: {wins, plays, avg_eq, max_abs per brain}}, "gauntlet": {spec: {wins, plays, presets_won}}, "bench_vs": {brain: {current_wins, current_plays, old_wins, old_plays}}}.
Verified without a full bench: tiny real-binary runs (1 game) for inline/flag/untagged/bench-vs forms, 4 consecutive runs -> 4 preserved records; go build / go vet ./... / go test -count=1 . green (10 tests, 5 new). Ready for review.
Merged: PR #48 (structured iteration log) is on master. Every --bench and --bench-vs run now appends a machine-readable record (hypothesis, git SHA, timestamp, per-preset rows, per-specialist gauntlet rows, bench-vs rows) to iterations.json, preserving old records and erroring on corrupt files instead of clobbering. Closing; the #47 PDF pipeline consumes this log.