releases
solverforge-cli 3.3.3: Score Rewrites and Demo-Data Resync
solverforge-cli 3.3.3 makes generate score rewrite every surface that carries the score type — constraint modules, the service, the DTO contract, lib.rs, and the MCP files — so a score change leaves a project that still compiles, and makes destroy resync the generated demo data so removed types do not stay behind in the seed.
solverforge-cli 3.3.3 is published on crates.io and released on GitHub
(2026-10-02), so cargo install solverforge-cli installs 3.3.3 directly. The
previous package, solverforge-cli 3.3.2, carried the same scaffold targets;
this release fixes two generator defects and changes no dependency. Use
solverforge --version to confirm exactly what an installed binary carries.
New projects target:
solverforge 0.19.7solverforge-ui 0.9.0for the web shellsolverforge-maps 2.1.4for the web shellrmcp 3.5.0for the MCP shell
What Changed
generate score rewrites every score-bearing surface
generate score updated only the solution file. The score type is not local to
the solution: it appears in every generated constraints/*.rs module, in
solver/service.rs, in api/dto.rs, in lib.rs, and in the MCP files. A score
change therefore produced a project that no longer compiled, while the command
reported success.
The command now precomputes its rewrites before writing anything — the solution, every constraint module, and the generated contract files — so the rename lands atomically or not at all. A run that asks for the score type the project already uses is a no-op instead of an error.
Neutral-scaffold replacement shares that same contract path list. That closes
the identical gap for src/mcp/dto.rs and src/mcp/tasks.rs when
generate solution replaces the neutral shell, which previously rewrote the
solution type and left the MCP contract referencing the old one.
destroy resyncs the generated demo data
destroy fact, destroy entity, and destroy constraint rewrote the domain
and the app spec but skipped the data-seed re-render, so a removed type stayed
behind in src/data/data_seed.rs and broke the build.
Destroy now runs the same demo-data sync the generate paths use. It skips that
render after destroy solution, where no planning solution remains to render
the seed against — the one case where re-rendering would be wrong rather than
merely unnecessary.
Published Version Boundaries
| Surface | Version | Scaffold target |
|---|---|---|
| CLI | solverforge-cli 3.3.3 |
solverforge 0.19.7, web solverforge-ui 0.9.0 + solverforge-maps 2.1.4, MCP rmcp 3.5.0 |
| CLI | solverforge-cli 3.3.2 |
solverforge 0.19.7, web solverforge-ui 0.9.0 + solverforge-maps 2.1.4, MCP rmcp 3.5.0 |
| CLI | solverforge-cli 3.3.1 |
solverforge 0.19.7, web solverforge-ui 0.9.0 + solverforge-maps 2.1.4, MCP rmcp 3.5.0 |
| CLI | solverforge-cli 3.3.0 |
solverforge 0.19.7, web solverforge-ui 0.9.0 + solverforge-maps 2.1.4, MCP rmcp 3.5.0 |
| CLI | solverforge-cli 3.2.0 |
solverforge 0.19.7, web solverforge-ui 0.9.0 + solverforge-maps 2.1.4, MCP rmcp 3.4.0 |
| CLI (previous line) | solverforge-cli 3.1.0 |
solverforge 0.19.5, web solverforge-ui 0.9.0 + solverforge-maps 2.1.4, MCP rmcp 3.4.0 |
The scaffold targets are unchanged since 3.3.0, and none of the 3.3.x patches
retargets the core runtime: the current core release, solverforge 0.19.9, is
ahead of the solverforge 0.19.7 scaffold line by design.
Patch History
| Version | Date | Notes |
|---|---|---|
3.3.3 |
2026-10-02 | Rewrites every score-bearing surface on generate score and resyncs the generated demo data on destroy; no scaffold-target change. |
3.3.2 |
2026-10-01 | Streams generated constraint skeletons from the #[planning_solution] accessors and aligns the bundled skill docs; no scaffold-target change. |
3.3.1 |
2026-09-29 | Aligns the CLI dependency baseline with the current releases; no scaffold-target change. |
3.3.0 |
2026-09-29 | Retargets the MCP shell to rmcp 3.5.0. |
3.2.0 |
2026-09-29 | Retargets fresh scaffolds to solverforge 0.19.7. |
3.1.0 |
2026-09-16 | Targets the latest released scaffold crates, writes MCP configs for opencode, Claude Code, and Cursor, consolidates the agent skills behind the agent-centric installer with ownership receipts, and fixes the MCP solve result schema. |
3.0.0 |
2026-09-15 | Adds the mcp scaffold shell, solverforge connect, countable scalar ranges, the full list-metadata flags, and the solverforge-modeling agent skill; moves fresh scaffolds to solverforge 0.19.4. |
Upgrade Checklist
- Re-run
solverforge --version/solverforge -Vafter installing to confirm the binary’s scaffold targets; 3.3.3 changed no target. - If a generated project does not compile after a
generate scorerun made with an older CLI, re-runsolverforge generate score <SCORE_TYPE>with 3.3.3 to rewrite the remaining surfaces, and checksolverforge.app.tomlstill names the score type you intend. - If a
destroymade with an older CLI left a removed type insrc/data/data_seed.rs, re-run the destroy command with 3.3.3 or runsolverforge generate datato re-render the seed. - Projects already consistent need no change; both fixes are generator-side.
Where to read next
Use the CLI manual for the current command surface,
the generator commands page for
generate score, generate solution, and the destroy subcommands, and the
configuration page for
solverforge.app.toml.