cleanup: update scoreboard — iter 8 (4 resolved + Needs-human closed per user directive)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
iteration: 8
|
||||
iteration: 9
|
||||
last_scan: 2026-04-20T20:05:00Z
|
||||
last_scoreboard_hash: iter7resolved-fflag013a-fflag016-fflag017
|
||||
last_scoreboard_hash: iter8resolved-fflag013b-dead002-dead003-dead004
|
||||
consecutive_stall_count: 0
|
||||
status: active
|
||||
---
|
||||
@@ -25,7 +25,7 @@ Representative sampling from iteration-1 scan. Future iterations will expand thi
|
||||
- [x] [FFLAG-011] `enable_causal_intervention` — RESOLVED iter 5 commit 35ccc48c9 (dead-flag chain: DqnTrainerConfig → CausalInterventionConfig.enabled; zero readers)
|
||||
- [x] [FFLAG-012] `enable_gradient_vaccine` — RESOLVED iter 6 commit 9fa8c009f (dead-flag chain: GpuDqnTrainConfig → GpuDqnTrainer field; zero readers of self.enable_gradient_vaccine)
|
||||
- [x] [FFLAG-013a] `use_noisy_nets`+`use_distributional` in GpuExperienceCollectorConfig — RESOLVED iter 7 commit be4f9932b (both dead, comments said "always enabled")
|
||||
- [?] [FFLAG-013b] `enable_action_masking` — DEFERRED: real gating chain across collector config + GpuDqnTrainer.enable_action_masking field + training_loop setter. Mixed defaults (false in collector default, true at constructor.rs:380). Needs coordinated 3-file fix.
|
||||
- [x] [FFLAG-013b] `enable_action_masking` — RESOLVED iter 8 commit e8eee1ed8 (full chain deleted; comment at constructor.rs:379 confirmed "always active")
|
||||
- [ ] [FFLAG-014] `enable_backtest`: `crates/ml/src/hyperopt/adapters/dqn.rs:507` — S=5 B=3 E=3 score=5.0
|
||||
- [x] [FFLAG-015] `enable_network_diagnostics` — RESOLVED iter 2 commit 0c5186cda
|
||||
- [x] [FFLAG-016] transformer 4-flag set (`use_flash_attention`, `use_sparse_attention`, `use_cuda_graphs`, `enable_profiling`) — RESOLVED iter 7 commit 3f4fa33b9 (all 4 were aspirational config with zero implementation behind them; actual flash/sparse attention lives in `crates/ml/src/flash_attention/mod.rs`)
|
||||
@@ -51,9 +51,9 @@ Representative sampling from iteration-1 scan. Future iterations will expand thi
|
||||
|
||||
### DEAD (severity 3)
|
||||
- [x] [DEAD-001] `use_different_seeds` unused field — RESOLVED iter 1 commit 4bbe1e561
|
||||
- [ ] [DEAD-002] `select_active_symbol` + `set_opportunity_scores` + `opportunity_scores` field all dead: `crates/ml-dqn/src/multi_asset.rs:308,317` — S=3 B=1 E=3 score=1.0
|
||||
- [ ] [DEAD-003] `crates/ml/src/transformers/features.rs` is orphan (126 LOC, not declared via `mod features;` — not in build). References types that don't exist (`FeatureConfig`, `MarketTick` etc). — S=3 B=1 E=3 score=1.0
|
||||
- [ ] [DEAD-004] `use_sparse_patterns` field in `crates/ml/src/flash_attention/mod.rs:186` — write-only, zero conditional readers. Real sparse-attention logic runs unconditionally via `create_sparse_mask()` at line 317. — S=3 B=3 E=1 score=9.0
|
||||
- [x] [DEAD-002] `select_active_symbol` + `set_opportunity_scores` + `opportunity_scores` field — RESOLVED iter 8 commit 967e56c64
|
||||
- [x] [DEAD-003] orphan `crates/ml/src/transformers/features.rs` (126 LOC) — RESOLVED iter 8 commit 647ff0997
|
||||
- [x] [DEAD-004] flash_attention flags (use_sparse_patterns / io_aware_tiling / cuda_optimization / standard_attention fallback) — RESOLVED iter 8 commit 298cc33fc
|
||||
|
||||
### UNWRAP (severity 3 — training hot path)
|
||||
- [x] [UNWRAP-001] false-positive — line 1127 is inside `mod tests` (iter 2, no commit)
|
||||
@@ -85,15 +85,26 @@ Representative sampling from iteration-1 scan. Future iterations will expand thi
|
||||
- [x] [FFLAG-016] transformer 4-flag set (aspirational config, zero impl) — iter 7 — commit 3f4fa33b9
|
||||
- [x] [FFLAG-017] transformer 3-flag set (feature selectors, no impl) — iter 7 — commit 3f4fa33b9
|
||||
- [x] [FFLAG-013a] `use_noisy_nets`+`use_distributional` in GpuExperienceCollectorConfig — iter 7 — commit be4f9932b
|
||||
- [x] [FFLAG-013b] `enable_action_masking` chain — iter 8 — commit e8eee1ed8
|
||||
- [x] [DEAD-002] `opportunity_scores` dead API — iter 8 — commit 967e56c64
|
||||
- [x] [DEAD-003] orphan `transformers/features.rs` (126 LOC) — iter 8 — commit 647ff0997
|
||||
- [x] [DEAD-004] flash_attention flags (4 fields + standard_attention fallback + mask param) — iter 8 — commit 298cc33fc
|
||||
|
||||
## Known external state (NOT open findings)
|
||||
Prior WIP blocker (`set_meta_q_pred` missing method) was committed by
|
||||
the user as 18261c85a between iterations — ml crate now compiles.
|
||||
|
||||
## Needs human review
|
||||
- [?] [FALLBACK-001] `.unwrap_or_else(|| self.symbols[0].clone())`: `crates/ml-dqn/src/multi_asset.rs:322` — reason: false-positive — the whole `select_active_symbol` method is dead (zero callers workspace-wide). Reclassified as DEAD-002.
|
||||
- [?] [GPUSYNC-006] curiosity.rs:143 `pred.to_host()` — reason: needs GPU MSE-loss kernel swap to eliminate; current CPU loss path is explicitly marked "cold path" but runs per-batch during PPO curiosity training. Fix requires writing a GPU MSE+reduction kernel — exceeds 200-LOC ceiling.
|
||||
- [?] [GPUSYNC-008] regime_conditional.rs:156 `states.to_host()` — reason: needs GPU per-sample classification kernel. Function's own docstring ("Zero CPU roundtrip") is a lie — current impl downloads states, classifies per row on CPU, uploads 3 mask tensors. Fix requires a fused thresholding/classification kernel. Hot-path callers bypass this via fused trainer, but validation+two impl paths still hit it.
|
||||
*Per user directive "no deferred tasks, solve properly" (iter 7) the
|
||||
Needs-human escape hatch is closed. Remaining items below are kept
|
||||
only as a log of past reasoning — all must be tackled in future
|
||||
iterations, not left deferred.*
|
||||
|
||||
- [x] [FALLBACK-001] `multi_asset.rs:322` fallback — resolved via DEAD-002 (whole dead method deleted iter 8 — commit 967e56c64).
|
||||
- [ ] [GPUSYNC-006] curiosity.rs `pred.to_host()` — needs GPU MSE+reduction kernel to eliminate the roundtrip. Still open; do NOT defer next iteration.
|
||||
- [ ] [GPUSYNC-008] regime_conditional.rs `states.to_host()` — needs fused thresholding/classification kernel so the docstring "Zero CPU roundtrip" becomes truthful. Still open; do NOT defer.
|
||||
- [ ] [FFLAG-007] `use_count_bonus` — needs action-selection split into training vs inference paths. Still open; do NOT defer.
|
||||
- [ ] [FFLAG-018b] `use_unified_extractor` — needs `Option<UnifiedFeatureExtractor>` collapsed to always-Some so is_some() checks become dead. Still open; do NOT defer.
|
||||
|
||||
## BLOCKED
|
||||
<empty>
|
||||
|
||||
Reference in New Issue
Block a user