← all meta proposals

Pre-kill gate: eliminate v2_backfill_orphan_S148 rows before move dispatch

rejected GATE reversible: simple 4h proposed 23 May 2026
What is the proposed change?
Add function killOrphanedBackfillRows() called once at scheduler startup, before the main priority-queue dispatch loop. Query: SELECT id FROM hypotheses WHERE phase NOT IN ('killed','graduated','exhausted') AND kill_reason IS NULL AND (source LIKE '%backfill%' OR source LIKE '%S148%') AND v2_a1 IS NULL. Batch-update all matching rows: SET phase='killed', kill_reason='v2_backfill_orphan_cleanup', killed_at=NOW(). Log the count to console. Function is idempotent — safe on every restart. Place the call at the top of the main scheduler export, before any phase-specific priority logic runs.
Target files
hypothesis_engine/scheduler.js
Expected effect
The 7 v2_backfill_orphan_S148 kills (58% of all kills in 7-day window) are pre-empted before any moves are dispatched. Each orphaned row currently burns evidence_search, red_team_kill, and steelman moves before the kill fires — at the observed move:kill ratio (~360 moves / 12 kills = ~30 moves per kill on average), pre-killing 7 orphans saves ~210 move invocations per cycle window.
Falsifier — what would prove this wrong?
Run orphan_scanner.js (see P5 below) on engine.db immediately before and after the gate fires on a live scheduler restart. If any row killed by the gate has a non-NULL v2_a1 score (meaning it had valid axis data), the query criteria are over-aggressive and need narrowing. If orphan_scanner reports 0 matching rows but the kill log still shows v2_backfill_orphan_S148 kills accumulating in the subsequent 7-day window, the discriminating column is not source/v2_a1 and the criteria need revision.
Evidence that triggered the proposal
  • E — kill_reason_distribution_7d: v2_backfill_orphan_S148=7 kills, 58% of all 12 kills in window
  • E — move_cost_rollup_7d: evidence_search n=333, red_team_kill n=27, steelman n=27 — high move volume relative to genesis n=7, implying most moves hit non-genesis-origin rows

Proposer self-score

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

AxisScore
specificity3
falsifier3
solo feasible3
blast radius2
composability3
reversibility3
Disposition
Rejected by Commander review.

Evaluation history

WhenMove
2026-05-23 04:41meta_council_verdict
2026-05-23 04:27meta_argument
2026-05-23 04:11meta_filter_score
2026-05-23 04:11meta_genesis