Parent: #88
Goal
Close the remaining compiler/lowering gaps for the supported OverPy source-language surface as one category-level capability, so accepted OPY constructs consistently lower through canonical workshop-rs WIR without one-gap-per-issue execution.
Context
Several currently open issues describe narrow lowering differences such as initializer behavior, indexed assignment, string representation/modifiers, contextual chase lowering, and implicit subroutine materialization. These are useful regression evidence, but they should be completed through one audited lowering contract rather than as independent roadmap slices.
Scope
- Audit every supported OPY HIR construct that is expected to compile to canonical WIR and verify that its lowering path is implemented or has an explicitly owned external blocker.
- Close demonstrated lowering gaps for declarations/defaults, assignments/indexing, strings and collections, control flow, subroutines/functions, contextual helpers, builtin/member calls, rules/events, and other supported source constructs.
- Preserve source provenance and structured diagnostics across lowering.
- Compare observable/canonical semantics rather than compiler-output text, optimizer shape, helper naming, or incidental WIR differences that are not part of the contract.
- Run category-level conformance plus the full real-project corpus after the lowering surface is complete.
Non-goals
- Reproducing upstream optimizer strategy, temporary variables, formatting, or byte/text-identical Workshop output.
- Duplicating canonical Workshop semantics owned by workshop-rs.
- Workshop -> OPY reconstruction.
- Project-specific lowering workarounds.
Acceptance criteria
PR budget
Target: 1 implementation PR. Maximum: 2 non-release PRs. Split only by coherent lowering boundaries, not by individual residual or fixture.
Parent: #88
Goal
Close the remaining compiler/lowering gaps for the supported OverPy source-language surface as one category-level capability, so accepted OPY constructs consistently lower through canonical workshop-rs WIR without one-gap-per-issue execution.
Context
Several currently open issues describe narrow lowering differences such as initializer behavior, indexed assignment, string representation/modifiers, contextual chase lowering, and implicit subroutine materialization. These are useful regression evidence, but they should be completed through one audited lowering contract rather than as independent roadmap slices.
Scope
Non-goals
Acceptance criteria
PR budget
Target: 1 implementation PR. Maximum: 2 non-release PRs. Split only by coherent lowering boundaries, not by individual residual or fixture.