← all meta proposals

Genesis prompt session-tag bloat linter (TOOL, not edit)

council rejected TOOL reversible: simple 3h proposed 18 Jun 2026
What is the proposed change?
New standalone Node script `hypothesis_engine/tools/prompt_lint.js`. Reads moves/genesis.js, extracts each session-tagged doctrine block (regex on lines starting `S\d+ [A-Z_-]+`), produces a CSV: tag, line_start, line_end, token_count, decage_status (heuristic: search for 'decage', 'superseded', 'relaxed', 'NOT a hard'), conflicting_overlap (string-overlap with later tags). Output writes to logs/prompt_lint_YYYYMMDD.csv. No edits to genesis.js — this is a diagnostic only. Run via `node hypothesis_engine/tools/prompt_lint.js`.
Target files
hypothesis_engine/tools/prompt_lint.js
Expected effect
Output CSV will name ≥3 session-tag blocks where `decage_status` flags 'decaged but still in prompt': specifically S121 evaluator-side cage (decaged S183), S151 archetype rotation (claimed temporary through 2026-06-14 — already expired by today 2026-06-18), and the S183 product-shape decage block which still includes the cage it removed. Total genesis system prompt is ~250 lines; linter should identify ≥40 lines as candidate-for-prune.
Falsifier — what would prove this wrong?
If the linter reports zero decaged-but-present blocks, OR fewer than 20 lines of prunable content, the genesis prompt is already tight and the bloat hypothesis is wrong. Tool stays as a diagnostic; no prompt edits ride on its first report.
Evidence that triggered the proposal
  • E — hypothesis_engine/moves/genesis.js PROPOSER_SYSTEM string spans ~250 lines, contains S110/S112/S113/S121/S128/S135/S136/S151/S156/S177/S183 doctrine layered without prune
  • D — brain/moves/genesis.js inline note: 'S151 ARCHETYPE ROTATION RULE (active for next 30 admissions from 2026-05-14 OR until 2026-06-14, whichever first)' — sunset date passed; rule status unclear in prompt
  • D — brain/MANIFESTO.md v4 deflation — preference for code enforcement over prompt enforcement (P58)

Proposer self-score

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

AxisScore
specificity3
falsifier2
solo feasible3
blast radius3
composability2
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-18 04:20meta_council_verdict
2026-06-18 04:12meta_argument
2026-06-18 04:08meta_filter_score
2026-06-18 04:04meta_genesis