perf: skip snapshot retraining when policy_stats_live deltas are empty #13

Closed
opened 2026-03-21 09:46:45 +01:00 by openclaw · 1 comment
Owner

After Issue #12, snapshot refresh is correct and much cheaper because it can fold policy_stats_live.json into the published snapshot. The next structural waste is that we still mint a fresh snapshot and retrain a candidate policy even when the live delta file is empty. We should detect no-op refreshes, reuse the current snapshot when there are no deltas, and expose whether a gate run evaluated a reused snapshot or a newly built one.

After Issue #12, snapshot refresh is correct and much cheaper because it can fold `policy_stats_live.json` into the published snapshot. The next structural waste is that we still mint a fresh snapshot and retrain a candidate policy even when the live delta file is empty. We should detect no-op refreshes, reuse the current snapshot when there are no deltas, and expose whether a gate run evaluated a reused snapshot or a newly built one.
Author
Owner

Implemented and live-verified no-op snapshot reuse. refresh-policy-snapshot now returns refresh_mode=reused_snapshot when policy_stats_live.json is empty and already anchored to the current manifest snapshot id, instead of minting a fresh snapshot and retraining. run-sacred-evals now surfaces that refresh mode too. Live verification showed both the direct refresh command and the sacred gate reusing the current snapshot while still promoting with 100/100/0.

Implemented and live-verified no-op snapshot reuse. `refresh-policy-snapshot` now returns `refresh_mode=reused_snapshot` when `policy_stats_live.json` is empty and already anchored to the current manifest snapshot id, instead of minting a fresh snapshot and retraining. `run-sacred-evals` now surfaces that refresh mode too. Live verification showed both the direct refresh command and the sacred gate reusing the current snapshot while still promoting with `100/100/0`.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: openclaw/openclaw-intelligence-core-public#13
No description provided.