Goal
Build opy-rs into an independent, corpus-backed implementation of OverPy source-language semantics and connect it to canonical Workshop semantics without duplicating Workshop ownership.
Context
workshop-rs owns canonical raw Workshop semantics, WIR, catalog, validation, settings/locale data, and emission. opy-rs owns the OverPy source language, OPY-specific semantic overlay, compiler integration, and standalone OPY tooling.
The dependency/data-flow boundary is now:
OPY source -> opy-frontend -> OPY HIR -> integration/compiler layer -> workshop-rs WIR -> Workshop text
The standalone frontend remains Workshop-independent for check/inspect/source-tooling use cases.
Current status
The Workshop-independent phase is complete. #7 closed after #28/#29/#30 landed, and the merged support matrix now has planned: 0 with remaining compiler behavior explicitly classified as lowering-dependent.
The active phase is #8: OPY→Workshop compiler integration against the released workshop-rs 0.1.1 public contracts.
Execution history
Completed frontend/evidence foundation:
Active compiler integration:
Scope
- Maintain evidence-backed compatibility against pinned OverPy behavior and representative real projects.
- Keep OPY syntax, preprocessing, macros, semantic resolution, diagnostics, runtime behavior, source provenance, and tooling APIs independently usable before Workshop emission.
- Keep OPY-specific signature/alias/context metadata in
opy-rs while resolving canonical Workshop catalog/member/domain/settings/locale behavior through workshop-rs.
- Lower OPY semantics directly into canonical
workshop-rs WIR through a dedicated integration/compiler layer rather than another temporary Workshop IR.
- Expose standalone compilation only when implementation and end-to-end corpus evidence justify it.
Non-goals
- Duplicating canonical Workshop actions, values, events, heroes, maps, settings, locale tables, WIR, or emitter logic.
- Adding
workshop-rs directly to opy-frontend.
- Reproducing OverPy internal architecture, optimizer implementation, generated text, temporary-variable allocation, or formatting where observable semantics do not require it.
- Starting Workshop -> OPY reconstruction before compiler integration produces evidence for a concrete design.
Acceptance criteria
- The OPY language/tooling surface remains independently useful and evidence-backed.
- No authoritative Workshop data or semantic ownership is duplicated in
opy-rs.
- OPY semantic identities connect to
workshop-rs public contracts without parser/frontend redesign.
- Supported OPY programs compile through canonical WIR and Workshop emission with structured diagnostics and preserved provenance.
- End-to-end compiler compatibility is claimed only with corpus/differential evidence.
Dependencies
wrightkit/workshop-rs#2 — completed.
workshop-rs 0.1.1 — current compiler-integration baseline.
wrightkit/workshop-rs#10 provides follow-on shared conformance/census evidence but does not block baseline integration.
Planning notes
Keep near-term integration issues executable and evidence-driven. Do not create per-symbol issues for catalog-scale surfaces or implement upstream internals solely to improve nominal compatibility counts.
Goal
Build
opy-rsinto an independent, corpus-backed implementation of OverPy source-language semantics and connect it to canonical Workshop semantics without duplicating Workshop ownership.Context
workshop-rsowns canonical raw Workshop semantics, WIR, catalog, validation, settings/locale data, and emission.opy-rsowns the OverPy source language, OPY-specific semantic overlay, compiler integration, and standalone OPY tooling.The dependency/data-flow boundary is now:
OPY source -> opy-frontend -> OPY HIR -> integration/compiler layer -> workshop-rs WIR -> Workshop textThe standalone frontend remains Workshop-independent for check/inspect/source-tooling use cases.
Current status
The Workshop-independent phase is complete. #7 closed after #28/#29/#30 landed, and the merged support matrix now has
planned: 0with remaining compiler behavior explicitly classified aslowering-dependent.The active phase is #8: OPY→Workshop compiler integration against the released
workshop-rs0.1.1 public contracts.Execution history
Completed frontend/evidence foundation:
workshop-rscatalog boundaryActive compiler integration:
workshop-rsScope
opy-rswhile resolving canonical Workshop catalog/member/domain/settings/locale behavior throughworkshop-rs.workshop-rsWIR through a dedicated integration/compiler layer rather than another temporary Workshop IR.Non-goals
workshop-rsdirectly toopy-frontend.Acceptance criteria
opy-rs.workshop-rspublic contracts without parser/frontend redesign.Dependencies
wrightkit/workshop-rs#2— completed.workshop-rs0.1.1 — current compiler-integration baseline.wrightkit/workshop-rs#10provides follow-on shared conformance/census evidence but does not block baseline integration.Planning notes
Keep near-term integration issues executable and evidence-driven. Do not create per-symbol issues for catalog-scale surfaces or implement upstream internals solely to improve nominal compatibility counts.