diff --git a/Cargo.toml b/Cargo.toml index c264bbf..ce17f2a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,10 +4,10 @@ version = "0.1.0" edition = "2021" rust-version = "1.85" license = "MIT OR Apache-2.0" -description = "Template-based codegen engine: handlebars-rust templates over alktype BAST documents, producing readers, writers, validators, and protocol handlers." +description = "Text-generation engine: handlebars-rust templates rendered over serde-serializable contexts with strict, deterministic output, for HTML SSR, codegen, and WGSL artifacts." repository = "https://git.alk.dev/alkdev/alkgen" readme = "README.md" -keywords = ["codegen", "handlebars", "templates", "bast", "alktype"] +keywords = ["handlebars", "templates", "text-generation", "templating", "html"] categories = ["development-tools", "template-engine"] exclude = [".opencode/", "AGENTS.md", "docs/reviews/", "docs/research/", "docs/sdd_process.md"] @@ -16,9 +16,9 @@ name = "alkgen" [features] default = [] +bast-codegen = [] [dependencies] -alktype = "0.4.0" handlebars = "6.4" serde = { version = "1", features = ["derive"] } serde_json = { version = "1", features = ["preserve_order"] } diff --git a/src/lib.rs b/src/lib.rs index b834027..61e2b75 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1 +1 @@ -//! alkgen: template-based codegen engine over alktype BAST documents. +//! alkgen: text-generation engine on handlebars-rust templates over serde-serializable contexts. diff --git a/tasks/implementation/w1-manifest.md b/tasks/implementation/w1-manifest.md index b1cd031..26a8e4f 100644 --- a/tasks/implementation/w1-manifest.md +++ b/tasks/implementation/w1-manifest.md @@ -1,7 +1,7 @@ --- id: w1-manifest name: "Wave 1: manifest landing (dep pins, alktype removal, feature graph)" -status: pending +status: completed depends_on: [] scope: single risk: low @@ -44,15 +44,15 @@ task starts before it. ## Acceptance Criteria -- [ ] `handlebars` pinned `6.4`; `cargo tree` shows no `walkdir` and +- [x] `handlebars` pinned `6.4`; `cargo tree` shows no `walkdir` and no `rhai` (off-limits features provably not pulled in) -- [ ] `alktype` absent from the dependency tree; `bast-codegen` +- [x] `alktype` absent from the dependency tree; `bast-codegen` declared under `[features]` gating nothing -- [ ] package description/keywords updated to the text-generation +- [x] package description/keywords updated to the text-generation framing; version still 0.1.0 -- [ ] `cargo build --target wasm32-unknown-unknown --release` passes +- [x] `cargo build --target wasm32-unknown-unknown --release` passes on the landed dep set (ADR-003 validation posture) -- [ ] `cargo test`, `cargo clippy --all-targets -- -D warnings`, +- [x] `cargo test`, `cargo clippy --all-targets -- -D warnings`, `cargo fmt --check`, `taskgraph validate` pass ## References @@ -79,3 +79,36 @@ task starts before it. ## Summary > Agent fills this on completion. + +Landed 2026-11-06. `Cargo.toml` is the ADR-002/ADR-009 posture: + +- `handlebars = "6.4"` from crates.io on the substrate's default + features (resolves to 6.4.4); no extra features enabled. `cargo + tree` (also with `-e features`) shows zero `walkdir` and zero + `rhai` hits, so `dir_source` and `script_helper` are provably not + pulled in (ADR-002 decision 4, ADR-003). +- `alktype` removed from `[dependencies]` entirely, matching the + interpretation in the Notes: with no consuming code, an + `optional = true` entry or a `bast-codegen` alias to nothing is the + same dead entry with more moving parts. The re-add lands with the + bast-rust-codecs set as `bast-codegen = ["dep:alktype"]` (flagged + for the wave-1 gate to confirm against ADR-009 item 4). +- `[features]` declares `bast-codegen = []` (name reserved per + ADR-009; gates nothing; first consuming code arrives with + bast-rust-codecs). `default = []` unchanged. +- Package metadata moved to the text-generation framing (ADR-001): + description now reads "Text-generation engine: handlebars-rust + templates rendered over serde-serializable contexts with strict, + deterministic output, for HTML SSR, codegen, and WGSL artifacts"; + keywords are `handlebars`, `templates`, `text-generation`, + `templating`, `html` (the BAST/alktype/codegen keywords go). The + crate-level doc line in `src/lib.rs` updated to match. Version + stays `0.1.0` (the publish task verifies, never bumps). +- `serde` + `serde_json` with `preserve_order` and `thiserror = "2"` + unchanged (convention 5; the error model task's base). + +Verification on the landed dep set: `cargo test`, +`cargo clippy --all-targets -- -D warnings`, `cargo fmt --check`, +`cargo build --target wasm32-unknown-unknown --release`, +`taskgraph validate` (14 tasks valid), and the tree inspection above, +all green.