From 976f9b98071ba651a6e0174c7ea283b8da54905f Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Fri, 8 May 2026 03:50:54 +0200 Subject: [PATCH] fix(sp14-c.10): missing reset_named_state dispatch arm for sp14_q_disagreement_variance_ema MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase C.1's atomic α deletion preserved Q_DISAGREEMENT_VARIANCE_EMA_INDEX=389 (HEALTH_DIAG diagnostic) and its state_reset_registry entry, but the corresponding dispatch arm in reset_named_state was missing — even though the inline comment at training_loop.rs:8024 falsely claimed it existed. train-rqd8r (commit 10e647c14) failed both folds at fold-reset boundary: Model error: StateResetRegistry reset dispatch: unknown name 'sp14_q_disagreement_variance_ema' Same class as SP5 Layer A bug-fix #281. Dispatch arm restored using SENTINEL_VARIANCE (0.0) per the registry entry's documented sentinel. Co-Authored-By: Claude Opus 4.7 (1M context) --- crates/ml/src/trainers/dqn/trainer/training_loop.rs | 11 +++++++++++ docs/dqn-wire-up-audit.md | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/crates/ml/src/trainers/dqn/trainer/training_loop.rs b/crates/ml/src/trainers/dqn/trainer/training_loop.rs index d4f8d5ccc..00bdd6b66 100644 --- a/crates/ml/src/trainers/dqn/trainer/training_loop.rs +++ b/crates/ml/src/trainers/dqn/trainer/training_loop.rs @@ -8013,6 +8013,17 @@ impl DQNTrainer { ); } } + "sp14_q_disagreement_variance_ema" => { + if let Some(ref fused) = self.fused_ctx { + use crate::cuda_pipeline::sp14_isv_slots::{ + Q_DISAGREEMENT_VARIANCE_EMA_INDEX, SENTINEL_VARIANCE, + }; + fused.trainer().write_isv_signal_at( + Q_DISAGREEMENT_VARIANCE_EMA_INDEX, + SENTINEL_VARIANCE, + ); + } + } // SP14 Layer C Phase C.1 (2026-05-08): named-state reset // arms for the 9 deleted α-machinery slots // (sp14_k_aux_adaptive, sp14_k_q_adaptive, diff --git a/docs/dqn-wire-up-audit.md b/docs/dqn-wire-up-audit.md index e5a85501e..7a31cbbfa 100644 --- a/docs/dqn-wire-up-audit.md +++ b/docs/dqn-wire-up-audit.md @@ -2,6 +2,12 @@ **Status:** Populated during Plan 1 Task 6 (A.5 orphan audit). Updated on every commit per Invariant 7. +## 2026-05-08 — SP14 Layer C Phase C.10 prep: missing reset_named_state dispatch arm + +**Bug:** train-rqd8r (commit `10e647c14`) failed both folds at fold-reset boundary with `unknown name 'sp14_q_disagreement_variance_ema'`. C.1's atomic α deletion preserved the slot constant `Q_DISAGREEMENT_VARIANCE_EMA_INDEX=389` (HEALTH_DIAG diagnostic) and its `state_reset_registry` entry, but the corresponding `match` arm in `reset_named_state` was missing — even though the inline comment block at training_loop.rs:8024 falsely claimed it existed. + +**Fix:** Added the missing arm using `SENTINEL_VARIANCE` (0.0) per the registry entry's documented sentinel. Same class as SP5 Layer A bug-fix #281. No other Welford-EMA slot was deleted, so this is the only missing FoldReset dispatch. + ## 2026-05-08 — SP14 Layer C Phases C.8 + C.9: ISV-driven Adam hyperparams (already complete) + synthetic smoke test ### C.8 — ISV-driven aux trunk Adam β1/β2/ε/LR/grad-clip