Skip to content

Remove obsolete pre-canonical analyzer and transform paths #355

Description

@Teakowa

Goal

Remove legacy analyzer and transform implementations that remain from the pre-canonical Workshop representation after production Wright workflows have converged on workshop-rs canonical Program APIs.

Context

Wright now exposes canonical Workshop analysis through wright-analyzer::canonical and production driver/tooling paths consume the canonical workshop-rs::Program model. Legacy analyzer modules and the old transform pass path still remain alongside that implementation, which creates duplicate analysis/transform logic and a risk of semantic drift.

This cleanup must be evidence-driven: code is removed only after confirming that no supported Wright production/public contract still consumes the legacy path. Test-only usage does not by itself justify preserving a second implementation when the same Wright-owned contract can be exercised through the canonical path.

Scope

  • Identify the remaining analyzer modules that operate on the legacy Workshop/WIR representation rather than the canonical workshop-rs::Program surface.
  • Identify the remaining legacy transform/pass path and constant-folding implementation that is not used by the current production session pipeline.
  • Migrate or replace tests that still exercise those legacy paths when they protect a surviving Wright-owned contract.
  • Remove legacy implementation and test-support code whose only remaining purpose is preserving the obsolete representation path.
  • Keep canonical analyzer/lint/query behavior and canonical transform behavior unchanged.

Non-goals

  • Redesigning the canonical analyzer architecture.
  • Adding new lint rules, semantic queries, transforms, or Workshop semantics.
  • Moving Wright-owned lint/analyze behavior into workshop-rs.
  • Removing code solely to meet a line-count or crate-count target.
  • Refactoring unrelated analyzer, transform, driver, or CLI code.

Acceptance criteria

  • No supported production Wright workflow depends on the removed legacy analyzer or transform representation path.
  • Analyzer symbols/references/CFG/findings/lint behavior used by supported workflows continue to run through the canonical workshop-rs::Program implementation.
  • Transform behavior used by the production session pipeline has a single maintained implementation over the canonical program model.
  • Tests that protect surviving Wright-owned contracts exercise the canonical path rather than preserving obsolete implementation solely for coverage.
  • No duplicate Wright-owned lint/analysis or constant-folding implementation remains solely because of the previous Workshop representation.
  • Current relevant tests and CI remain green after removal.
  • Independent implementation ablation demonstrates that the surviving canonical tests detect representative regressions in the retained behavior.

Dependencies / ownership

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