Skip to content

Migrate authoritative OSTW reference evidence from Wright #49

Description

@Teakowa

Goal

Make deltin-rs the durable owner of the pinned OSTW reference evidence and reproducibility infrastructure that still remains under wrightkit/wright/compatibility/ostw/.

Context

deltin-rs already owns DEL/OSTW-compatible language semantics and defines compatibility against a pinned upstream reference. Its current compatibility contract treats upstream differential comparison as gap-discovery evidence rather than a default CI merge gate.

The repository split is incomplete at the evidence layer: Wright still contains the OSTW v3.4.0 reference metadata, explicit-root corpus/probes, recorded observations/results, reconstruction evidence, and the legacy oracle runner. Wright has already removed the live OSTW reference replay from its default CI, but deleting this tree before an owner-side migration would create an evidence/reproducibility gap.

Scope

  • Identify which artifacts under wrightkit/wright/compatibility/ostw/ are authoritative DEL/OSTW language evidence versus Wright-specific consumer/integration snapshots.
  • Move the authoritative pinned-reference identity, corpus/probes, recorded results, provenance, and reproducibility tooling into deltin-rs.
  • Preserve immutable reference identities, hashes, corpus roots, provenance, and declared observation semantics during the migration.
  • Integrate the migrated evidence with docs/compatibility.md, docs/provenance.md, and the support-matrix evidence model instead of creating a second compatibility contract.
  • Provide a documented maintainer workflow for reproducing or intentionally refreshing pinned upstream observations without requiring the upstream runtime on every PR.
  • If the existing runner is retained, bound external-process/network waits and expose enough progress to diagnose stalls.
  • Define the exact residual evidence, if any, that Wright must keep for its current migration/provider integration tests so the Wright follow-up can remove the remaining owner-style OSTW harness.

Non-goals

  • Running the live upstream OSTW compiler as a required merge gate on every deltin-rs PR.
  • Copying, translating, or redistributing unlicensed upstream compiler implementation internals.
  • Requiring output-text identity when observable semantics and declared contracts do not depend on it.
  • Moving Wright-only tooling, LPP, distribution, or product regression tests into deltin-rs.
  • Expanding DEL/OSTW support merely because additional upstream behavior is observable during migration.

Acceptance criteria

  • deltin-rs can reproduce or validate its declared pinned OSTW reference evidence without depending on files in the Wright repository.
  • The authoritative upstream reference identity and provenance are recorded once in the deltin-rs evidence/documentation model.
  • Migrated corpus/probe/results data retain their immutable identities and can be traced to the Wright evidence they replace.
  • The owner-side workflow distinguishes reference reproduction/gap discovery from normal native CI merge gates.
  • No dependency from deltin-rs back to Wright tooling internals is introduced.
  • Documentation states which evidence remains authoritative in deltin-rs and which Wright snapshots, if any, are consumer-only.
  • A Wright follow-up can safely remove compatibility/ostw/ owner infrastructure without losing declared compatibility evidence.

Dependencies

  • Wright ADR-0009 language ownership boundary.
  • Wright PR #177 removed the legacy live OSTW reference baseline from default Wright CI.

Planning notes

Treat the existing Wright tree as migration evidence, not architecture to preserve mechanically. Keep only observable/reference contracts that remain useful to deltin-rs; do not reproduce legacy harness complexity without evidence that it is needed.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions