build(manifest): dep posture per ADR-002/009; drop alktype; declare bast-codegen

- pin handlebars = "6.4" on default features; tree verified free of walkdir and rhai
- remove alktype from deps: no consuming code in v0.1.0, so an optional
  entry would be a dead feature; re-add lands with bast-rust-codecs as
  bast-codegen = ["dep:alktype"] (flagged for the wave-1 gate)
- declare [features] bast-codegen = [] (name reserved per ADR-009, gates nothing)
- package metadata to the text-generation framing (ADR-001): description,
  keywords, and the src/lib.rs crate doc; version stays 0.1.0

Verified: cargo test, clippy -D warnings, fmt --check,
wasm32 release build, taskgraph validate, dep-tree inspection
This commit is contained in:
glm-5.3-flash committed 2026-11-06 19:51:04 +00:00
1 parent b154b65bed
commit c678615f2d
3 files changed
+43 -10

No files matched your search

+3 -3
View File
@@ -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"] }
+1 -1
View File
@@ -1 +1 @@
//! alkgen: template-based codegen engine over alktype BAST documents.
//! alkgen: text-generation engine on handlebars-rust templates over serde-serializable contexts.
+39 -6
View File
@@ -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.