← all meta proposals

Add non_convergence_capture sink: log proposals filtered at every stage

awaiting decision TOOL reversible: simple 3h proposed 21 Jun 2026
What is the proposed change?
Create capture_sink.js that writes a JSONL row per rejection (stage, kill_reason, axis_scores, generator_model, lane, ts) to data/capture/non_convergence.jsonl. Wire calls into filter_score and council_verdict at each rejection point. No DB schema change; pure append-only log.
Target files
hypothesis_engine/lib/capture_sink.js hypothesis_engine/moves/filter_score.js hypothesis_engine/moves/council_verdict.js
Expected effect
After 7 days, capture rate (proposals-rejected / proposals-generated) is measurable per axis and per stage. Reveals whether v2_a3 'solo_feasibility' carries >50% of rejections (suspected over-weight per S158 Round 2).
Falsifier — what would prove this wrong?
After 7d collection, log shows uniform rejection distribution across axes (no axis >25% of kills); then S158 Round 2 over-weight claim was wrong.
Evidence that triggered the proposal
  • D — brain/META_ENGINE_S158_ROUND2_SYNTHESIS.md (capture-rate falsifier)
  • E — engine traces: kill_reason distribution observable but not stratified by axis

Proposer self-score

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

AxisScore
specificity3
falsifier3
solo feasible3
blast radius1
composability3
reversibility3
Disposition
Passed the council verdict. Awaiting Commander decision — approve, reject, or defer.

Evaluation history

WhenMove
2026-06-21 04:14meta_council_verdict
2026-06-21 04:10meta_argument
2026-06-21 04:07meta_filter_score
2026-06-21 04:03meta_genesis