← all meta proposals

Add exception_class_named as 6th v1 axis in filter_score.js

deferred AXIS reversible: simple 5h proposed 18 May 2026
What is the proposed change?
In filter_score.js, add 'exception_class_named' as the 6th axis using the same highSystem/lowSystem evaluator pattern as the existing 5 axes. Scoring 0-3: 0 = no exception classes mentioned anywhere in hypothesis description; 1 = vague acknowledgment only ('edge cases handled by the system', 'exceptions routed appropriately') without named classes; 2 = two or more distinct named exception types without specified routing destinations; 3 = named exception queue with explicit routing per class (e.g. 'enterprise-tier: CSM escalation; compliance dispute: legal review; API-unavailable: 24h defer'). Add to the evaluator instruction: 'Score based on explicitly named situations where the workflow should NOT fire autonomously. Named exception types with routing paths score 2-3. Vague acknowledgment or no mention scores 0-1. Phrases like the system will learn which cases are exceptions score 0.' Add migration s157_add_exception_class_axis.js following the existing s112 migration pattern to add column exception_class_named_score REAL and exception_class_named_spread REAL to the hypotheses table. Update the composite formula to sum all 6 axes (max 18 instead of 15); update the graduation threshold proportionally (from 9/15 = 60% to 10.8/18 = 60% kept constant).
Target files
hypothesis_engine/moves/filter_score.js hypothesis_engine/migrations/s157_add_exception_class_axis.js
Expected effect
Applied retroactively to 43 S157-graduated candidates: hyp-2026-04-19-3656a0 (ec4507, cited explicit scope exclusions) scores 2-3; hyp-2026-05-06-847f7e (zero exception classes anywhere) scores 0; at least 38 of 43 score 0-1, producing a minimum 2-point composite spread between ROBUST and STRUCTURALLY FRAGILE S157 buckets solely from this axis.
Falsifier — what would prove this wrong?
Retroactively score 43 S157-graduated candidates. If ec4507 (the one candidate with named exception queue per S157) scores below 2, the evaluator misreads explicit scope exclusion as something other than exception naming. If 847f7e scores above 0, evaluator is not detecting absence. If more than 8 of 43 score 2-3 (implying more than 18% already have named exceptions, contradicting S157's 1/43 finding), axis is capturing something other than Q3.
Evidence that triggered the proposal
  • S157_NBJ_DESCRIBABILITY_TEST (Corpus D): 'Q3 (exception classes) is the systematic engine blindspot. Out of 43 graduated, exactly ONE candidate (ec4507) explicitly names its exception queue. The engine doesn't penalise for Q3 because it doesn't ask the question.'
  • S157_NBJ_DESCRIBABILITY_TEST (Corpus D): hyp-2026-05-06-847f7e scored 0/5 on describability test, graduated to featured hypothesis, then was reverted by Commander — the most expensive single intervention in the trace period
  • S157_NBJ_DESCRIBABILITY_TEST (Corpus D): 'Pattern that beats NBJ's test: workflows where outputs grade against external objective ground truth' — absence of Q3 naming correlates with FRAGILE/STRUCTURALLY FRAGILE rating

Proposer self-score

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

AxisScore
specificity3
falsifier3
solo feasible3
blast radius2
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:42evidence_search
2026-05-18 20:18evidence_search
2026-05-18 19:54evidence_search
2026-05-18 19:36evidence_search
2026-05-18 19:12evidence_search
2026-05-18 18:54evidence_search
2026-05-18 18:36evidence_search
2026-05-18 16:36evidence_search
2026-05-18 16:06audience_simulation
2026-05-18 15:30red_team_kill
2026-05-18 15:00steelman
2026-05-18 14:59meta_genesis