Rust Compatibility Guide
This guide separates the Rust combination that was executed from combinations that are only documented or discoverable.
Verified Combination
| Layer | Verified value | Evidence | Conclusion |
|---|---|---|---|
| Generator Server | 20260710.110004 | Official endpoint and live generation | Current generation baseline. |
| Cargo client | 2.0.8 | Installed help/source and live service calls | services, evaluate, and dynamic targets verified. |
| Targets | rust-lib-core, rust-app-console | Live generation | Both generated and passed cargo test. |
| Runtime/provider | TeaQL 4.1.1, SQLite provider 4.1.1 | Generated manifests and clean tests | Executed combination. |
| SQLite driver | rusqlite 0.32 with bundled SQLite | Generated manifest | Executed provider dependency. |
| Rust edition | 2021 | Generated manifests | Generated language edition. |
| Toolchain used | nightly Rust/Cargo 1.99.0 | Golden Path build output | Tested toolchain only; not MSRV evidence. |
The console started with SQLite, and an intent-declared query plus audited
mutation succeeded. A model change adding email and audit masking regenerated
the expected APIs/metadata and passed tests without TeaQL dependency drift.
Target Layout Contract
The generated console manifest depends on ../rust-lib-core/lib. Generate the
two outputs as siblings:
generated/
rust-lib-core/
lib/Cargo.toml
rust-app-console/
Cargo.toml
The console also contains its own generated lib/, but that copy does not
replace the sibling path dependency in the observed manifest.
Known Boundaries
- The minimum supported Rust version is undefined; a nightly build is not an MSRV statement.
- Generated
sample_data.rscontains two queries withpurposebut nocomment; do not copy that template defect into handwritten code. - The verified model seeds its domain-root candidate. Creating another root caused a SQLite primary-key conflict; reuse the seeded root according to model semantics.
- PostgreSQL, MySQL, Meilisearch, and memory paths do not have equivalent clean versioned evidence in this repository.
Upgrade or Adoption Check
- Verify
cargo teaql --versionand queryservices. - Evaluate before generation; read the Markdown report completely.
- Generate both targets into clean sibling directories.
- Record generated
Cargo.toml/Cargo.lock, edition, runtime, provider, and database-driver versions. - Run tests for both targets with the selected toolchain.
- Start the application against a disposable database.
- Execute one intent-declared query and one audited mutation.
- Regenerate after a one-field model change and inspect API/audit metadata.
- Repeat provider-specific transaction, schema, time, text, and ID tests.
Related pages: