You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update AGENTS.md to match the live scaffold contract after the shell split. The guidance now treats solverforge as the universal generated dependency while limiting solverforge-ui, solverforge-maps, ui_source, and UI model output to web-shell projects.
Record that the public shell selector is web, api, or cli and that Tauri remains deferred. This prevents future agent work from documenting aliases or implementing placeholder shell paths that the current codebase does not expose.
Copy file name to clipboardExpand all lines: AGENTS.md
+10-7Lines changed: 10 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,14 +9,16 @@
9
9
Current scaffold policy:
10
10
- current CLI package version is `2.1.0`
11
11
- minimum supported Rust version is `1.95`, matching the current SolverForge runtime crates
12
-
- generated projects currently target `solverforge 0.13.1`, `solverforge-ui 0.6.5`, and `solverforge-maps 2.1.4` as their crate dependency versions
13
-
-`solverforge new <name>` is the only public scaffold path and produces a neutral shell
12
+
- generated projects currently target `solverforge 0.13.1`; the default web shell additionally targets `solverforge-ui 0.6.5` and `solverforge-maps 2.1.4`
13
+
-`solverforge new <name>` is the only public scaffold path and produces a neutral app shell
14
+
-`--shell web|api|cli` is the current public shell selector; `web` is the default, `api` omits frontend assets, and `cli` omits Axum/SSE routes and frontend assets
15
+
- Tauri scaffolding is deferred; do not document or implement a public Tauri shell unless that work is explicitly reopened
14
16
- users shape the app afterward through facts, entities, solution/score metadata, variables, constraints, and generated data
15
17
- generated docs and CLI version output must distinguish CLI version from scaffold runtime/UI target
16
18
-`scalar` and `list` are the only planning variable kinds accepted by the public CLI and app-spec projection
17
19
-`standard` is a demo size label only; do not reintroduce it as a variable kind or scaffold family
18
20
-`templates/scalar/generic` is the embedded neutral scaffold used by `solverforge new`; `templates/list/generic` is not a public `new` selector
19
-
- generated `Cargo.toml` files must carry `rust-version = "1.95"` plus the current explicit web, serialization, and utility dependency baselines from the template files
21
+
- generated `Cargo.toml` files must carry `rust-version = "1.95"` plus the current explicit dependency baselines for the selected shell from the template/materialization code
20
22
21
23
When changing templates or scaffold behavior, follow the current repo reality over older starter-template assumptions. Do not add legacy aliases, compatibility shims, migration fallbacks, or automatic rewrites for unmanaged pre-refactor file shapes unless that is explicitly requested.
22
24
@@ -62,7 +64,7 @@ Current end-to-end scenario policy:
62
64
Do not claim mixed seeded solving is supported until the underlying runtime actually supports that combination.
63
65
64
66
For scaffold changes, prefer assertions that check the generated contract directly:
65
-
- dependency wiring for `solverforge`, `solverforge-ui`, and `solverforge-maps`
67
+
- dependency wiring for the selected shell: `solverforge` everywhere, `solverforge-ui` and `solverforge-maps` only for web-shell projects
- scaffolded `cargo check` against the published crate targets by default; prerelease sibling-checkout validation must be explicit via `SF_USE_LOCAL_PATCHES=1`, which writes a temporary `.cargo/config.toml` patch file without rewriting generated `Cargo.toml`
76
78
77
79
## Commit & Pull Request Guidelines
@@ -95,8 +97,8 @@ domain shapes that users create afterward:
95
97
- Pause resumes from the runtime-retained checkpoint, Stop maps to `/jobs/{id}/cancel`, and Delete is terminal cleanup only
96
98
- progress-only events update status, not the rendered board
97
99
- generated demo data flows expose `/demo-data` as the catalog and `/demo-data/{id}` for selected data; frontends derive the default ID from the catalog and must not hard-code `/demo-data/STANDARD`
98
-
- generated UI composition should use shipped `solverforge-ui` primitives before adding template-owned JavaScript
99
-
-`src/data/data_seed.rs` and `static/generated/ui-model.json` are compiler-owned; user-facing seams are the `solverforge generate data` command, stable `src/data/mod.rs` wrapper, and `static/sf-config.json`
100
+
- generated web-shell UI composition should use shipped `solverforge-ui` primitives before adding template-owned JavaScript
101
+
-`src/data/data_seed.rs` and web-shell `static/generated/ui-model.json` are compiler-owned; user-facing seams are the `solverforge generate data` command, stable `src/data/mod.rs` wrapper, and web-shell`static/sf-config.json`
100
102
- generated domain and constraint mutation is canonical-only: current managed block shapes are required, not inferred from old layouts
101
103
102
104
Do not reintroduce:
@@ -105,6 +107,7 @@ Do not reintroduce:
105
107
- docs that blur CLI version with runtime/UI target
106
108
-`standard` as a planning variable kind
107
109
- hidden scaffold/template aliases
110
+
- Tauri or other shell aliases before a real scaffold implementation exists
108
111
- fallback migration code for legacy generated files
0 commit comments