Skip to content

[M11] Evidence-first real-world compatibility hardening (phase 1) #81

Description

@Teakowa

Goal

Build enough real-world compatibility evidence to determine what Wright actually needs next. Phase 1 is evidence acquisition and classification only; it does not implement newly discovered language features. The classified gap inventory decides which implementation issues should exist later. Completion of phase 1 is NOT M11 completion.

Phase-1 scope (SPEC-M11-phase1-real-world-corpus, owner: PM)

  1. Define M11 requirements/spec for real-world corpus expansion.
  2. Define the QA evidence/test plan.
  3. Curate/acquire several independent, non-synthetic real-world .opy programs/projects with materially different structures.
  4. Record provenance, licensing/redistribution status, acquisition method, source hash, pinned reference identity, and applicable compatibility gates.
  5. Run the existing Wright/native-vs-OverPy compatibility machinery across the expanded inputs.
  6. Produce a reviewable six-class gap inventory.

Requirements

  • REQ-001: >=6 real-world fixtures with structural diversity, independent origins, a >100 KB fixture, and multi-file coverage.
  • REQ-002: provenance/metadata completeness and reproducible acquisition/hashes.
  • REQ-003: pinned OverPy oracle snapshots for committed fixtures.
  • REQ-004: adapter HIR evidence or verbatim adapter failure for each fixture.
  • REQ-005: native differential parity remains hard-fail for supported parity cases; gap fixtures are classified separately.
  • REQ-006: per-fixture N-level inventory evidence without changing the frozen v1 release-gate fixture list.
  • REQ-007: human + machine-readable QA-owned gap inventory with an explicit evidence snapshot.
  • REQ-008: no newly discovered language feature implementation during phase 1.
  • REQ-009: bounded post-M10 documentation drift corrected without behavior changes.

Accepted phase-1 findings

  • Expanded corpus: 9 committed real-world fixtures plus 1 metadata-only record, 286 source files, 3 independent origins.
  • 0/9 new fixtures are currently consumable end to end.
  • Primary classifications: class 2 explicit unsupported surface ×5; class 4 reference/oracle limitation ×4; class 6 inconclusive ×1; no class 1/3/5 findings.
  • Four fixtures are blocked at a top-of-file custom-game-settings boundary, so their program bodies remain unexercised by Wright.
  • A real correctness defect was discovered: lex errors originating in an included file can be reported under the including file's path while retaining the included file's line/column.
  • No phase-1 finding authorizes settings parsing, line-continuation support, postfix ++, dict literals, triple-quoted strings, or other language-surface expansion.

Evidence

  • QA inventory: docs/opy/m11-gap-inventory.md and JSON companion.
  • Inventory snapshot: 2ecc024; inventory commit: 394a2db.
  • Reproducibility follow-ups through 5d234dc.
  • Latest containing main CI: run 31728347878, all six jobs executed successfully.

Status

PHASE 1 COMPLETE. The evidence is sufficient to rebaseline M11. Follow-up implementation/evidence work belongs under the M11 parent created after this phase rather than expanding this issue.

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

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions