Widen C29 doc coverage: emit/binding-column vocabularies and non-roster node schemas #321

Open
opened 2026-07-23 20:40:27 +02:00 by claude · 0 comments
Collaborator

Cycle-close architect finding for the self-description cycle (#316). The C29 contract's principle — every closed-vocabulary entry the binary exposes carries a one-line meaning — is realized for five vocabularies (process/campaign blocks, metrics, tap slots, tap folds, the closed node roster) plus the document description. Two closed vocabularies and one schema class remain outside the gate:

  • emit_vocabulary() and binding_column_vocabulary() (crates/aura-research/src/lib.rs, beside the promoted metric/tap carriers) are still bare &[&str] name arrays with no doc column.
  • Builder schemas not resolvable through the closed node roster (the internal tap recording sink, and any domain builder outside std_vocabulary_types) carry compile-required doc fields, but no gate walks their shape — a later edit blanking one to the empty-string alibi ships silently.

Widen the coverage: promote the two bare arrays to schema carriers with authored lines, and extend the C29 coverage walk (crates/aura-cli/tests/self_description.rs) so every non-roster builder schema is enumerated and gated. The C29 contract records this residue explicitly (docs/design/contracts/c29-self-description.md, Scope paragraph) — closing this issue removes that paragraph.

Cycle-close architect finding for the self-description cycle (#316). The C29 contract's principle — every closed-vocabulary entry the binary exposes carries a one-line meaning — is realized for five vocabularies (process/campaign blocks, metrics, tap slots, tap folds, the closed node roster) plus the document `description`. Two closed vocabularies and one schema class remain outside the gate: - `emit_vocabulary()` and `binding_column_vocabulary()` (crates/aura-research/src/lib.rs, beside the promoted metric/tap carriers) are still bare `&[&str]` name arrays with no doc column. - Builder schemas not resolvable through the closed node roster (the internal tap recording sink, and any domain builder outside `std_vocabulary_types`) carry compile-required `doc` fields, but no gate walks their shape — a later edit blanking one to the empty-string alibi ships silently. Widen the coverage: promote the two bare arrays to schema carriers with authored lines, and extend the C29 coverage walk (crates/aura-cli/tests/self_description.rs) so every non-roster builder schema is enumerated and gated. The C29 contract records this residue explicitly (docs/design/contracts/c29-self-description.md, Scope paragraph) — closing this issue removes that paragraph.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#321