Skip to content

feat(provider): resolve first-party OPY providers - #248

Merged
Teakowa merged 3 commits into
mainfrom
codex/issue-244-provider-bootstrap
Sep 2, 2026
Merged

feat(provider): resolve first-party OPY providers#248
Teakowa merged 3 commits into
mainfrom
codex/issue-244-provider-bootstrap

Conversation

@e54-bot

@e54-bot e54-bot commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add first-party OPY provider resolution with explicit local, installed-active, and bootstrap precedence.
  • Verify provider archives with SHA-256, install through versioned staging, and activate atomically while preserving the previous provider on failure.
  • Add wright provider update opy and --opy-provider, and pass the resolved executable through the existing ProviderRegistry.

Validation

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test --workspace --all-targets --all-features </dev/null
  • Clean-install, offline-reuse, and bootstrap-ablation tests

Scope note

wright#243, language-provider-protocol#16, and opy-rs#170 are still open. This PR delivers the #244 resolver/bootstrap and existing LPP handoff; the full normal OPY workflow cutover remains coordinated with those dependencies.

Refs #244

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Major — crates/wright-driver/src/opy_provider.rs::target_for

The resolver hard-codes Windows as unsupported, but Wright currently ships x86_64-pc-windows-msvc, while #240/#244 require first-party provider resolution for supported Wright targets. The new test also locks this mismatch in by asserting Windows is unsupported, so CI cannot catch the product-contract regression.

Support the Windows release target (including its executable/archive handling) or change the approved supported-target contract before merging.

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Major — crates/wright-driver/src/opy_provider.rs::OpyProviderResolver::target

Windows is still rejected before the new ZIP/.exe path can run: target_for("windows", "x86_64") now returns x86_64-pc-windows-msvc, but target() still only accepts the three Linux/macOS triples. The new Windows test calls install_archive directly, so it bypasses this resolver gate and CI remains green.

Add x86_64-pc-windows-msvc to the resolver's supported targets and cover Windows through resolve/update, not only direct archive installation.

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Teakowa
Teakowa merged commit b171048 into main Sep 2, 2026
14 checks passed
@Teakowa
Teakowa deleted the codex/issue-244-provider-bootstrap branch September 2, 2026 20:59
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Make Workshop Great Again Sep 2, 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.

2 participants