Conversation
Teakowa
left a comment
There was a problem hiding this comment.
-
crates/wright-driver/src/input.rs(detect_directory_kind/source_files): Wright recursively walks and collects every OPY/OSTW/Workshop source file, which is explicitly outside #317's scope. It also makes an OPY project containing generated Workshop.txt/.ow/.wsfiles look like a mixed-owner directory. Restrict this to the minimum owner-selection inspection and leave entry/root/source-closure discovery to the owning language implementation. -
crates/wright-driver/src/input.rs(resolve_directory): directory inputs setResolvedInput.identitytosha256(path), butwright-result/v1defines compile/lintinput_identityas the SHA-256 source/input identity. Editing project files therefore leavesinput_identityunchanged. Preserve the existing source-identity contract for directory-backed provider results rather than substituting a pathname hash. -
crates/wright-cli/src/main.rs/wright-driver/src/session.rs:inspectstill callsconfig_from_common(..., false), so an OPY directory stays on the native backend.resolve_directorysupplies empty source text for that directory, and the native OPY path can inspect an empty program instead of the selected project. Route a supported OPY directory inspect through its owner, or reject it explicitly; do not silently treat the directory as empty source. -
#317 acceptance evidence is incomplete: the PR validates
project-preprocessing, but the Issue requires zero-argument/current-directory evidence for Bastion and Overwatch-AI-PVE plus independent directory-resolution ablation. Provide those before treating the implementation as complete.
Teakowa
left a comment
There was a problem hiding this comment.
-
crates/wright-driver/src/input.rs::detect_directory_kind: the recursive collection is fixed, but the replacement still suppresses a Workshop candidate whenever OPY or DEL/OSTW is detected. That contradicts #317's “no hidden language precedence” AC anddocs/cli.md's claim that mixed source kinds fail. Do not treat a Workshop file as generated solely because another owner candidate exists; if it cannot be independently distinguished from a raw Workshop target, report ambiguity. -
The directory
input_identityfix now depends on the newsourceIdentitywire/provider contract, butlanguage-provider-protocol#34andopy-rs#257are still open. Merge/release the owning contract/provider first, then verify this consumer path against them; the current cross-repo dependency chain is not complete. -
The required Bastion zero-argument/current-directory acceptance evidence is still failing with owner
include-not-found. That may be an opy-rs defect rather than a Wright defect, but #317's Bastion AC is therefore still blocked rather than satisfied. Fix the owner blocker and rerun the zero-argument workflow before treating this PR/Issue as complete.
Teakowa
left a comment
There was a problem hiding this comment.
Wright-side follow-up findings are resolved. Still blocked on the #317 acceptance/dependency chain: language-provider-protocol#34 → opy-rs#257 must merge/release before the source-identity consumer path is complete, and Bastion current-directory evidence remains blocked by the owner include-resolution contract. No new Wright implementation finding.
|
Bastion compatibility decision is resolved: do not rewrite Bastion's hosted-OverPy-valid include paths and do not add a Wright-side fallback. The owner defect is tracked in
|
Teakowa
left a comment
There was a problem hiding this comment.
-
The
sourceIdentityconsumer path is still ahead of its owners:language-provider-protocol#34andopy-rs#257are both still open. Merge/release the owner contract/provider first, then verify Wright against that released path. -
Bastion still does not satisfy #317's zero-argument/current-directory acceptance criterion. Do not use the
OWBastion/Bastion#207macro split as compatibility evidence:opy-rs#148already merged support for backslash-newline continuations in#!directives, and the current owner work (opy-rs#259) is addressing the remaining include-resolution behavior. Verify the unchanged upstream-valid Bastion source throughopy-provider/Wright after the owner fixes are integrated.
|
Owner follow-up is now pushed as opy-rs#262 from The local provider built from that commit passes:
No new Wright code commit is required. #318 remains pending owner CI, release publication, and then fresh review/reapproval. |
|
The owner blocker is now resolved: opy-rs#262 merged and is included in released Using that released provider, the unchanged upstream projects now pass:
The Wright branch remains at |
Summary
-as stdininspectthrough the owner-backed path with an explicit structured unsupported result where the provider exposes compile onlywright-result/v1directory resultsDependencies
sourceIdentity: feat(protocol): return owner-selected source identity language-provider-protocol#34 (v1.3.0)sourceIdentity: feat(provider): return project source identity opy-rs#257 (v0.1.34)v0.1.34)v0.1.35)v0.1.36)The source-identity blockers and the Bastion owner blocker are now merged and released. The requested Wright implementation and #317 acceptance evidence are complete; no Wright compatibility fallback is required.
Validation
cargo fmt --all -- --checkcargo clippy --workspace --all-targets --all-features -- -D warningscargo test --workspace --all-targets --all-featuresv1.3.0v0.1.34v0.1.36provider: Overwatch and Bastion zero-argumentcheckpassv0.1.36provider: Bastioncompilepasses andinput_identityequals SHA-256 ofsrc/main.opy(3a6483b6a53996b41cf2dfe238150fec41942a7f47d4aeb0d84b99142462e548)src/main.opyand a raw Workshop artifact; explicit--kind opyremains the required disambiguationstdin-emptygit diff --checkRefs #317