Standalone workspace member at poc/readplan/ that depends on alktype via path and exercises the ReadPlan/CompositePlan/ReadKind/ DiscriminatorPlan shape from ADR-011 against every BastType arm in the current read loop. Result: 28/30 tests pass. 2 deliberately ignored, both with documented findings: - Field-name-discriminator union read shape is a TODO (compile shape is correct; the read-side stub surfaces the work for implementation step 1 rather than hiding it). - Existing SequentialReader returns element_stride=0 for fixed-size struct arrays (pre-existing limitation at sequential_reader.rs:567, not a plan-shape gap; the POC plan correctly computes the stride). Coverage confirms every BastType arm compiles to the expected ReadKind/CompositePlan. Equivalence tests confirm plan-driven read produces identical (FieldValue, position) to the existing reader for all covered cases. ReadPlan: Send + Sync confirmed. Green light for ADR-011 implementation. See poc/readplan/FINDINGS.md for the full writeup. This branch is a derisking POC, not meant to merge to main (mirrors the bast-validator-poc branch pattern). Cargo.toml gains a workspace section that includes poc/readplan; that section is POC-only and would be dropped if these files ever merged to main.
25 lines
810 B
TOML
25 lines
810 B
TOML
[package]
|
|
name = "alktype"
|
|
version = "0.2.0"
|
|
edition = "2021"
|
|
rust-version = "1.85"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "Binary struct engine: takes a BAST (Binary Abstract Syntax Tree) document and produces an offset map, read/write functions, and validation"
|
|
repository = "https://git.alk.dev/alkdev/alktype"
|
|
readme = "README.md"
|
|
keywords = ["binary", "jsonschema", "wire-format", "serialization", "layout"]
|
|
categories = ["encoding", "data-structures", "parsing"]
|
|
exclude = [".opencode/", "docs/reviews/", "docs/research/", "docs/sdd_process.md", "Cargo.lock", "AGENTS.md"]
|
|
|
|
[lib]
|
|
name = "alktype"
|
|
|
|
[features]
|
|
default = []
|
|
|
|
[dependencies]
|
|
jsonschema = { version = "0.46", default-features = false }
|
|
serde_json = { version = "1", features = ["preserve_order"] }
|
|
|
|
[workspace]
|
|
members = ["poc/readplan"] |