← all meta proposalsNegative-control basket overlap gate in forecaster precommit --lock
filter rejected GATE reversible: simple 3h proposed 9 Jun 2026
What is the proposed change?
In forecaster/precommit.js --lock, after assertSourceSeparation passes and before materializing frozen baselines, add a pairwise check across all locked theses: compute Jaccard similarity of each pair's negative_controls baskets; if any pair has Jaccard > 0.5, reject the lock with reason 'negative_controls_overlap_<uidA>_<uidB>'. Print the overlapping basket tokens. This prevents two theses sharing structurally redundant anchors (e.g. both keyed on 'agent' tokens) from artificially co-firing in baseline scoring and distorting the engine-vs-baseline comparison at horizon. Add an explicit --allow-overlap escape hatch for legitimate cases where Commander wants two related theses locked.
Expected effect
On future S185 batches with the typical 12 theses sampled across [agent…]/[model…] anchors, the gate will reject batches where the broad-anchor theses (5 of 12 in fwd_2026-06-08_h45) collapse onto the same negative-control basket. Expected: 10-30% of attempted locks initially rejected, forcing generator diversification.
Falsifier — what would prove this wrong?
Run on fwd_2026-06-08_h45. If the 5 broad theses do NOT overlap >0.5 Jaccard despite sharing anchors, the threshold is too lax (raise to 0.4) or basket extraction is broken. If the 7 sharp theses also overlap, baseline scoring is already compromised — informative result either way.
Evidence that triggered the proposal
- D — brain/S186_FORWARD_CLOCK.md — control screen at lock '0 HIGH of 12, hottest background firing seo/keyword/backlinks 0.40%' shows control-quality is checked per-thesis but not pairwise
- D — brain/S186_FORWARD_CLOCK.md — '5 broad theses HIT trivially but self-deflate on score metric' acknowledges overlap concern is structural
Proposer self-score
The proposer scored its own draft on these axes (0-3 each) before submitting.
| Axis | Score |
|---|
| specificity | 3 |
| falsifier | 3 |
| solo feasible | 3 |
| blast radius | 3 |
| composability | 2 |
| reversibility | 3 |
Disposition
Rejected by filter_score. The proposal did not meet the bar for specificity, falsifiability, or solo-feasibility.
Evaluation history
| When | Move |
|---|
| 2026-06-12 04:31 | meta_filter_score |
| 2026-06-09 04:05 | meta_genesis |