- Start condenser vacuum pump at init; turn it off while the retention
tank return valve is open (ejector has no suction during drain) and
restart when the drain completes
- Start condenser circulation pump at 25% (was never running); prevents
excessive cooling of return water per manual §Stabilization
- Drop primary pump hill-climb sweep: effect is negligible vs rod control
and was masked by xenon transients; set fixed 65% for better heat transfer
- Raise auto temp-setpoint ceiling from 360 °C to 375 °C for more power headroom
- Raise condenser fill upper threshold from 50 % to 60 % (more reserve for secondary pumps)
- Add CONDENSER_VACUUM to state reads and TUI display (with colour alarm)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Full classical operator in scripts/reactor_control.py: rod control with
criticality feedforward, per-train MSCV/pump management, grid-demand
following with proportional cap distribution, pressurizer spray valve,
condenser and retention tank aux controllers, and a live curses TUI with
keyboard-driven target/setpoint adjustment.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- nucon/model.py: constant input dimensions (zero variance in training
data) now get std=inf so they contribute 0 to normalised kNN distance
instead of causing catastrophic OOD from tiny float epsilon
- scripts/train_sac.py: add --load, --steps, --out CLI args; --load
hot-starts actor/critic weights from a previous run (learning_starts=0)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- nucon/rl.py: delta_action_scale action space, bool handling (>=0.5),
direct sim read/write bypassing HTTP for ~2000fps env throughput;
remove uncertainty_abort from training (use penalty-only), larger
default batch sizes; fix _read_obs and step for in-process sim
- nucon/model.py: optimise _lookup with einsum squared-L2, vectorised
rbf kernel; forward_with_uncertainty uses pre-built normalised arrays
- nucon/sim.py: _update_reactor_state writes outputs via setattr directly
- scripts/train_sac.py: moved from root; full SAC+HER example with kNN-GP
sim, delta actions, uncertainty penalty, init_states
- scripts/collect_dataset.py: CLI tool to collect dynamics dataset from
live game session (--steps, --delta, --out, --merge)
- README.md: add Scripts section, reference both scripts in training loop
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>