- strict-mode matrix: missing variables (top-level, in {{#each}},
in {{#if}} then and else branches) fail typed through both
sinks, never silent; the write sink's no-atomicity contract
pinned by its row
- error-surface completeness: six failure paths each mapping to
exactly one typed variant; registrations never half-survive;
hostile context values render clean through both sinks and both
escape policies with no panic paths
- two-sink correctness: byte-identical output over the ssr-shaped
and code-shaped fixture postures, re-exercised over the proof
fixture files (goldens stay pinned by the proof binaries)
- AGENTS.md: the wasm release build becomes standing and
unconditional; the feature-matrix coincide-today posture and the
handlebars feature-inspection posture documented honestly
(ADR-003, ADR-009)
Verification: cargo test (all green), cargo test --all-features
(identical), clippy -D warnings clean, fmt clean, doc clean, wasm
release build clean, handlebars tree features default-only,
taskgraph validate clean
Second steer from the 2026-11-06 discussion: the document-vs-code
split carries a false distinction. The core is contexts + templates +
partials to text; HTML, Rust, and WGSL are three data points of the
same shape (handlebars native case, reader POC, alkminer kernel
builder). Per-target residue is only the template set, context shape,
emit posture, and validity pinning. WGSL recorded as confirmed coming
(JS runtime needs codegen generating WGSL); AGENTS.md lifecycle
phrasing aligned.
- AGENTS.md: adopt alkssh conventions (conventional commits, small
focused commits, taskgraph section, lifecycle status, verification
grep gate); add convention 12 (no em dashes in prose, U+2014)
- README.md: note the unpaused status and the alkforge SSR consumer
- phase-0.md: alkforge SSR enters as branch 0 (in-library HTML
rendering, two target classes bound the core generality), new
OQ-GN-09 for the SSR library posture, unpause context section,
alktype 0.4.0 revalidation notes
- reader-poc-summary.md: re-validation note for alktype 0.4.0
(parity + bench unchanged); em dashes restructured repo-wide