From 5cb34572eb01f37f04303ed5eb7d30e71001af6b Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Mon, 25 May 2026 11:24:27 +0200 Subject: [PATCH] =?UTF-8?q?fix(rl):=20CLI=20per=5Fcapacity=20default=20409?= =?UTF-8?q?6=20=E2=86=92=2032768=20to=20match=20trainer=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CLI default overrode the trainer config default. Without passing --per-capacity explicitly, the Argo run used 4096 (256 unique steps at b=16) instead of the intended 32768 (2048 steps). Co-Authored-By: Claude Opus 4.7 --- crates/ml-alpha/examples/alpha_rl_train.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/crates/ml-alpha/examples/alpha_rl_train.rs b/crates/ml-alpha/examples/alpha_rl_train.rs index e9bb74cd0..83ace56b1 100644 --- a/crates/ml-alpha/examples/alpha_rl_train.rs +++ b/crates/ml-alpha/examples/alpha_rl_train.rs @@ -143,10 +143,9 @@ struct Cli { #[arg(long, default_value_t = 16)] n_backtests: usize, - /// PER buffer capacity (R7d). Per `replay.rs` doc, naive O(N) - /// sampling is acceptable up to ~4096. Production scale-up to - /// 100k+ needs a GPU sum-tree (R-future). - #[arg(long, default_value_t = 4096)] + /// PER buffer capacity. At b_size=16, capacity/16 = unique steps + /// retained. 32768/16 = 2048 steps of replay depth. + #[arg(long, default_value_t = 32768)] per_capacity: usize, /// Random seed pinning RNG + Xavier init + ISV controller bootstrap