Skip to content

feat: route OPY workflows through first-party provider - #252

Open
e54-bot wants to merge 5 commits into
mainfrom
codex/issue-245-provider-workflows
Open

feat: route OPY workflows through first-party provider#252
e54-bot wants to merge 5 commits into
mainfrom
codex/issue-245-provider-workflows

Conversation

@e54-bot

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

Copy link
Copy Markdown
Collaborator

Summary

  • route ordinary .opy check and compile workflows through first-party LPP 1.1 project loading;
  • keep raw Workshop in-process and non-check OPY workflows explicit until a canonical provider WIR handoff is available;
  • preserve owner diagnostics and source identities, and reject provider failures without native fallback;
  • avoid caching check-only results as an empty WIR; provider WIR is reusable only after canonical compile;
  • enable ureq native certificate loading so clean packaged installs can acquire the OPY provider through platform trust stores without weakening HTTPS verification.

Verification

  • cargo fmt --all
  • git diff --check
  • cargo test --workspace — all tests passed, 2 external-corpus tests ignored
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • compatibility evidence tests — 2 passed
  • CLI tests — 22 unit tests and 43 integration tests passed
  • provider-backed N-level gate — 6/6 fixtures passed, including real-world/overpy-cake; recorded snapshots unchanged
  • the gate normalizes only the documented semantic alias UpVector(0, 1, 0)
  • entry-forwarding ablation caused both Bastion and OW1 provider checks to fail closed with ablation-entry-disabled and exit 4
  • python3 scripts/test-npm.py --binaries-dir target/debug — clean isolated npm install, npx wright compile, npx wright check, Node API, and multi-platform archive packaging checks passed

Real-project status

  • Bastion src/main.opy provider check passes with zero diagnostics.
  • Bastion compile currently exposes an opy-rs owner artifact issue: #!define symbols remain in settings and Wright rejects the resulting non-canonical Workshop artifact.
  • OW1 ow1-emulator/src/1v1_main.opy currently exposes opy-rs owner diagnostics for an unsupported append receiver and an owner warning surfaced as an error.

These owner-side blockers remain explicit; Wright does not add a semantic workaround or fallback. The remaining #245 acceptance work is to fix those owner issues and rerun the real-project workflows.

Refs #245

@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.

See inline findings.

Comment thread crates/wright-cli/src/main.rs Outdated
Comment thread crates/wright-driver/src/session.rs
Select the first-party provider for ordinary OPY check and compile workflows, and refuse check-only provider loads for WIR consumers.

Refs #245

@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 — The provider cutover fixes the two previous findings, but the new head introduces a required CI regression: OPY integration (N-level + owner) now fails in scripts/v1-gates.py because real-world/overpy-cake diverges after normalization, while the previous head was green. Fix the post-cutover OPY gate/workflow so it validates the intended provider-backed contract and returns green without weakening the compatibility expectation or simply accepting a changed snapshot.

Normalize the provider's explicit unit-up vector against the pinned oracle alias while keeping the compatibility snapshot unchanged.

Refs #245

@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 — The provider-backed N-level regression is fixed, but the cutover still breaks the clean installed CLI path required by #245. In the current CI, the isolated npm package installs successfully, then npx wright compile compatibility/fixtures/synthetic/basic-rule/source.opy --profile compat exits 4 on macOS (and the Windows distribution smoke fails at the same stage), while Ubuntu passes. Fix the provider acquisition/resolution path for packaged clean installs so ordinary OPY compile/check works without a preinstalled/manual provider, and restore the distribution matrix without falling back to native OPY semantics.

Load platform certificate stores for first-party OPY provider downloads so packaged clean installs bootstrap on macOS and Windows without weakening HTTPS verification or falling back to native OPY semantics.

Refs #245
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