Summary
Close the detached artifact-scoring blocker on the local HOMEGOLF lane so artifact-only training runs actually terminate with retained score receipts.
Tracking issue: #633
Why
Current retained local runs show the training side is no longer the only blocker:
20260328f, 20260328k, and 20260328l all wrote training_report.json
- prompt closeout also completed on those runs
artifact_score_report.json still did not land
- each run still had a live
artifact_score_closeout.pid during the latest audit sample
So the current local loop can train and export, but it still cannot close the score path honestly.
Scope
- debug the detached scorer runtime and watcher contract on the local HOMEGOLF lane
- determine whether the blocker is score runtime throughput, process lifecycle, stale polling, file-contract drift, or another Rust-side bug
- make successful score closeout emit deterministic
artifact_score_report.json and artifact_score_summary.json
- make failed score closeout terminate with a typed retained failure instead of an indefinitely alive watcher pid
- keep the top-level run summary machine-legible about score-closeout state
Acceptance Criteria
- one fresh artifact-only HOMEGOLF run produces all of:
training_report.json
prompt_report.json
artifact_score_report.json
artifact_score_summary.json
- the detached scorer exits cleanly instead of staying alive indefinitely
- failure paths are retained as typed score-closeout refusals, not silent stalls
- docs and operator scripts are updated to reflect the real score-closeout contract
References
docs/2026-03-28-homegolf-xtrain-pgolf-detached-artifact-score-closeout-audit.md
docs/2026-03-28-parameter-golf-winner-gap-and-psionic-path-audit.md
Summary
Close the detached artifact-scoring blocker on the local HOMEGOLF lane so artifact-only training runs actually terminate with retained score receipts.
Tracking issue: #633
Why
Current retained local runs show the training side is no longer the only blocker:
20260328f,20260328k, and20260328lall wrotetraining_report.jsonartifact_score_report.jsonstill did not landartifact_score_closeout.pidduring the latest audit sampleSo the current local loop can train and export, but it still cannot close the score path honestly.
Scope
artifact_score_report.jsonandartifact_score_summary.jsonAcceptance Criteria
training_report.jsonprompt_report.jsonartifact_score_report.jsonartifact_score_summary.jsonReferences
docs/2026-03-28-homegolf-xtrain-pgolf-detached-artifact-score-closeout-audit.mddocs/2026-03-28-parameter-golf-winner-gap-and-psionic-path-audit.md