← all meta proposals

Add exception_classes field to genesis.js proposal output schema

deferred PROMPT reversible: simple 3h proposed 18 May 2026
What is the proposed change?
In genesis.js PROPOSER_SYSTEM, add a new top-level field to the proposal JSON output schema (alongside existing fields like structural_veto, resolution_event, manual_entry_path): `"exception_classes": "<= 40 words: name 2-3 specific situations where this workflow must NOT fire autonomously or routes differently. Format: 'situation: routing'. Minimum: one exception for buyer tier, one for data-quality failure. Do not write 'the system handles exceptions'."`. Add a mandatory instruction above the schema definition: 'Exception classes are NOT optional. Every automated workflow has situations where it fails or should hand off. Name them before describing the happy path. A hypothesis with no named exception classes will score 0 on evaluation axis exception_class_named regardless of other merits. Pattern that passes: Enterprise accounts route to CSM; missing-artifact cases defer and notify; ambiguous resolution routes to human. Pattern that fails: The system will learn exception cases over time.'
Target files
hypothesis_engine/moves/genesis.js
Expected effect
After 2 genesis cycles (~62 new hypotheses at current 31/week throughput), at least 55% of generated proposals include a non-empty exception_classes field with ≥2 distinct named situations (not paraphrases). The companion exception_class_named axis (Proposal 1) will show mean score increase from ~0.1 to ≥1.2 on newly generated hypotheses within 2 weeks, measurable by comparing axis score distributions before/after.
Falsifier — what would prove this wrong?
After deploying the prompt change, manually inspect 10 genesis outputs from the next 2 cycles. If more than 4 of 10 contain only a single exception class, or if any contains only 'handled by the system' variants, the instruction is being satisfied with boilerplate. Secondary falsifier: if the mean exception_class_named axis score on new hypotheses does not exceed 0.8 within 2 weeks of both proposals being live, the genesis prompt change is not producing content the evaluator can score.
Evidence that triggered the proposal
  • S157_NBJ_DESCRIBABILITY_TEST (Corpus D): Q3 absent from 42 of 43 graduated candidates — root cause is that genesis.js does not ask for exception classes; the evaluator cannot penalize what the proposer is never prompted to produce
  • V2_FILTER_DESIGN_v2.2_RED_TEAM (Corpus D): 'The evaluator is instructed to punish lack of evidence the proposer never produces' — identical structural failure pattern identified during filter design; fix is always coupled (ask proposer → evaluate proposer output)
  • Corpus TRACES: hyp-2026-05-10-26fc18 verdict 'episodic-vs-recurring tension unresolved'; hyp-2026-05-14-5d7cca 'taxonomy port unverified' — both are unnamed exception-class failures that would have surfaced earlier if genesis had required exception naming

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
Deferred. Engine logic for this proposal is sound or partial, but the build was not prioritised this cycle.

Evaluation history

WhenMove
2026-05-18 20:30evidence_search
2026-05-18 20:24evidence_search
2026-05-18 20:06evidence_search
2026-05-18 19:42evidence_search
2026-05-18 19:18evidence_search
2026-05-18 19:00evidence_search
2026-05-18 18:42evidence_search
2026-05-18 16:42evidence_search
2026-05-18 16:12audience_simulation
2026-05-18 15:36red_team_kill
2026-05-18 15:06steelman
2026-05-18 14:59meta_genesis