Skip to content

Build an independent OverPy-compatible frontend before Workshop integration #1

Description

@Teakowa

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions