Skip to content

Current boundaries

These are deliberate v0 boundaries or algorithm-specific constraints, not hidden fallback behavior.

Fixed observation and action spaces

Observations are fixed-shape float32 arrays and every game exposes one fixed global discrete action vocabulary. Variable entities and text observations require an encoding into that tensor contract. Continuous and parameterized actions are not currently expressible without a core extension.

Decision phases

A game is sequential or simultaneous for its entire episode. Mixed-phase games that switch between sequential and simultaneous decisions are not currently expressible.

Native component boundary

Games and engine components run in Rust. Python owns inference and training, but cannot implement the hot-path Game, Policy, or Learner traits. Adding a game that participates in reinfors search and collection therefore requires a Rust implementation; see extending reinfors.

Out-of-tree native composition

Out-of-tree composition is not a supported workflow pre-1.0. The intended stable boundary is published reinfors-core and reinfors-games crates plus a documented PyO3 registration mechanism. Until that boundary is published, contributors should use the in-tree extension path and expect native contracts and registration glue to change.

Distributed orchestration

Reinfors provides no built-in cluster runtime. Remote callbacks and external actor/trainer orchestration are supported composition patterns, but provisioning, retry, discovery, and fault tolerance are caller responsibilities.

Algorithm-specific compatibility

Player-count, dynamics, information, and chance constraints vary by algorithm. Consult the generated algorithm catalogue and built-in compatibility matrix; construction rejects unsupported compositions.

Enumeration limits

Exact chance expansion rejects more than 1,048,576 outcomes, simultaneous search rejects more than 1,048,576 joint-action slots, and exact best-response metrics reject trees above 4,000,000 nodes. Large games require sampling or approximate evaluation.

Snapshot compatibility

Snapshots are opaque continuation artifacts tied to a compatible composition and schema, not a permanent cross-project state format.

If one of these boundaries blocks a well-defined research workload, open an issue describing the game semantics, algorithm, required record/inference shape, and expected scale.