architect.md:
- ADR-009 §"What this framework is NOT" → ADR-032 — the pointer was an
alknet-numbering leftover; in-crate ADR-009 is BiStream-as-handler-leaf,
the door-framework section lives in ADR-032. Same collision class the
docs pass (5f019c0) fixed in the spec.
- OQ status list now includes deferred(scope), deferred(unclear),
dissolved — matching the tracker's actual vocabulary and this prompt's
own Safe-Exit section (they contradicted each other).
- tasks/architecture/ softened: this repo has no tasks/ dir; the OQ
"Blocked on:" field is the tracker of record.
- Deferral-blocker examples re-keyed off alknet ("alknet-http crate
spec" → the composition-layer crate spec, OQ-43; "alknet-agent crate
spec" → "the agent crate's spec") — examples were teaching the exact
repo-pinned blocker class just cleaned out of the OQs.
coordinator.md:
- Example spawn template said "implementation specialist for
@alkdev/alknet" with alknet-era constraints ("feature flags for
transports (tls, iroh, acme)") — agents copying the template would
re-introduce the residue into every spawned prompt. Now names
@alkdev/alkcall and points at AGENTS.md convention 11 (lean base
crate, no quinn/iroh unless the feature is on).
Verification: repo-wide residue sweep — alknet mentions survive only in
AGENTS.md's intentional provenance/historical framing; no stale ADR
number pointers remain in .opencode/agents/; architect.md's internal
sections (Safe Exit, anti-patterns, status vocabulary) are mutually
consistent.
- 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