plan(dqn-v2): Plan 3 second revision — reconcile with landed reality
Tasks 1, 2, 3, 5 landed on main betweena59e7599canda0abc3da3. The remaining Task 4/6/7/8/9 bodies in the plan had accumulated drift: - Task 4: allocated slot 49 (already PLAN_THRESHOLD_INDEX); EMA'd plan_params[0] (kernel compares against readiness). - Task 6: allocated 59/60/61 (now collides with Plan 2 Q-quantile [50..58) and Task 1 reward EMAs [63..69)); required 6 new PS memo fields and included tuned 0.5e-4f penalty. - Task 7: allocated 58/63/64 (63/64 collide with REWARD_TRAIL_EMA / REWARD_MICRO_EMA from Task 1); amplification formula had tuned 2.0× trigger, 0.02 decay, 1.0/2.0 endpoints. - Task 8: referenced trainer helpers that don't exist (sample_state_feature_pair, step_scripted, replay_insert_with_ priority_scale); tuned priority_scale=0.5. - Task 9: used pre-pivot CPU-compute AdaptiveMonitor pattern with tuned 0.9/0.1 EMA rates. This revision: - Adds per-task "Reality reconciliation" sub-header flagging the stale premise being fixed. - Marks landed tasks with ✅ LANDED <SHA> and records actual outcomes (vs. the planned outcomes the original text described). - Rewrites Task 4/6/7/8/9 bodies to use tail-append slot allocation (indices recomputed from ISV_TOTAL_DIM at impl time), GPU kernel producer + read-only AdaptiveMonitor consumer pattern, and ISV-derived adaptive coefficients in place of tuned constants. - Splits Task 6 into 6a/6b/6c with independent PS-slot additions (MIN_PNL / REGIME_SHIFT_BAR / PRE_ENTRY_CONVICTION_EMAs). - Enumerates concrete trainer-helper prereqs for Task 8. - Updates Task 10 metric bands to match actual landed ISV slot names. - Updates exit criteria summary to check off what landed. No code changes.
This commit is contained in: