11 Commits
Author SHA1 Message Date
glm-5.3-flash a91ea2ec89 docs(architecture): phase 1 base: text-generation core specs, ADRs 001-010, OQ tracker
- overview.md, core.md, emit.md, targets.md: modular spec set for the
  generalized engine (contexts + templates + partials -> text), with
  the three targets (ssr-html, bast-rust-codecs, call-handlers,
  wgsl-jit) as template sets plus emit postures
- ADRs 001-010: one core/template-set split, handlebars 6.4 strict
  substrate, sync/wasm/deterministic posture, typed contexts with
  builders, per-registry escaper, SSR library posture, typed direct
  codecs output contract, template-set ownership, feature gating,
  library-only v1
- open-questions.md: OQ-01..OQ-08 centralized tracker carrying phase-0
  residue (GN-01/02/07/09) with three deferred(scope) entries plus a
  resolved disposition for phase-0 OQ-GN-04
- tasks/architecture/: external-trigger tracker tasks paired with the
  deferred OQs (taskgraph validate passes)
- phase-0.md checklist dispositioned for OQ-GN-04; AGENTS.md lifecycle
  updated to phase 1

Verification: taskgraph validate (4 tasks OK), cargo fmt --check,
cargo test, em-dash grep clean; architecture-reviewer pass returned
zero critical issues
2026-11-06 08:18:43 +00:00
glm-5.3-flash 93d70253d7 docs(phase0): correct the core framing: text generation, not two target classes
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.
2026-11-06 07:55:34 +00:00
glm-5.3-flash bbd7d8164b docs(phase0): core generalization steer: one core, three targets
Principal steer: generalize the shared core across HTML generation
(branch 0), Rust codecs (branch 1), and WGSL/wasm-JIT (branch 3
territory); dev-tool emit demoted from the crate's definition to one
projection. Records the core/per-target split and the render-purity
requirement the wasm JIT fixes for Phase 1; refines OQ-GN-09.
2026-11-06 07:51:12 +00:00
glm-5.3-flash 5e5c54a869 docs(phase0): record 2026-11-06 unpause for alkforge SSR; adopt no-em-dash convention
- 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
2026-11-06 06:05:15 +00:00
glm-5.3-flash 5dee37260c docs: typed output validated — 291-322ns, zero deps, parity clean
- (b) direct codecs resolved AND validated: generated types+codecs,
  ReadResult<Packet>, no serde/serde_json/alktype in output
- benchmark: ~10x faster than Value-shaped generated, ~15-20x faster
  than interpreter, ~4x off raw no-alloc baseline (String/Vec allocs)
- F-6: names come from the BAST doc (plan erases $defs names);
  OQ-GN-02 refined: plan for semantics, BAST for names
- V{key} variant naming for numeric discriminator keys
2026-09-09 07:40:56 +00:00
glm-5.3-flash a52c8a6b37 docs: typed-output direction set — russh-sftp shape, (a) vs (b) fork
- branch 1 output contract targets typed Rust structs (no Value
  materialization): the kernel-fusion move, alkminer precedent
- russh-sftp protocol-type shape as target (plain structs, field
  order = decode order, shared cursor codec core)
- fork: (a) serde-derive + generic Deserializer (interop) vs
  (b) generated direct codecs (zero overhead, the 72ns shape)
- follow-up #1 sharpened: typed-output POC renders Packet both ways,
  benchmarks against the raw-decode baseline
2026-09-09 07:23:56 +00:00
glm-5.3-flash b86dadcf77 docs: reader POC complete — OQ-GN-05/06/08 resolved with evidence
- reader-poc-summary.md: plan-driven handlebars codegen validated
  end-to-end (parity-exact vs interpreter, ~1.9x faster, 7 tests)
- OQ-GN-05 resolved: self-contained generated code (a), uniform
  cursor addressing (F-1); OQ-GN-06: serde_json-only dependency
- decomposition finding: 20x-vs-hand-rolled gap is Value allocation,
  not dispatch; output-contract ADR is the big Phase 1 decision
- F-1..F-5 findings; Phase 1 follow-up list
2026-09-09 07:12:01 +00:00
glm-5.3-flash 79c2794a99 docs: phase-0 — OQ-GN-01 resolved: dev tool, static files, module output
- clarification: alkcall is a library others build on; alkgen branches
  1+2 are a dev tool generating static files into downstream projects
  (protocol crates alktty/alktunnels/sftp, cloud integrations vast.ai/
  runpod) from provided schemas (BAST or jsonschema/openapi)
- OQ-GN-01 resolved: module-level output for v1; fragments out
  (defeats dev-tool purpose), crate generation out for v1 (composed
  from modules later if asked). Residue: file partitioning policy
- OQ-GN-06 reframed: generated files land in projects that don't
  depend on alktype today, so dependency footprint is consumer's
  choice, not wire-shaped; leaning self-contained, POC decides
- branch 2 reframed: static counterpart of alkhttp from_* adapters
2026-09-08 08:58:50 +00:00
glm-5.3-flash 0e9bdf65ab docs: phase-0 — OQ-GN-02 direction set: plan-driven contexts
- plans for offsets/sizes (already computed+validated by the engine,
  free at generation time since alktype is already a dep), BAST for
  descriptive metadata; drift risk inverts into ordinary
  dependency-upgrade tracking of alktype's plan API
- residue: exact plan->context projection is the Phase 1 context-
  builder spec task
2026-09-08 08:46:57 +00:00
glm-5.3-flash ea1ef10bc3 docs: phase-0 — resolve OQ-GN-03 posture, calibrate OQ-GN-08 POC
- OQ-GN-03 resolved as posture: interpreter/compiler duplication is
  the point (dynamic vs static deployment profiles); alktype near
  schema-method floor, ~20x off hand-rolled; alkgen's value prop is
  recovering most of that gap. Drift stays the standing risk.
- OQ-GN-08 POC 1 calibration: three-way benchmark (plan-walk vs
  generated vs hand-rolled) doubles as drift check + perf validation;
  OQ-GN-05 boundary reframed as performance trade
2026-09-08 08:44:52 +00:00
glm-5.3-flash 105d553353 docs: phase-0 findings — prior art survey + OQ-GN-01..08
- settled: stack shape, wasm-clean validated, handlebars 6.4 pin,
  strict-mode posture, template-is-code, determinism
- prior art: typebox-rs codegen, alkminer-v1 ShaderBuilder, alktype
  plans as implied spec, alkhttp adapters
- OQs: output unit, context source (BAST vs plans), interpreter/
  compiler duplication cut, delegation boundary, validation strategy,
  POC scope
2026-09-08 08:27:48 +00:00