Skip to content

Commit 5597c33

Browse files
committed
fix: retarget scaffolds to solverforge 0.8.3
SolverForge 0.8.3 is now the published runtime line and keeps the same API contract as 0.8.2, so newly scaffolded applications should target the new crates.io release directly. Update the scaffold runtime metadata, generated dependency spec, README and AGENTS guidance, and scaffold contract assertions to report solverforge 0.8.3 consistently. This also restores the runtime source disclosure to crates.io so solverforge --version, generated README output, and scaffold assertions match the emitted Cargo.toml dependency. Verification: - cargo run --quiet -- --version - cargo test --test scaffold_test -- --nocapture - cargo test --test runtime_pipeline_test -- --nocapture --test-threads=1
1 parent 31f81da commit 5597c33

5 files changed

Lines changed: 12 additions & 12 deletions

File tree

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
`solverforge-cli` is the default entry point for new SolverForge applications. Treat the CLI as its own versioned product, distinct from the runtime crates and UI assets that generated projects target.
88

99
Current scaffold policy:
10-
- generated projects currently target `solverforge 0.8.1` and `solverforge-ui 0.4.2` as their crate dependency versions
10+
- generated projects currently target `solverforge 0.8.3` and `solverforge-ui 0.4.2` as their crate dependency versions
1111
- `solverforge new <name>` is the only public scaffold path and produces a neutral shell
1212
- users shape the app afterward through facts, entities, variables, constraints, and generated data
1313
- generated docs and CLI version output must distinguish CLI version from scaffold runtime/UI target

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Default entry point for new SolverForge projects.
44

55
Use this CLI to scaffold, grow, and manage SolverForge applications. Generated
6-
projects currently target `solverforge 0.8.1` and `solverforge-ui 0.4.2` as
6+
projects currently target `solverforge 0.8.3` and `solverforge-ui 0.4.2` as
77
their crate dependency versions, and that target policy is part of the product surface rather
88
than an invisible implementation detail.
99

src/commands/new.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ fn scaffold(
172172
}
173173

174174
fn solverforge_dep_spec() -> String {
175-
"{ version = \"0.8.1\", features = [\"serde\", \"console\", \"verbose-logging\"] }".to_string()
175+
"{ version = \"0.8.3\", features = [\"serde\", \"console\", \"verbose-logging\"] }".to_string()
176176
}
177177

178178
fn solverforge_ui_dep_spec() -> String {

src/scaffold_target.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
pub const RUNTIME_TARGET_LABEL: &str = "solverforge 0.8.1";
2-
pub const RUNTIME_TARGET_DISPLAY: &str = "SolverForge crate target 0.8.1";
3-
pub const RUNTIME_SOURCE_PATH: &str = "crate target: solverforge 0.8.1";
1+
pub const RUNTIME_TARGET_LABEL: &str = "solverforge 0.8.3";
2+
pub const RUNTIME_TARGET_DISPLAY: &str = "SolverForge crate target 0.8.3";
3+
pub const RUNTIME_SOURCE_PATH: &str = "crates.io: solverforge 0.8.3";
44
pub const UI_SOURCE_PATH: &str = "crates.io: solverforge-ui 0.4.2";
55

66
pub const LONG_VERSION_TEXT: &str = concat!(
77
"solverforge-cli ",
88
env!("CARGO_PKG_VERSION"),
99
"\nCLI version: ",
1010
env!("CARGO_PKG_VERSION"),
11-
"\nScaffold runtime target: SolverForge crate target 0.8.1",
11+
"\nScaffold runtime target: SolverForge crate target 0.8.3",
1212
"\nRuntime source: ",
13-
"crate target: solverforge 0.8.1",
13+
"crates.io: solverforge 0.8.3",
1414
"\nUI source: ",
1515
"crates.io: solverforge-ui 0.4.2",
1616
);

tests/scaffold_test.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
use std::path::{Path, PathBuf};
77
use std::process::Command;
88

9-
const RUNTIME_DEP_LABEL: &str = "crate target: solverforge 0.8.1";
9+
const RUNTIME_DEP_LABEL: &str = "crates.io: solverforge 0.8.3";
1010
const UI_DEP_LABEL: &str = "crates.io: solverforge-ui 0.4.2";
1111
const CLI_VERSION: &str = env!("CARGO_PKG_VERSION");
1212

@@ -91,7 +91,7 @@ fn test_version_output_distinguishes_cli_from_runtime_target() {
9191
assert!(
9292
stdout.contains(&format!("solverforge-cli {}", CLI_VERSION))
9393
&& stdout.contains(&format!("CLI version: {}", CLI_VERSION))
94-
&& stdout.contains("Scaffold runtime target: SolverForge crate target 0.8.1")
94+
&& stdout.contains("Scaffold runtime target: SolverForge crate target 0.8.3")
9595
&& stdout.contains(RUNTIME_DEP_LABEL)
9696
&& stdout.contains(UI_DEP_LABEL),
9797
"version output should distinguish the CLI version from the scaffold runtime target: {}",
@@ -201,7 +201,7 @@ fn test_new_creates_neutral_project_files() {
201201
);
202202
assert!(
203203
cargo_toml.contains(
204-
"solverforge = { version = \"0.8.1\", features = [\"serde\", \"console\", \"verbose-logging\"] }"
204+
"solverforge = { version = \"0.8.3\", features = [\"serde\", \"console\", \"verbose-logging\"] }"
205205
) && cargo_toml.contains("solverforge-ui = { version = \"0.4.2\" }"),
206206
"unified scaffold should point at the current SolverForge and solverforge-ui crate targets: {}",
207207
cargo_toml
@@ -274,7 +274,7 @@ fn test_new_readme_records_cli_and_runtime_versions_separately() {
274274
readme.contains(&format!(
275275
"CLI version used to scaffold this project: `{}`",
276276
CLI_VERSION
277-
)) && readme.contains("SolverForge runtime target for this scaffold: `solverforge 0.8.1`")
277+
)) && readme.contains("SolverForge runtime target for this scaffold: `solverforge 0.8.3`")
278278
&& readme.contains(RUNTIME_DEP_LABEL)
279279
&& readme.contains(UI_DEP_LABEL)
280280
&& readme.contains("configured crate dependency targets")

0 commit comments

Comments
 (0)