Actor pathway.
obs → actor_encoder (SnapshotEncoder, d_model = 64)
→ actor_symbol_mixer (TransformerEncoder × 2, 4 heads)
→ ObsContextProjector (residual context)
→ actor_mean_head [Linear → GELU → Dropout(0.1) → Linear]
→ clamp(±3) → tanh → action ∈ [−1, +1]Critic pathway (twin Q-ensemble, no CSC).
obs → critic_encoder (separate from actor — v2.3 split)
→ critic_symbol_mixer (TransformerEncoder × 2, 4 heads)
→ ObsContextProjector
→ concat(action) → DiverseCritic × 2 (32-quantile distributional Q)Key architectural difference vs v2.4.18-mini. No CrossSampleCenter modules — neither on the actor head nor in the critic feature pathway. Topology is otherwise structurally identical.
Compression summary (matches v2.4.18-mini for apples-to-apples comparison).
Encoder d_model — 128 → 64 (×2, capacity).
Q-network hidden — 256 → 128 (×2, capacity).
Critic ensemble hidden — 256 → 128 (×2, capacity).
World-model hidden — 512 → 256 (×2, capacity).
Replay buffer capacity — 1.2–3.6M → 1.5M (aligned with v2.4.18-mini).
Symbol mixer layers — 2 → 2 (architecture, preserved).
Symbol mixer heads — 4 → 4 (architecture, preserved).
Distributional quantiles — 32 → 32 (architecture, preserved).
TD-MPC optimization dim — 48 → 48 (architecture, preserved).
Preserved baseline elements. Per-symbol distributional Q (32 quantiles, twin critics), separate actor / critic encoders (v2.3 split), ObsContextProjector residual, world-model + CEM planner (TD-MPC), Pattern Memory cluster sampling, Phase 18.1 head (no LayerNorm, dropout 0.1), Phase 16 rollback (affine LN_out), Phase 19-20 branch-isolation regulator calibration.