Files
foxhunt/docs
jgrusewski 39d4577b77 feat(sp21): T2.2 Phase 8.1 — signal-drive agree_thr clamp bounds via val_sharpe_std (atomic)
Closes the last hardcoded anchor in compute_agreement_threshold per
pearl_controller_anchors_isv_driven. Smoke-driven motivation: the
9-cycle smoke run of commit 1d2dd38a1 (Phases 1.5..8) produced
monotonic agree_thr loosening from 1.30 → 10.00, hitting the
hardcoded upper clamp on cycle 9.

Bound formula:
  scale = (1.0 + val_sharpe_std × 2.0).clamp(1.0, 5.0)
  lo = 0.01 / scale
  hi = 10.0 × scale

Bound behaviour:
  val_sharpe_std=0 (cold)    → scale=1.00 → [0.01, 10.0]  (= pre-8.1 baseline)
  val_sharpe_std=0.05 (mild) → scale=1.10 → [0.009, 11.0]
  val_sharpe_std=0.30 (noisy)→ scale=1.60 → [0.006, 16.0]
  val_sharpe_std≥2.0 (extreme) → scale=5.00 → [0.002, 50.0]  (Invariant 1 ceiling)

The 2.0× multiplier and [1.0, 5.0] scale clamp are themselves
hardcoded but explicitly Invariant 1 carve-outs (numerical-
stability bounds on the bound formula, NOT controller anchors).
The recursion terminates at structural floors/ceilings per
pearl_wiener_alpha_floor_for_nonstationary's canonical pattern —
making meta-meta-meta-bounds signal-driven gains nothing.

Cold-start preservation: prior special-case short-circuit
returned current.clamp(0.01, 10.0). New formula reduces to that
exact behaviour when std=0 (scale=1, lo=0.01, hi=10.0). The
short-circuit is retained for explicit "no update on cold start"
semantics. No behavioural regression at cold-start.

Files changed:
- crates/ml/src/trainers/dqn/trainer/enrichment.rs: compute_agreement_
  threshold clamp refactor (single-function change, no ABI churn)
- docs/dqn-wire-up-audit.md: 2026-05-11 audit entry with full
  smoke cycle table

Verification (passing):
- cargo check -p ml --tests --features cuda: 0 errors
- cargo test -p ml --lib sp21_isv_slots: 3/3
- sp20_aggregate_inputs_test: 12/12
- sp20_phase1_4_wireup_test: 2/2
- sp20_emas_compute_test: 4/4
- sp20_controllers_compute_test: 7/7
- sp21_per_trade_predicted_q_test: 3/3
Total: 34 tests, 0 failures. Behavioral gate: a repeat smoke
should show agree_thr breaking past 10.0 as val_sharpe_std
drives bounds outward.

SP21 T2.2 cascade — FULLY COMPLETE after this commit. 12 atomic
commits, no hardcoded anchors remaining in enrichment controllers
(only Invariant 1 stability carve-outs on bound-on-bound formulas,
which terminate the recursion).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 07:44:25 +02:00
..