Documentation
Current SolverForge release, published package status, completed runtime surface, and roadmap.
Status & Roadmap
Current Status
| Component | Status | Description |
|---|---|---|
| Rust Core | Published | Native Rust constraint solver published as solverforge 0.11.1 |
| CLI Scaffold | Published | solverforge-cli 2.0.4 scaffolds solverforge 0.11.1, solverforge-ui 0.6.5, and solverforge-maps 2.1.4 |
| UI | Published | solverforge-ui 0.6.5 is the current UI patch line |
| Maps | Published | solverforge-maps 2.1.4 carries matrix route-distance access |
Try It Today
- Start with solverforge-cli Getting Started for the generic app shell.
- Continue with the SolverForge Hospital Use Case or the SolverForge Deliveries Use Case.
- Use Projected Scoring Rows when scoring needs retained rows derived from source entities or joined pairs.
Completed Runtime Surface
- Constraint Streams API: source-aware generated accessors,
for_each,filter, unifiedjoin(...),flatten_last,project(...),group_by,balance,if_exists(...),if_not_exists(...), terminal scoring methods, and.named(...) - Score Types: SoftScore, HardSoftScore, HardMediumSoftScore, HardSoftDecimalScore, BendableScore
- Score Analysis: facade-level
ScoreAnalysisandConstraintAnalysis, plus lower-level detailed match/explanation APIs insolverforge-scoring - SERIO Engine: retained incremental scoring for real-time optimization
- Solver Phases: construction heuristics, local search, exhaustive search, partitioned search, and VND
- Move System: scalar, list, grouped scalar, conflict repair, cartesian, and composite move families
- SolverManager API: retained job lifecycle with progress, best-solution, pause/resume, completion, cancellation, failure, snapshots, and snapshot-bound analysis
- Configuration: stock
solver.toml, TOML/YAML parsing helpers, bounded scalar candidates, grouped scalar selectors, level-aware simulated annealing, and per-solution config overlays
Runtime Notes
- 0.11.1 published baseline: the core crate version is
0.11.1and the Rust toolchain floor remains1.95. - Facade configuration exports: app code can import
SolverConfig,PhaseConfig,MoveSelectorConfig,AcceptorConfig,ForagerConfig,SolverConfigOverride, and related enums directly fromsolverforge. - Facade recording director export: extension code that needs trial-move
rollback can import
RecordingDirectorfrom the facade besideDirectorandScoreDirector. - Joined-pair projected rows: cross joins can use
.project(|left, right| row)to retain one scoring row per joined pair. - Clone-free projected paths: projected outputs, projected self-join keys,
and grouped collector values no longer need
Clonein the0.11.xrelease line. - Borrowed constraint identity: scoring metadata preserves full
ConstraintRefidentity borrowed from the owning constraint. - Model-owned scalar hooks:
candidate_values,nearby_value_candidates,nearby_entity_candidates,construction_entity_order_key, andconstruction_value_order_keydeclare bounded scalar neighborhoods and construction ordering on the model. - Exact retained telemetry: generated, evaluated, accepted, not-doable, acceptor-rejected, forager-ignored, hard-delta, conflict-repair, and construction-slot counters are retained as authoritative counters.
Roadmap
Native Solver Complete
The Rust-native constraint solver, derive macros, SERIO scoring engine, retained runtime lifecycle, and stock configuration surface are in place.
Rust API Refinement
Current work focuses on tightening public API contracts, making scoring and runtime paths easier to explain, and keeping source, docs, examples, and CLI scaffolds aligned as releases move.
Language Bindings
Python and other language bindings remain future-facing. The Rust core remains the source of truth for solver behavior and docs.
How You Can Help
- Follow the getting started guides and share feedback.
- Open an issue for bugs or unclear docs.
- Star the GitHub repo and share real planning use cases.