← all meta proposals

Add closed-thesis pre-filter gate with reason logging

filter rejected GATE reversible: simple 5h proposed 3 Jun 2026
What is the proposed change?
Extract the closed-thesis prune logic from decage (e2cde0f) into a standalone gate module invoked before filter_score. Gate loads a frozen list of closed thesis IDs (SENTINEL, prior killed forecasters) from brain/closed_theses.json, embeds each candidate, and compares cosine similarity to closed-thesis embeddings. If max similarity > 0.82, mark candidate as gate_rejected with reason='closed_thesis:<id>' and skip filter_score + argument moves. Wire into pipeline.js between genesis and filter_score. Add gate result to engine.db gate_log table (already exists for resolution_gate).
Target files
hypothesis_engine/gates/closed_thesis_gate.js hypothesis_engine/pipeline.js
Expected effect
Candidates retreading closed theses are rejected ~30s earlier in the pipeline, avoiding ~3 LLM calls each (filter_score + argument + verdict). Estimated 8-15% of current filter_rejected rows will be reclassified as closed_thesis_gate rejections. Daily LLM spend on rejected candidates drops measurably.
Falsifier — what would prove this wrong?
Run gate over the last 200 rejected hypotheses. If the gate's reject set agrees with decage's existing in-genesis prune decisions on <85% of cases (i.e. wide disagreement), the similarity threshold or closed-thesis list is miscalibrated and the gate is not a faithful extraction.
Evidence that triggered the proposal
  • D — git commit e2cde0f decage genesis generator
  • D — brain/S183_ENGINE_PIVOT.md (forecaster wedge replaces SENTINEL)
  • E — engine.db filter_rejected rows with kill_reason containing 'sentinel'/'closed'

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 filter_score. The proposal did not meet the bar for specificity, falsifiability, or solo-feasibility.

Evaluation history

WhenMove
2026-06-12 04:09meta_filter_score
2026-06-03 04:03meta_genesis