Skip to content

Make Wright CLI CI-ready for real Workshop and OverPy projects #242

Description

@Teakowa

Goal

Make the Wright CLI reliable enough to replace the existing OverPy compile gate in real projects by supporting check, lint, compile, and analyze for declared raw Workshop and OverPy project workflows.

This is a product milestone. Completion is defined by real-project behavior, not by the existence of command surfaces or isolated fixtures.

Context

Wright exposes the four target commands and stable CLI/CI rendering contracts. This milestone proves that source-language ownership, provider delivery, project loading, diagnostics/provenance, and Wright-owned canonical tooling remain correct on real projects.

The first OverPy validation targets are:

  • OWBastion/Bastion, using its real src/main.opy project workflow and locale/root requirements;
  • Teakowa/Overwatch-AI-PVE, using its real src/main.opy project workflow and project root.

After this issue is complete, those projects can separately replace their existing OverPy CI gate with Wright and provide the next round of product evidence.

Scope

  • Make raw Workshop wright check, wright lint, wright compile, and wright analyze reliable within the declared supported surface.
  • Make the same four workflows reliable for real OverPy projects through the source-language owner boundary.
  • Use a first-party OPY LPP provider as the delivery path so ordinary opy-rs implementation releases do not require a Wright release.
  • Preserve source diagnostics and provenance needed by Wright-owned lint/analyze reporting.
  • Keep CLI behavior deterministic and CI-safe, including exit codes and machine-readable output.
  • Drive missing semantics back to the owning repository rather than adding Wright-side OPY or Workshop semantic fallbacks.
  • Validate the completed stage against pinned real revisions of Bastion and Overwatch-AI-PVE, plus representative raw Workshop evidence.

Non-goals

  • Migrating Bastion or Overwatch-AI-PVE CI in this issue; that happens after this milestone is independently verified.
  • DEL/OSTW provider implementation for this stage.
  • New generic plugin, registry, dependency solver, or provider marketplace architecture.
  • New LSP, agent, semantic-edit, conversion, or unrelated CLI features.
  • Adding new lint rules solely to increase feature count.
  • Requiring generated Workshop text identity with upstream OverPy when observable/canonical semantics are equivalent.
  • Implementing source-language semantics in Wright.

Acceptance criteria

  • Representative raw Workshop projects successfully run wright check, wright lint, wright compile, and wright analyze within the declared supported surface.
  • Pinned real revisions of Bastion and Overwatch-AI-PVE successfully run the four target Wright workflows with their real project structure, includes/preprocessing, root, and locale requirements.
  • wright compile produces valid Workshop output with declared observable/canonical semantic compatibility for the supported OverPy surface; text/temporary/helper identity is not required unless separately contracted.
  • wright check preserves owner diagnostics and source identity for project files.
  • wright lint and wright analyze remain Wright-owned and report evidence against original source provenance where the approved provider contract can map it; unmappable provenance is explicit rather than fabricated.
  • Raw Workshop workflows do not resolve, install, or contact OPY/DEL providers.
  • First use of a missing first-party OPY provider can bootstrap through the approved distribution design; an installed provider is reusable offline and failures are explicit.
  • Provider/process failures are distinguishable from source diagnostics through machine-readable contracts.
  • Text, JSON, generic CI, and GitHub Actions modes remain deterministic and preserve the documented stdout/stderr and exit-code contracts.
  • Any real-project blocker is fixed in its owning repository and then reverified through Wright; no Wright-side semantic workaround is introduced.
  • Independent verification reruns the real-project workflows after implementation.
  • Implementation ablation disables/removes the key provider/project integration path and demonstrates that the relevant real-project regression evidence fails again.

Delivery graph

Owner work is created only from demonstrated failures:

  • wrightkit/opy-rs#157 for residuals proven to belong to OPY compiler/lowering/canonical-WIR convergence;
  • workshop-rs for demonstrated canonical Workshop defects;
  • language-provider-protocol only when a real product workflow demonstrates a missing process/wire contract.

Do not create DEL/OSTW provider implementation work during this milestone.

Dependencies / ownership

  • wright: product CLI, provider resolution/integration, Wright-owned lint/analyze, rendering, orchestration, and final real-project verification.
  • opy-rs: OPY project discovery, preprocessing/macros, source semantics, diagnostics/provenance, compiler behavior, and first-party provider executable.
  • workshop-rs: canonical Workshop parsing, semantics, validation, WIR, catalog, localization, and emission.
  • language-provider-protocol: process/wire contract only.

Near-term work remains limited to this delivery graph. New infrastructure, cleanup, protocol, or tooling work requires a demonstrated dependency on this milestone.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions