← all meta proposals

Lane-assertion harness around scheduler dispatch

filter rejected HARNESS reversible: simple 4h proposed 22 Jun 2026
What is the proposed change?
Wrap each move dispatch in scheduler.js with `assertLane(row.lane, move.expectedLane)`. Each move file declares an `expectedLane` constant (e.g. filter_score.js → 'product'). Mismatch throws LaneMismatchError, logs to engine.db lane_violations table, and skips the row (does NOT mark it processed). Cost-tracker counts skipped rows separately.
Target files
hypothesis_engine/scheduler.js meta_engine/cycle.js opportunity_engine/cycle.js
Expected effect
A B5-class regression (scheduler running engine_1 moves on meta-lane rows) is caught on first violation instead of accumulating 97 wasted moves. Lane-mismatch row count visible in daily cycle summary.
Falsifier — what would prove this wrong?
Force a known mismatch (insert meta-lane row, run engine_1 scheduler tick). If LaneMismatchError doesn't fire and the move runs anyway, the wrap point is wrong. Also: if normal operations produce false-positive violations >0 per cycle, the assertion is too strict.
Evidence that triggered the proposal
  • D — B5 incident: scheduler.js ran engine_1 moves on meta-lane rows since S158, ~97 wasted moves
  • E — S161 commits 378db87/7eb773a: lane='product' filter added as point fix

Proposer self-score

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

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

Evaluation history

WhenMove
2026-06-22 04:04meta_filter_score
2026-06-22 04:03meta_genesis