Goal
Let canonical validation accept First Of(<any value>) where the pinned OverPy writes it as a Boolean wrapper.
Context
Follow-up to ADR-0014 (#284) found by the opy-rs builtin probe (wrightkit/opy-rs#370, #371). Boolean parameters accept any value since 0.6.3, but the reference's own wrapper, First Of(Vector(1, 2, 3)), First Of(Hero(Ana)), First Of(Team Of(Event Player)) and similar, still fails validate_canonical_ids because firstOf declares its argument as Array|EntityId. OverPy writes this wrapper precisely for values that cannot stand in a Boolean slot, so 46 probes (about 30 functions plus Hero, Map, Color, Button, Gamemode and non-direction vector constants) still fail in opy-rs.
Scope
- Decide under ADR-0014 whether the wrapper is acceptance evidence for
firstOf's argument, and if so encode it as a positional fact with a citation to observed reference output.
Acceptance criteria
Goal
Let canonical validation accept
First Of(<any value>)where the pinned OverPy writes it as a Boolean wrapper.Context
Follow-up to ADR-0014 (#284) found by the opy-rs builtin probe (wrightkit/opy-rs#370, #371). Boolean parameters accept any value since 0.6.3, but the reference's own wrapper,
First Of(Vector(1, 2, 3)),First Of(Hero(Ana)),First Of(Team Of(Event Player))and similar, still failsvalidate_canonical_idsbecausefirstOfdeclares its argument asArray|EntityId. OverPy writes this wrapper precisely for values that cannot stand in a Boolean slot, so 46 probes (about 30 functions plus Hero, Map, Color, Button, Gamemode and non-direction vector constants) still fail in opy-rs.Scope
firstOf's argument, and if so encode it as a positional fact with a citation to observed reference output.Acceptance criteria
First Of(Vector(1, 2, 3))and the other observed wrapped values validate and round-trip.validation-first-of-wrappergap intools/overpy/probe-gaps.jsonis removed.