Rendered from docs/obligations/0043-two-meta-schema-surfaces-have-a-required-declaration.md in the Headwater corpus. Every document on this half of the site is typed by the taxonomy the descriptor names: corpus.json.

Two meta-schema surfaces have a required declaration and no stated form

Context

A facet declares volatility, and no value set states what it may hold. The ascertainability canon requires guidance on every enum value, and no syntax carries it. A third surface is smaller and it belongs beside them. Spec 7 declares bundles in the package manifest, and nothing fixes the shape of the file that holds one. The first library entry guessed all three, and it recorded each guess.

Obligation

The meta-schema measures the class rather than reporting three of it. engine/crates/meta/meta-schema.yml marks ten positions with the word gap, where a declaration is required and no form is stated. Guidance is one of them. Three more sit on a regime or a relation. They are the constructions that a voice regime forbids, the profile names that controlled admits, and the form of invalid_when. Three more are the glob constructs of a shelf path, the parts of an identifier pattern, and the allocation strategies. The last three sit on obligations and controls. They are the defect class that prevents names, the trigger, and the three members of the promotion record.

The defect class is the widest of them. Spec 4 derives that taxonomy from real documentation problems and walks nine classes in prose, and no declaration in the language holds it.

Discharge

Two positions left this count when the register landed. The mechanism grammar now has one, because the engine reads check: and phase: and treats every other prefix as a mechanism outside it. The posture left because it became two members, each with a closed set.

One more left it when headwater generate landed. Closing the projection kinds turned one question into two. Eight kinds are declarable, and the engine defines two more at a path it fixes. Spec 6 now states that split, and the meta-schema carries the declarable eight as an enum.