refactor: drop alktype dependency; add BAST doc for chunk header

- Remove alktype from Cargo.toml (its only usage was a thin wrapper
  over jsonschema::options().build())
- Replace alktype::validation::build_validator with direct jsonschema
  in dispatch.rs
- Add docs/architecture/chunk-header.bast.json — the chunk header's
  BAST (Binary Abstract Syntax Tree) machine-readable wire spec
- Embed as channels::wire::CHUNK_HEADER_BAST via include_str! so
  downstream Rust crates can consume it without a file lookup
- Add test asserting the embedded BAST doc is valid JSON and matches
  the wire format
- Update AGENTS.md §10 and implementation-specialist.md: BAST docs
  are the contract; trivial/hot-path formats stay hand-rolled,
  complex formats use the alktype engine or codegen

Verification:
- cargo test: 543 passed, 0 failed
- cargo clippy --all-targets -- -D warnings: clean
- cargo fmt --check: clean
- cargo doc --no-deps: clean
- BAST doc compiles + round-trips against alktype v0.2.0 engine
This commit is contained in:
glm-5.2 committed 2026-08-17 06:08:13 +00:00
1 parent 08e7df2aa0
commit 44d4b496e8
10 files changed
+95 -42

No files matched your search

+5 -1
View File
@@ -355,7 +355,11 @@ These were checked and are correct — the rename does not affect them:
- **No logic changes:** the rename is purely mechanical. No function
signatures, trait bounds, or control flow change. ✓
- **No new dependencies, no feature flag changes.** ✓
- **`alktype` dependency unaffected.** ✓
- **`alktype` dependency:** dropped in a follow-up commit (the only
usage, `alktype::validation::build_validator`, was a thin wrapper
over `jsonschema`; the chunk header BAST document
`docs/architecture/chunk-header.bast.json` carries the wire-format
spec without the dependency). ✓
- **483 tests pass before the rename; they should all pass after.** ✓
- **The `alknet/` prefix in `derive_alpn_from_op_name` is the only
non-mechanical change** — the function's logic stays the same, only