Goal
Match the pinned OverPy 9.7.10 argument-shifting behavior when a defaulted middle argument is omitted for createBeam, getPlayersInRadius, createHomingProjectile, and createProjectileEffect.
Context
The pinned reference shifts remaining arguments left without type checking and can therefore emit a structurally mistyped Workshop call. opy-rs currently rejects these forms instead of reproducing that output.
The current difference has two owners:
- OPY argument binding:
opy-rs must implement the reference's omitted-middle-argument shift.
- Canonical Workshop validation: the shifted calls currently fail canonical semantic validation. Any allowance must be defined by
workshop-rs narrowly enough that normal validation is not weakened globally.
Until both sides are resolved, the behavior remains an explicit compatibility exception rather than a hidden workaround.
Scope
- Establish the required
workshop-rs contract for admitting exactly the reference-shaped shifted calls without disabling canonical validation for unrelated programs.
- Change the
opy-rs binder to shift omitted defaulted middle arguments for the four functions.
- Remove the corresponding compatibility exception from
docs/architecture/language-core.md and tools/overpy/probe-gaps.json.
- Update focused tests to require the pinned reference structure.
Non-goals
- Weakening canonical validation globally.
- Skipping Workshop validation in
opy-rs.
- Adding per-function validation bypasses owned only by the OPY compiler when the underlying Workshop contract belongs in
workshop-rs.
- Adding or renaming Workshop catalog entries.
Acceptance criteria
- The four functions compile omitted-middle-argument calls with Workshop structure equal to the pinned OverPy reference.
probe-gaps.json no longer lists reference-binds-mistyped-optional.
- The approved exception in
language-core.md is removed or superseded by the implemented contract.
- Canonical validation remains effective for unrelated invalid programs.
- Standard repository gates and the builtin compatibility probe pass.
Dependencies / ownership
opy-rs: OverPy argument binding and compatibility tests.
workshop-rs: canonical validation contract required to represent the shifted reference output safely.
Goal
Match the pinned OverPy 9.7.10 argument-shifting behavior when a defaulted middle argument is omitted for
createBeam,getPlayersInRadius,createHomingProjectile, andcreateProjectileEffect.Context
The pinned reference shifts remaining arguments left without type checking and can therefore emit a structurally mistyped Workshop call.
opy-rscurrently rejects these forms instead of reproducing that output.The current difference has two owners:
opy-rsmust implement the reference's omitted-middle-argument shift.workshop-rsnarrowly enough that normal validation is not weakened globally.Until both sides are resolved, the behavior remains an explicit compatibility exception rather than a hidden workaround.
Scope
workshop-rscontract for admitting exactly the reference-shaped shifted calls without disabling canonical validation for unrelated programs.opy-rsbinder to shift omitted defaulted middle arguments for the four functions.docs/architecture/language-core.mdandtools/overpy/probe-gaps.json.Non-goals
opy-rs.workshop-rs.Acceptance criteria
probe-gaps.jsonno longer listsreference-binds-mistyped-optional.language-core.mdis removed or superseded by the implemented contract.Dependencies / ownership
opy-rs: OverPy argument binding and compatibility tests.workshop-rs: canonical validation contract required to represent the shifted reference output safely.