Sync docs to 18 BAST kinds (Timestamp removal fallout)
- README: 19 -> 18 kinds, drop the timestamp row from the kinds table, drop 'timestamp shape' from the validate_bytes constraint list, remove the residual 'upcoming alkcall crate' sentence from the crate independence section (alkcall exists now), fix two '19 kinds' refs in the documentation pointer list and schema-layer link. - src/data_access.rs: module doc comment still said 'all 19 AlkType kinds' -> 18. - bast-format.md (normative): 19 -> 18 AlkTypeKind enum variants. - layout-engine.md: cross-reference to 'the 19 AlkType kinds' -> 18. - ADR-BAST (bast-bast-format.md): the Decision section claimed the post- pivot enum has '19 unchanged' variants; now 18, with the wording adjusted so it no longer says 'unchanged' across the pivot. - ADR-VAL-SPLIT: drop 'timestamp shape' from the value-domain constraint list and the validator-arm table row (validate_timestamp no longer exists). Left as historically accurate (describe the v0.1.0 pre-pivot state): ADR-003/004/006 Context mentions of AlkType:Timestamp, ADR-005 'engine now has 19', and the '19 jsonschema::Keyword factories' references in the What-is-removed sections of ADR-BAST and ADR-VAL-SPLIT. Verification: cargo test --release (407 pass), cargo clippy --all-targets -- -D warnings (clean), cargo doc --no-deps (clean), cargo build --target wasm32-unknown-unknown --release (clean).
This commit is contained in:
1 parent
510553d800
commit
82fec45bc6
6 files changed
+11
-16
No files matched your search
@@ -39,7 +39,7 @@ custom-keyword content.
|
||||
3. **`kind`-based vocabulary.** Every type has a `kind` field whose
|
||||
value is a known string (`"uint32"`, `"struct"`, `"union"`, etc.).
|
||||
This replaces the `AlkType:*` custom-keyword pattern with a flat,
|
||||
easily-matched string. The 19 `AlkTypeKind` enum variants are
|
||||
easily-matched string. The 18 `AlkTypeKind` enum variants are
|
||||
unchanged; `AlkTypeKind::from_str`/`to_str` map between the enum and
|
||||
the lowercase BAST strings (D-BAST-002).
|
||||
|
||||
|
||||
@@ -90,8 +90,8 @@ its consequences; the spec records the shape.
|
||||
3. **`kind`-based vocabulary.** Every type has a `kind` field whose
|
||||
value is a known string (`"uint32"`, `"struct"`, `"union"`, etc.).
|
||||
This replaces the `AlkType:*` custom-keyword pattern with a flat,
|
||||
easily-matched string. The 19 `AlkTypeKind` enum variants are
|
||||
unchanged; `AlkTypeKind::from_bast_str`/`to_bast_str` map between
|
||||
easily-matched string. The 18 `AlkTypeKind` enum variants are
|
||||
the BAST kinds; `AlkTypeKind::from_bast_str`/`to_bast_str` map between
|
||||
the enum and the lowercase BAST strings (D-BAST-002).
|
||||
4. **Order is explicit.** Struct fields are an ordered array, not an
|
||||
object with `properties`. Field order is unambiguous — no reliance
|
||||
|
||||
@@ -27,7 +27,7 @@ paths:
|
||||
needed for `validate_bytes`; the BAST document *is* the validation
|
||||
spec for bytes. The natural validator is a recursive walker over the
|
||||
BAST type tree that checks the value-domain constraints the
|
||||
materializer does not (integer ranges, `maxLength`, timestamp shape,
|
||||
materializer does not (integer ranges, `maxLength`,
|
||||
enum index bounds, union variant constraints). The POC
|
||||
(`bast-validator-poc` branch, `src/bast_poc.rs`) proved this out
|
||||
end-to-end with 20 reference tests.
|
||||
@@ -75,7 +75,6 @@ alone:
|
||||
| Float finiteness (Float32/64) | `validate_float` |
|
||||
| String `maxLength` (byte length) | `check_string` |
|
||||
| Bytes `maxLength` (array length) | `check_bytes` (accepts `Value::String` and `Value::Array`) |
|
||||
| RFC 3339 timestamp shape | `validate_timestamp` (non-strict, matching v0.1.0) |
|
||||
| Enum index bounds | `validate_enum` — **fixes the v0.1.0 dead constraint** |
|
||||
| Union variant dispatch | `validate_union` reads `__discriminator`, resolves the variant, recurses |
|
||||
| Struct fields | `validate_struct` walks `fields`, requires each declared field present, recurses |
|
||||
|
||||
@@ -356,7 +356,7 @@ See [open-questions.md](open-questions.md) for full details.
|
||||
the two layout modes decision
|
||||
- [ADR-003](decisions/003-schema-annotations.md) — schema
|
||||
annotations
|
||||
- [schema-layer.md](schema-layer.md) — the 19 AlkType kinds and their
|
||||
- [schema-layer.md](schema-layer.md) — the 18 AlkType kinds and their
|
||||
byte sizes
|
||||
- [data-access.md](data-access.md) — read/write functions that use the
|
||||
computed offsets
|
||||
Reference in new issue
Block a user