Skip to content

Remove the wright-workshop cutover adapter (complete the wright#143 removal path) - #215

Merged
Teakowa merged 1 commit into
mainfrom
refactor/remove-wright-workshop-adapter
Aug 22, 2026
Merged

Remove the wright-workshop cutover adapter (complete the wright#143 removal path)#215
Teakowa merged 1 commit into
mainfrom
refactor/remove-wright-workshop-adapter

Conversation

@Teakowa

@Teakowa Teakowa commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Completes the entropy-audit candidate with the strongest evidence: wright-workshop was a 17-line re-export-only cutover adapter (pub use workshop_rs::*;) whose own doc comment prescribed this exact removal — migrate call sites to workshop_rs::, then delete the crate. The v0.2 cutover is done (workshop-rs is at released 0.1.5); this PR executes the documented follow-through.

  • Call-site migration: all 111 wright_workshop:: references in wright-analyzer, wright-opy, wright-driver, wright-ostw (src and tests) now use the identical workshop_rs:: paths. All four crates already declared workshop-rs as a direct dependency, so this is mechanical; several files had been mixing both paths since the cutover.
  • Preserved regressions: the ten [OPY baseline] Implement semantic compatibility manifest and systematic builtin/member/signature coverage #109/[Workshop semantics] Resolve ambiguous enum members using expected parameter domains #111 manifest-wiring tests — the shipped driver's ChainedExpectedDomain parse context, the chase/Set Invisible bare-None fixed points (including the negative context-free case), the manifest expected-domain contract, and the chase-keywords fixture end-to-end OPY→HIR→WIR→emit→reparse round-trip — move to crates/wright-driver/tests/manifest_context.rs, colocated with the CompilerSession wiring they protect (session.rs parse path).
  • Deleted coverage: the adapter's remaining ~2.5k test lines exercised workshop-rs's own catalog/parser/emitter/round-trip/detect/closure behavior through the re-export. workshop-rs owns and runs that coverage itself (crates/workshop-rs/tests/, 18 suites including all eight counterpart files), so these were duplicate maintenance, not Wright integration evidence.
  • Docs/comments: 17 documents and 4 code comments described consumption "via the wright-workshop adapter"; they now state direct workshop-rs consumption. ADR-0009's migration-state list records the adapter as removed (wright-opy/wright-ostw/wright-ir remain pending their v0.3/v0.4 extractions).

Why this is safe

  • The adapter contained no implementation; every re-exported path is the workshop-rs path, so behavior is unchanged by construction.
  • No public/published surface changes: no crate in this workspace is published to crates.io; releases ship only the wright and wright-lsp binaries.
  • The deleted tests' subject matter has an owning test suite in workshop-rs (counterpart files verified: catalog, closure, detect, emitter, parser, pipeline, roundtrip, wir_expansion).

Validation

From the branch (all commands run locally, will be re-proven by CI):

  • cargo fmt --all -- --check — clean
  • cargo clippy --locked --workspace --all-targets --all-features -- -D warnings — clean
  • cargo test --locked --workspace --all-targets --all-features591 passed / 0 failed (includes the 10 preserved tests: cargo test -p wright-driver --test manifest_context → 10 passed)
  • grep -rn "wright.workshop" across rs/toml/md — only 4 intentional historical notes remain (test provenance comment, ADR-0009 status, compatibility.md and catalog-pipeline.md removal records)
  • git diff --check — clean

Testing-policy notes

Net effect

46 files, +383 / −2769. Removes one workspace crate concept, one dependency edge from each of four crates, eight duplicate test suites, and the dual-path (wright_workshop::/workshop_rs::) cognitive overhead. No capability lost; wright-ir's four ~50-line cutover shims remain, tied to the v0.3 HIR extraction per their own doc comments.

wright#143 made workshop-rs the canonical Workshop core and left
wright-workshop as a re-export-only adapter with a documented removal
path: migrate call sites to workshop_rs:: and delete the crate. That
cutover is now complete.

- migrate all 111 wright_workshop:: call sites in wright-analyzer,
  wright-opy, wright-driver, and wright-ostw (src and tests) to the
  workshop_rs:: paths they already re-exported; all four crates already
  depended on workshop-rs directly
- preserve the ten #109/#111 manifest-wiring regressions (shipped driver
  parse context, chase/Invis None fixed points, chase-keywords end-to-end
  round-trip) as wright-driver/tests/manifest_context.rs, next to the
  session wiring they protect
- delete the adapter crate and its 2568-line test suite: the remaining
  coverage tested workshop-rs's own catalog/parser/emitter/round-trip
  behavior through the re-export and is owned and tested by workshop-rs
  (crates/workshop-rs/tests, 18 files incl. all 8 counterpart suites)
- update the 17 documents and 4 code comments that described consumption
  'via the wright-workshop adapter'; ADR-0009's migration-state list now
  records the adapter as removed

Validation: cargo fmt --check clean; cargo clippy --workspace
--all-targets --all-features -D warnings clean; cargo test --workspace
591 passed / 0 failed; no wright-workshop references remain outside
intentional historical notes.
@Teakowa
Teakowa force-pushed the refactor/remove-wright-workshop-adapter branch from 0dc3b9e to 2cf27a7 Compare August 22, 2026 14:19
@Teakowa

Teakowa commented Aug 22, 2026

Copy link
Copy Markdown
Contributor Author

Force-pushed a rebuilt branch: the original push had accidentally been based on a local main that contained the unmerged feat/issue-213-terminal-presentation commit (4f67f98\#216), so this PR's diff and CI run included that PR's wright-cli presentation changes and inherited its CI-only terminal-coloring test failure (terminal_renderer_uses_command_specific_hierarchy fails under CI=true/GITHUB_ACTIONS=true where colors are emitted without a TTY — needs fixing in #216, not here).

The branch is now exactly origin/main (ac8d14f) + the 46-file adapter removal, cherry-picked with no wright-cli files. Revalidated on the clean base: cargo fmt --check clean, cargo clippy --workspace --all-targets --all-features -D warnings clean, cargo test --workspace 588 passed / 0 failed.

@Teakowa
Teakowa merged commit d556018 into main Aug 22, 2026
13 checks passed
@Teakowa
Teakowa deleted the refactor/remove-wright-workshop-adapter branch August 22, 2026 14:26
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Make Workshop Great Again Aug 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

1 participant