From 26343cd573f38dca647eb522085e355b068855f1 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Tue, 5 May 2026 21:17:13 +0200 Subject: [PATCH] =?UTF-8?q?docs(sp14):=20Layer=20A+B=20close-out=20?= =?UTF-8?q?=E2=80=94=20full=20chain=20summary=20pre-Smoke-A2-B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a Layer A+B close-out section to dqn-wire-up-audit.md summarizing all 15 commits in the SP14 chain (3 Layer A stability fixes + 12 Layer B EGF pearl tasks). Includes: - Commit-by-commit table with SHA + task ID + summary - Architectural summary post-Layer B (forward + backward + α_grad pipeline) - 8 explicit kill criteria for Smoke A2-B (per spec B.7) - B.13 skip rationale (per-kernel oracle tests cover unit behavior; B.14 smoke is the real integration test) Layer B effective end: e41dbb7d8 (B.12). Forward wire, backward gating, producer chain, and HEALTH_DIAG diagnostics all wired and validated through cargo check + per-kernel GPU oracle tests + snap stability. Next: push to origin sp11-reward-as-controlled-subsystem + submit Smoke A2-B via ./scripts/argo-smoke.sh. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/dqn-wire-up-audit.md | 42 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/docs/dqn-wire-up-audit.md b/docs/dqn-wire-up-audit.md index 9d2bc4e32..381e5d218 100644 --- a/docs/dqn-wire-up-audit.md +++ b/docs/dqn-wire-up-audit.md @@ -6670,3 +6670,45 @@ B.8/B.9 grew `w_b0fc` to `[adv_h, SH2 + 1]` end-to-end across forward dispatch + - **Producers**: B.11 active (3 launches every step + 1 per epoch) - **EGF gate**: now responsive to live signals (was force-closed at sentinel 0.0) +## SP14 Layer A+B close-out — pre-Smoke-A2-B summary (2026-05-05) + +**Commits in chain (15 total):** + +| Commit | Task | What | +|---|---|---| +| `731cae4c8` | A.2 | set_aux_weight clamp [0.05, 0.3] → [0.15, 1.5] (SP13 P0b range) | +| `142038321` | A.3 | stagnation warmup gate at fold boundary (Pearl-A first-obs fix) | +| `f75786fc5` | A.1 | C51 inv_a_std floor lift 1e-6 → 1e-3 (caps amplifier at 1000) | +| `d63cb7992` | B.1 | sp14_isv_slots.rs (13 new ISV slots at 383-395) | +| `84de278df` | B.2 | 11 fold-reset registry entries + dispatch arms (atomic) | +| `d3a35cc6e` | B.3 | q_disagreement_update_kernel (K=4↔K=2 mapping, Hold/Flat masked) | +| `49cdf90ec` | B.4 | alpha_grad_compute_kernel (EGF heart: Schmitt + adaptive k + adaptive β) | +| `82fe6cea6` | B.5 | gradient_hack_detect_kernel (anti-mesa-opt circuit breaker) | +| `4527d8c85` | B.6 | dir_concat_qaux_kernel (pre-SGEMM forward concat) | +| `9843de5e3` | B.7 | trainer struct fields (4 kernel handles + concat scratch) | +| `6715ab4ea` | B.8 | w_b0fc input dim SH2 → SH2+1 + fingerprint _AUX1 | +| `ecf4757c0` | B.9 | forward concat launch + SGEMM K=SH2+1 | +| `dc3f948ee` | B.10 | backward gradient gating by α_grad_smoothed + closes B.8/B.9 backward K-mismatch | +| `857722e77` | B.11 | producer chain orchestrator + var_aux Welford gap closure | +| `e41dbb7d8` | B.12 | per-epoch pearl_egf_diag HEALTH_DIAG emit | + +**Layer B skipped commit:** B.13 (5 GPU integration tests). Per-kernel oracle tests landed in B.3-B.6 cover individual unit behavior; the meaningful integration test is B.14's L40S smoke against real data. Snap-size stability verified post-B.12 (149*4=596 bytes unchanged; pearl_egf_diag is a separate log line, not in snap-words). + +**Architectural summary post-Layer B:** + +1. **Forward wire**: `aux_nb_softmax_buf [B, K=2]` → `dir_concat_qaux_kernel` → `dir_qaux_concat_scratch [B, SH2+1]` → direction Q-head first FC SGEMM with K=SH2+1. +2. **Backward gating**: dL/dx_concat[B, SH2+1]; column SH2 multiplied by `ISV[ALPHA_GRAD_SMOOTHED_INDEX = 393]` via `sp14_scale_wire_col_kernel`. dL/dW unchanged (Q-head learns to use wire freely). +3. **α_grad pipeline**: q_disagreement (per step) → alpha_grad_compute (per step) → α_smoothed available before backward → wire-col scale reads it. End-of-epoch gradient_hack_detect runs the circuit breaker. + +**Pre-Smoke kill criteria** (per spec B.7): +- Build/compile failure +- α_grad_smoothed stuck at 0.0 across 5 epochs in fold 1 when aux_dir_acc reaches 0.55+ +- gate1_open_state never flips to 1 across full smoke +- aux_dir_acc collapses below 0.40 after gate1 opens AND lockout_remaining stays 0 +- val_sharpe < 0 sustained across 2+ epochs +- n_up = 0 in HEALTH_DIAG aux_b1_diag (B1.1b regression) +- Forward stale-input pattern (aux healthy but α_grad oscillates wildly) +- GRAD_CLIP_OUTLIER count > 100 in fold 2 (Layer A regression check) + +**Next**: push to origin → submit Smoke A2-B → monitor with kill criteria above. +