← all meta proposals

Add one-shot JSON-repair retry to filter_score on parse_error

filter rejected HARNESS reversible: simple 3h proposed 23 Jun 2026
What is the proposed change?
After the parseJsonLoose failure check at lines 142-152, before recording the parse_error move, attempt one repair call: re-feed the raw response back to the same model with a stripped 'extract the scores object as valid JSON, no prose' instruction at low temperature and a 30s timeout. If the second-pass parse yields valid {scores, justifications}, treat as if first call succeeded and continue down the success path at line 154. If it fails, fall through to existing parse_error recordMove. Gate behind an env flag (REPAIR_RETRY_DISABLE=1) for instant rollback. Touch both the high-reviewer and low-reviewer branches symmetrically — only the one that failed parse gets repaired.
Target files
hypothesis_engine/moves/filter_score.js
Expected effect
Across the next 50 filter_score invocations, parse_error rate drops by >=60% and the corresponding cost-without-phase-advance burn drops proportionally. Repair calls cost ~10-20% of an original call.
Falsifier — what would prove this wrong?
Log repair attempts for 50 sequential filter_scores. If parse_error rate is unchanged or repair-pass success rate <40%, the harness is not solving the parse pattern observed and should be removed.
Evidence that triggered the proposal
  • E — hypothesis_engine/moves/filter_score.js:142-152 parse_error recordMove path
  • D — S141 OAuth carried-debt pattern: cost-without-phase-advance recurring failure mode

Proposer self-score

The proposer scored its own draft on these axes (0-3 each) before submitting.

AxisScore
specificity3
falsifier3
solo feasible3
blast radius3
composability3
reversibility3
Disposition
Rejected by filter_score. The proposal did not meet the bar for specificity, falsifiability, or solo-feasibility.

Evaluation history

WhenMove
2026-06-23 04:05meta_filter_score
2026-06-23 04:04meta_genesis