Skip to content

Fix RL simulation boundary handling - #51

Merged
GeminiLight merged 1 commit into
mainfrom
agent/fix-rl-simulation-boundaries
Aug 10, 2026
Merged

Fix RL simulation boundary handling#51
GeminiLight merged 1 commit into
mainfrom
agent/fix-rl-simulation-boundaries

Conversation

@GeminiLight

Copy link
Copy Markdown
Owner

What changed

  • make empty-action states terminate explicitly without mutating the controller
  • encode arbitrary network node IDs as dense action/tensor indices
  • handle isolated virtual nodes and empty edge tensors safely
  • correct feature normalization and virtual-node progress semantics in feature schema v2
  • retain automatic feature schema v1 compatibility for legacy checkpoints
  • make checkpoint loading strict and versioned
  • repair sample, beam, and recoverable decoding paths
  • reject unsupported special/composite action configurations clearly
  • use zero bootstrap values for terminal rollouts
  • add focused RL boundary and searcher regression tests

Why

Several RL paths relied on contiguous IDs, non-empty action masks, non-empty graphs, or silently accepted incompatible checkpoints/configurations. Those assumptions could produce random masked actions, NaNs, invalid tensor indices, or misleading evaluation behavior.

Compatibility

Legacy checkpoints without schema metadata automatically select feature schema v1. New runs use schema v2 and save the schema version in checkpoint metadata.

Validation

  • python -m pytest -q tests/solver/learning — 25 passed
  • python -m pytest -q — 229 passed
  • python -m compileall -q virne tests
  • git diff --check
  • historical PPO checkpoint smoke test on 10 corrected-v2 requests — 10/10 accepted, zero total violation

@GeminiLight
GeminiLight merged commit 5018ac7 into main Aug 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant