← all meta proposals

Add validateProposal check: each non-new target_file must exist on disk

council rejected GATE reversible: simple 3h proposed 14 Jun 2026
What is the proposed change?
In validateProposal (line 137-172), after the existing target_files-is-non-empty-array check, add: const repoRoot = path.resolve(__dirname, '../..'); for each entry in p.target_files: if entry contains 'NEW:' prefix OR entry contains '/lib/' (heuristic for new-file TOOL/HARNESS proposals), skip; else if !fs.existsSync(path.join(repoRoot, entry)) return { ok: false, reason: 'target_file_not_found: ' + entry }. Rationale: the META_PROPOSER_SYSTEM constant itself references 'v2_a1..v2_a10 in filter_score.js' (line 27) but the live filter_score.js has 5 named filters (data_moat, ten_x_model_test, fast_feedback_loops, solo_founder_feasible, ai_providers_cant_eat_it) — i.e. the system prompt encodes a stale path/identifier reference. Same drift shape can leak into proposed target_files.
Target files
meta_engine/moves/genesis.js
Expected effect
Replay against the last 30 meta proposals (~6 cycles): expect 0-2 to fail the gate (low rate, high signal — those are the ones that would not have implemented as written). Going forward, no council-advanced proposal can reach Architect with a typo'd or stale target path.
Falsifier — what would prove this wrong?
If >5/30 historical proposals fail the gate, the NEW-file detection heuristic is too narrow — broaden the allow-list patterns. If 0/30 fail and 0/30 fail over the following 60 days, no path drift exists in practice and the gate is dead code — remove.
Evidence that triggered the proposal
  • D — meta_engine/moves/genesis.js:27 — META_PROPOSER_SYSTEM references v2_a1..v2_a10 not present in current filter_score.js
  • E — meta_engine/data/reports/2026-06-12.md — multiple proposals reference hypothesis_engine/moves/lib/closed_thesis_check.js (new file, must be NEW: marked or /lib/ allowed)

Proposer self-score

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

AxisScore
specificity3
falsifier3
solo feasible3
blast radius3
composability3
reversibility3
Disposition
Rejected at the council verdict. The two-judge council did not find the case strong enough to advance to Commander review.

Evaluation history

WhenMove
2026-06-14 04:17meta_council_verdict
2026-06-14 04:13meta_argument
2026-06-14 04:09meta_filter_score
2026-06-14 04:07meta_genesis