Goal
Resolve the native-WIR divergences exposed when the #38 compatibility runner compares compiler-produced WIR directly with the pinned Workshop oracle.
Scope
Cover these current regression cases:
- synthetic/control-flow;
- synthetic/issue-33-switch-break;
- synthetic/issue-46-primitives;
- synthetic/issue-47-control-flow;
- synthetic/issue-47-switch-order;
- synthetic/issue-47-switch-structured-target.
Preserve the existing source fixtures and their pinned oracle provenance. Fix OPY lowering where the canonical WIR contract already exists; coordinate with workshop-rs only when independent native Workshop evidence proves that the target contract itself is missing.
For synthetic/control-flow, OverPy debug(...) is a source-language helper whose observable behavior is implemented by lowering to native Workshop actions/values. It is therefore OPY-owned lowering, not a reason to introduce or depend on an OPY-specific canonical Workshop Debug carrier. The fixture must compare the lowered native Workshop semantics, not the source helper identity.
Non-goals
- No exact Workshop text identity requirement.
- No fabricated semantic evidence or runner exceptions.
- No broad control-flow redesign beyond the listed divergences.
- No OPY-specific helper semantics in canonical Workshop WIR.
Acceptance criteria
- Every listed fixture reaches direct
workshop-rs::roundtrip::equivalent native-WIR equality unless independent native Workshop evidence demonstrates a genuinely missing canonical Workshop contract and a correctly scoped owner follow-up exists.
synthetic/control-flow lowers OverPy debug(...) to the native Workshop semantics required by the pinned oracle; it is not accepted as a Workshop-owned Debug carrier gap.
- The public compiler report and corpus runner remain executable against the same source input hash.
- Existing supported lowering and diagnostic tests continue to pass.
Goal
Resolve the native-WIR divergences exposed when the #38 compatibility runner compares compiler-produced WIR directly with the pinned Workshop oracle.
Scope
Cover these current regression cases:
Preserve the existing source fixtures and their pinned oracle provenance. Fix OPY lowering where the canonical WIR contract already exists; coordinate with
workshop-rsonly when independent native Workshop evidence proves that the target contract itself is missing.For
synthetic/control-flow, OverPydebug(...)is a source-language helper whose observable behavior is implemented by lowering to native Workshop actions/values. It is therefore OPY-owned lowering, not a reason to introduce or depend on an OPY-specific canonical WorkshopDebugcarrier. The fixture must compare the lowered native Workshop semantics, not the source helper identity.Non-goals
Acceptance criteria
workshop-rs::roundtrip::equivalentnative-WIR equality unless independent native Workshop evidence demonstrates a genuinely missing canonical Workshop contract and a correctly scoped owner follow-up exists.synthetic/control-flowlowers OverPydebug(...)to the native Workshop semantics required by the pinned oracle; it is not accepted as a Workshop-ownedDebugcarrier gap.