feat(protocol): support directory project targets - #32
Conversation
Teakowa
left a comment
There was a problem hiding this comment.
Two findings:
-
conformance/mock-provider/src/main.rs(documents_for_request/load_project):entry.kindis honored after negotiating either 1.1 or 1.2. A 1.1 session can therefore sendkind: "directory"and receive the new 1.2 directory-target behavior, even though the spec defines directory targets as a 1.2 extension. This makes the version boundary non-enforceable and the claimed 1.1 compatibility unverified. Gate directory semantics on negotiated 1.2 and add conformance coverage showing that a 1.1 directory target is rejected rather than executed. -
conformance/mock-provider/src/main.rs(load_project, directory branch): afterselected.is_file(),selected.canonicalize().expect("entry exists")can still fail on a filesystem race or access error and panic the provider process. This path should return the structuredprojectLoadFailederror required by the protocol instead of terminating the process.
Summary
entry.kindValidation
cargo fmt --all -- --checkcargo test --workspace./target/release/lpp-conformance-runner --provider ./target/release/lpp-mock-provider --fixtures conformance/fixtures/v1This is the protocol owner-side dependency for wrightkit/wright#317.