Problem
The #8121 narrow start hardcodes ONE loosenable knob (the satisfaction floor). The epic's full intent is a registry of loosenable configuration values, each with its own hard safety bounds, all gated on the same backtest discipline.
Requirements
⚠️ Required pattern. Mirror KNOWN_THRESHOLDS (src/services/threshold-backtest.ts) / KNOWN_LOGIC_RULES (scripts/backtest-logic-check-core.ts): a declarative registry mapping each knob to its rule ids, candidate steps, and hard bounds — never per-knob bespoke loops.
- Every knob keeps the narrow start's invariants: smallest-step-first, visible-improved + held-out-non-regressed, hard minimum, write-path direction re-checks, audit event per apply.
- Do not add a knob without real fired/override ground truth for its rule ids.
Deliverables
Links & Resources
#8121 (parent), src/services/satisfaction-floor-loosening.ts (the shape to generalize)
maintainer-only — extends autonomous config change; each knob is a deliberate decision.
Problem
The #8121 narrow start hardcodes ONE loosenable knob (the satisfaction floor). The epic's full intent is a registry of loosenable configuration values, each with its own hard safety bounds, all gated on the same backtest discipline.
Requirements
Deliverables
Links & Resources
#8121 (parent), src/services/satisfaction-floor-loosening.ts (the shape to generalize)
maintainer-only — extends autonomous config change; each knob is a deliberate decision.