jgrusewski
c0fc28e455
fix(sp14): delete warmup_gate — let variance-driven k_aux/k_q handle warmup (ISV-driven)
...
Per `feedback_isv_for_adaptive_bounds`, the hardcoded
`warmup_gate = (fold_step_counter / WARMUP_STEPS_FALLBACK).min(1.0)`
ramp violated the rule: adaptive bounds in ISV, never hardcoded
constants. The variance-driven k_aux/k_q sigmoid steepness already
provides warmup behavior intrinsically:
- High variance (cold-start, EMAs still moving) → k → K_MIN → flat
sigmoid → gate ≈ 0.5 regardless of input. That IS the warmup.
- Low variance (settled) → k → K_BASE → sharp sigmoid → gates
respond correctly to driver signals.
Adding a separate hardcoded step-counter multiplier on top was
double-counting + tuning-driven (the 1000-step threshold had no
principled basis). Removed entirely.
Removed (per `feedback_no_partial_refactor`, all atomically):
- `WARMUP_STEPS_FALLBACK` constant in `sp14_isv_slots.rs`
- `warmup_gate: f32` parameter in `alpha_grad_compute_kernel.cu`
- `gate1 * gate2 * warmup_gate` → `gate1 * gate2` in kernel
- `warmup_gate` arg from `launch_sp14_alpha_grad_compute`
- `fold_step_counter: usize` field on the trainer struct
- `fold_step_counter = 0` reset in `reset_for_fold`
- `fold_step_counter` init in trainer constructor
- `let warmup_gate: f32 = 1.0;` and `.arg(&warmup_gate)` from B.4
oracle tests (4 launches: 2 in alpha_grad_schmitt_hysteresis,
20 in alpha_grad_adaptive_beta loop)
Build: clean, 18 warnings (pre-existing baseline).
Tests: cargo test --no-run on sp14_oracle_tests succeeds.
Net result: EGF gate's warmup behavior now lives entirely in the
variance-driven k_aux/k_q sigmoid steepness controller (ISV slots
388/var_aux, 389/var_q). No hardcoded step counter. Honors
`feedback_isv_for_adaptive_bounds` and `pearl_controller_anchors_isv_driven`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 22:07:55 +02:00
..
2026-03-02 15:41:23 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-04-11 11:54:09 +02:00
2026-03-29 21:32:04 +02:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:30:51 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-03-15 12:00:13 +01:00
2026-04-11 11:54:09 +02:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-03-19 10:02:26 +01:00
2026-04-28 18:54:00 +02:00
2026-04-27 17:52:23 +02:00
2026-03-13 10:18:35 +01:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 08:55:55 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-04-24 01:55:14 +02:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-04-01 01:13:19 +02:00
2026-03-25 09:45:54 +01:00
2026-04-28 18:54:00 +02:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-03-13 10:18:35 +01:00
2026-03-31 01:30:33 +02:00
2026-03-31 01:30:33 +02:00
2026-04-24 01:55:14 +02:00
2026-04-28 18:54:00 +02:00
2026-04-11 11:54:09 +02:00
2026-03-19 10:02:26 +01:00
2026-04-28 18:54:00 +02:00
2026-04-11 11:54:09 +02:00
2026-03-16 21:01:28 +01:00
2026-03-16 21:01:28 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-04-11 15:21:21 +02:00
2026-03-31 10:56:20 +02:00
2026-04-28 18:54:00 +02:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-03-25 09:45:54 +01:00
2026-03-29 21:32:04 +02:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-31 01:30:33 +02:00
2026-04-20 15:29:05 +02:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-04-23 11:36:34 +02:00
2026-04-10 18:52:21 +02:00
2026-05-05 10:46:20 +02:00
2026-03-25 09:45:54 +01:00
2026-03-19 10:02:26 +01:00
2026-03-31 10:56:20 +02:00
2026-03-13 10:18:35 +01:00
2026-03-31 01:30:33 +02:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 08:59:52 +01:00
2026-03-20 15:41:42 +01:00
2026-03-19 10:02:26 +01:00
2026-03-18 00:53:47 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-04-01 01:13:19 +02:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-04-28 09:10:31 +02:00
2026-03-15 12:00:13 +01:00
2026-04-28 09:23:32 +02:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-04-20 15:29:05 +02:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-03-19 10:02:26 +01:00
2026-03-19 08:59:52 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-04-11 15:21:21 +02:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-04-23 08:44:05 +02:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-04-23 08:44:05 +02:00
2026-04-02 14:21:45 +02:00
2026-03-13 10:18:35 +01:00
2026-04-11 11:54:09 +02:00
2026-03-19 08:59:52 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-04-11 11:54:09 +02:00
2026-03-13 10:18:35 +01:00
2026-04-28 18:54:00 +02:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 08:55:55 +01:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-04-11 11:54:09 +02:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00
2026-05-03 09:52:33 +02:00
2026-03-19 10:02:26 +01:00
2026-05-05 10:52:13 +02:00
2026-05-03 11:34:21 +02:00
2026-05-04 11:51:30 +02:00
2026-05-04 19:32:18 +02:00
2026-05-05 14:45:47 +02:00
2026-05-05 14:09:48 +02:00
2026-05-05 22:07:55 +02:00
2026-03-19 10:02:26 +01:00
2026-03-21 09:14:53 +01:00
2026-04-10 18:52:21 +02:00
2026-03-19 08:59:52 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 08:44:50 +01:00
2026-03-19 10:02:26 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 08:44:50 +01:00
2026-03-15 12:00:13 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 10:02:26 +01:00
2026-03-19 08:44:50 +01:00
2026-03-19 08:59:52 +01:00
2026-03-16 16:11:48 +01:00
2026-03-14 11:35:15 +01:00
2026-04-11 15:21:21 +02:00
2026-04-11 11:54:09 +02:00
2026-03-13 10:18:35 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-04-04 10:02:37 +02:00
2026-04-11 11:54:09 +02:00
2026-04-11 11:54:09 +02:00
2026-03-15 12:00:13 +01:00
2026-03-15 12:00:13 +01:00
2026-03-13 10:18:35 +01:00
2026-03-19 10:02:26 +01:00