audit: cycle 0105 tidy (drift-clean after two doc-mirror alignments)
Architect drift review (range 7b429f9..57f401f): drift_found (low/medium only), resolved inline as close-fixes: - crates/aura-std/src/vocabulary.rs — the roster-site doc now names BOTH count pins a node addition trips (the in-crate shape test and aura-cli's cross-boundary --vocabulary count e2e); the singular phrasing understated the cross-crate lockstep the extra e2e introduced. - docs/design/INDEX.md — the C24 enforcement-shift passage gains the 0105 delivery note: resolver-vs-list drift closed by construction via the roster macro; the un-rostered-node residual stays fail-safe. Noted, no action: spec/plan predicted 884 (no new test) but delivery added one e2e (885) — consciously superseded, disclosed in the iter commit body; the artifacts are ephemeral and removed below. What holds (architect): byte-preserving refactor confirmed against the diff (22 keys/order exact, signatures and module doc untouched, every consumer unchanged); invariant 9 / C24 preserved (compile-time expansion, no registry); the new e2e count pin is genuinely roster-tied. Regression gates (all green): cargo build clean; cargo test --workspace 885 passed / 0 failed (884 baseline + 1 new e2e); clippy --all-targets -D warnings clean; cargo doc --no-deps 0 warnings. Ephemeral cycle artifacts removed per project convention (git rm): docs/specs/0105-std-vocabulary-roster-macro.md, docs/plans/0105-std-vocabulary-roster-macro.md. refs #180
This commit is contained in:
@@ -2053,7 +2053,12 @@ logic — C17), and `std_vocabulary` stays a compiled-in dispatch table, not a r
|
||||
its enforcement **degrades from compiler-guaranteed to resolver-seam discipline**. Two
|
||||
consequences: (1) **#160** (the guard that the closed vocabulary stays honest) is no longer
|
||||
droppable hygiene — it guards the data-plane face of the boundary (its own drift direction
|
||||
still fails *safe*, `UnknownNodeType`). (2) The **injected per-project resolver** (C16) is
|
||||
still fails *safe*, `UnknownNodeType`). **Delivered cycle 0105:** the
|
||||
`std_vocabulary_roster!` macro expands the resolver match and the enumerable
|
||||
`std_vocabulary_types()` list from one roster, closing the resolver-vs-list drift mode by
|
||||
construction; the residual (a new zero-arg node never rostered at all) stays fail-safe,
|
||||
guarded by the one-line maintainer surface plus the count pins (the in-crate shape test and
|
||||
aura-cli's cross-boundary `--vocabulary` count e2e). (2) The **injected per-project resolver** (C16) is
|
||||
the genuinely new, *deferred* invariant-9 surface: nothing structurally stops a project
|
||||
resolver from accepting arbitrary type-ids, or a project from layering a blueprint
|
||||
*marketplace* (store + type-discovery API) **on top of** the format — one layer *above* the
|
||||
|
||||
Reference in New Issue
Block a user