You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement the Wright-owned OPY semantic compatibility manifest specified by #106 and use it to replace corpus-accidental builtin/member/enum resolution with a systematic, reference-validated semantic baseline.
This is the keystone implementation task from the #106 rebaseline. The manifest is compile-time language-compatibility metadata for the native OPY frontend; it is not the runtime/content registry deferred in #96.
Context
#106 established that Wright's parse surface is broader than its semantic/compile surface. Generic actions/values may parse and lower but fail only at Workshop emission, receiver/member coverage is manually limited, signatures/arity are not represented systematically, and KNOWN_ENUMS duplicates a separate subset of enum knowledge.
The accepted planning specification is docs/opy/compat-manifest-spec.md, backed by the pinned OverPy 9.7.10 reference documented in docs/compatibility/upstream-references.md and the category inventory in docs/opy/compatibility-baseline.md.
Concrete evidence includes chaseOverTime, isGameInProgress, getPlayersInRadius, setInvisibility, setStatusEffect, getThrottle, worldVector, receiver/member calls from #104, and the enum work from #105. These are evidence for semantic categories, not requests for symbol-specific special cases.
Scope
Define and implement the smallest stable manifest schema needed by the native OPY frontend for:
builtin actions and values;
member actions and values;
receiver categories;
ordered parameter signatures and arity;
parameter enum domains;
enum domains and members;
source aliases that do not require advanced call-context semantics.
Replace/absorb KNOWN_ENUMS and other duplicated OPY semantic lookup tables where the manifest becomes authoritative.
Resolve builtin/member/action/value identity before Workshop emission so unsupported names and invalid contexts fail through the semantic/frontend diagnostic path rather than surfacing accidentally as emitter catalog misses.
Link semantic entries to the existing Workshop emission catalog by canonical identity without duplicating localization/output spelling data.
Add a deterministic validation/build path for the manifest.
Use Wright-authored semantic data validated by systematic probes against the pinned reference. Do not mechanically convert or import OverPy implementation/data files into Wright core.
Add generated/table-driven reference tests for uniform metadata plus focused real/corpus fixtures proving end-to-end composition.
Enforce action/value/member context where the reference semantics are clear. In particular, do not preserve a Wright-only acceptance merely because the parser can represent it; cases such as a value member used as a statement must follow the declared OPY compatibility contract.
Preserve source provenance and deterministic structured diagnostics.
Refresh the OPY support matrix and compatibility baseline to reflect the implemented boundary.
Non-goals
Named/keyword argument binding or contextual ChaseReeval semantics; tracked separately after this manifest foundation.
Context-sensitive parsing of ambiguous raw Workshop enum spellings; tracked separately.
Implementing every legacy alias or historical OverPy quirk.
Byte-identical compiler output where observable semantics and declared round-trip contracts already hold.
Acceptance criteria
A versioned Wright-owned OPY semantic manifest exists and is the authoritative native-frontend source for the declared builtin/member/signature/enum baseline.
The manifest is deterministic, validated, and reference-probed against the pinned OverPy 9.7.10 identity.
KNOWN_ENUMS and equivalent duplicated semantic tables are removed or reduced to clearly justified non-overlapping data.
Generic evidence-backed calls such as chaseOverTime(...) and isGameInProgress() resolve and compile when their reference-supported signatures are satisfied.
Evidence-backed receiver/member calls and enum-gated members resolve through shared metadata rather than symbol-specific parser/emitter exceptions.
Invalid arity, wrong action/value position, invalid receiver category, and invalid enum-domain arguments fail deterministically with source-located semantic diagnostics.
Unknown action/value/member errors no longer depend on reaching the Workshop emitter merely to discover missing OPY semantic metadata.
Existing supported OPY corpus/differential behavior remains green; new systematic reference tests cover the expanded baseline.
Parent: #106
Depends on: #104, #105
Goal
Implement the Wright-owned OPY semantic compatibility manifest specified by #106 and use it to replace corpus-accidental builtin/member/enum resolution with a systematic, reference-validated semantic baseline.
This is the keystone implementation task from the #106 rebaseline. The manifest is compile-time language-compatibility metadata for the native OPY frontend; it is not the runtime/content registry deferred in #96.
Context
#106 established that Wright's parse surface is broader than its semantic/compile surface. Generic actions/values may parse and lower but fail only at Workshop emission, receiver/member coverage is manually limited, signatures/arity are not represented systematically, and
KNOWN_ENUMSduplicates a separate subset of enum knowledge.The accepted planning specification is
docs/opy/compat-manifest-spec.md, backed by the pinned OverPy 9.7.10 reference documented indocs/compatibility/upstream-references.mdand the category inventory indocs/opy/compatibility-baseline.md.Concrete evidence includes
chaseOverTime,isGameInProgress,getPlayersInRadius,setInvisibility,setStatusEffect,getThrottle,worldVector, receiver/member calls from #104, and the enum work from #105. These are evidence for semantic categories, not requests for symbol-specific special cases.Scope
KNOWN_ENUMSand other duplicated OPY semantic lookup tables where the manifest becomes authoritative.Non-goals
ChaseReevalsemantics; tracked separately after this manifest foundation.Acceptance criteria
KNOWN_ENUMSand equivalent duplicated semantic tables are removed or reduced to clearly justified non-overlapping data.chaseOverTime(...)andisGameInProgress()resolve and compile when their reference-supported signatures are satisfied.Relationships
eventPlayer.setMoveSpeedand peers) #104/Add corpus-backed OPY builtin enum coverage forChaseTimeReeval.NONEand nearby real-world gaps #105 as regression evidence rather than extending those closed issues.