← all meta proposals

Add reeval_in_days to GATHER_MORE_SIGNAL verdicts and deferred-reeval sweep in scheduler.js

filter rejected HARNESS reversible: medium 8h proposed 19 May 2026
What is the proposed change?
Two changes: (1) council_verdict.js prompt: when producing verdict_action='GATHER_MORE_SIGNAL', require the model to emit a structured reeval_in_days field (integer: 7, 14, 30, or null for 'human review required; no temporal condition') in the JSON output alongside the existing verdict_summary. Store this in the moves table output_json column — no hypotheses table migration needed. (2) scheduler.js: add a new selection priority above genesis (between evidence_hunt and argument) that queries the moves table in Node.js application code (not SQL JSON functions, for SQLite compatibility): fetch all council_verdict move rows where output_json.verdict_action='GATHER_MORE_SIGNAL' AND output_json.reeval_in_days IS NOT NULL, filter where (move.created_at + reeval_in_days days) <= NOW() AND the hypothesis has no council_verdict move newer than this row. For each matched hypothesis: dispatch a targeted argument re-pass (not genesis — reuse existing dossier) with a 'Time elapsed since original verdict: N days. Re-evaluate with updated signals.' prefix, followed by a council_verdict run. Write new moves rows. No new hypothesis rows created.
Target files
hypothesis_engine/moves/council_verdict.js hypothesis_engine/scheduler.js
Expected effect
5 of 9 recent council verdicts (55%) contain explicit temporal deferral conditions ('run Week 1 outbound before building', '7-day artifact-upload test', '7-day signal check'). These hypotheses currently sit in GATHER_MORE_SIGNAL indefinitely with no automatic re-evaluation. After this harness: temporal deferrals produce terminal verdicts (graduate or kill) within their specified window rather than accumulating as unresolved backlog. Reduces the proportion of the board in permanent limbo.
Falsifier — what would prove this wrong?
Within 14 days of deploy: query moves table for council_verdict rows where output_json.verdict_action='GATHER_MORE_SIGNAL' AND output_json.reeval_in_days IS NOT NULL AND (created_at + reeval_in_days days) <= NOW(). If ≥1 such row exists but the hypothesis has no follow-up council_verdict move, the scheduler sweep is not firing. Invalidating observation: after 30 days, zero GATHER_MORE_SIGNAL verdicts include reeval_in_days (council prompt is not emitting the field despite instruction), indicating the prompt change was ignored rather than the sweep being broken.
Evidence that triggered the proposal
  • Corpus E: Council verdicts last 7d — 5 of 9 contain explicit deferred temporal conditions: 26fc18 'run Week 1 outbound before building', 5d7cca 'weekend transferability test', 47730e '7-day artifact-upload test', cc72cd '7-day signal check before commit', 7199a9 non-convergent with implied retest
  • Corpus D: brain/QUALITY_GATE_PATTERNS.md — 'Every subsystem that could fail silently gets a kill condition [...] preconditions prevent premature firing'; GATHER_MORE_SIGNAL without a re-evaluation deadline is a silent stall: hypothesis never resolves, never dies, drains board slots
  • Corpus D: brain/META_HARNESS_DESIGN.md — 'Lane 4 meta-sweeps operate at hypothesis layer; the meta-harness operates at doctrine/structural layer' — deferred verdict re-evaluation is the missing hypothesis-layer loop closure, distinct from Lane 4 sweeps

Proposer self-score

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

AxisScore
specificity2
falsifier2
solo feasible2
blast radius2
composability2
reversibility2
Disposition
Rejected by filter_score. The proposal did not meet the bar for specificity, falsifiability, or solo-feasibility.

Evaluation history

WhenMove
2026-05-19 13:24red_team_kill
2026-05-19 11:42steelman
2026-05-19 10:10meta_filter_score
2026-05-19 10:04meta_genesis