Parent: #283. Decision: ADR-0014 (#284).
Goal
Canonical validation accepts any value in a Boolean parameter, as ADR-0014 decides for the Boolean family.
Context
validate_canonical_ids rejects non-Boolean values in Boolean parameters (for example Wait Until(Position Of(Event Player), 3)), which blocks programs that pinned OverPy 9.7.10 writes. OverPy's First Of wrapping is keyed on the Boolean parameter type, and the fix for Zezombye/overpy#182 states that every value can be put in a Boolean field. Under ADR-0014 this is type-scoped acceptance evidence, so it belongs in typed Rust, not in per-parameter catalog data.
Scope
- A typed rule in value validation: a parameter whose declared type includes
Boolean accepts any value. Structural checks (identity, arity, enum domain, reference category) are unchanged.
- Remove per-parameter widenings that only existed to admit non-Boolean values in a Boolean position and are now subsumed, if any.
- Record the evidence in
docs/source-attribution/catalog.md and the language-support docs where they describe parameter typing.
Non-goals
- Modelling the values the client rejects in a Boolean position (possible later with rejection evidence).
- Arrays in
Object parameters or numbers in Vector parameters (they stay rejected).
Acceptance criteria
Parent: #283. Decision: ADR-0014 (#284).
Goal
Canonical validation accepts any value in a Boolean parameter, as ADR-0014 decides for the Boolean family.
Context
validate_canonical_idsrejects non-Boolean values in Boolean parameters (for exampleWait Until(Position Of(Event Player), 3)), which blocks programs that pinned OverPy 9.7.10 writes. OverPy'sFirst Ofwrapping is keyed on the Boolean parameter type, and the fix for Zezombye/overpy#182 states that every value can be put in a Boolean field. Under ADR-0014 this is type-scoped acceptance evidence, so it belongs in typed Rust, not in per-parameter catalog data.Scope
Booleanaccepts any value. Structural checks (identity, arity, enum domain, reference category) are unchanged.docs/source-attribution/catalog.mdand the language-support docs where they describe parameter typing.Non-goals
Objectparameters or numbers in Vector parameters (they stay rejected).Acceptance criteria
validate_canonical_idsonce opy-rs emits the reference structure.