Skip to content

feat(lpp): add entry-based project loading - #17

Merged
Teakowa merged 2 commits into
mainfrom
feat/lpp-16-entry-project-loading
Sep 2, 2026
Merged

feat(lpp): add entry-based project loading#17
Teakowa merged 2 commits into
mainfrom
feat/lpp-16-entry-project-loading

Conversation

@e54-bot

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

Copy link
Copy Markdown
Contributor

Summary

  • add the additive LPP 1.1 entry and projectLoading contract for provider-owned project loading
  • update the mock provider and conformance runner to load isolated filesystem projects and preserve canonical source identities
  • add success, failure, capability, invalid-parameter, and canonical-entry fixtures while preserving LPP 1.0 fixtures

Verification

  • cargo fmt --all -- --check
  • cargo clippy --all-targets -- -D warnings
  • cargo test --workspace
  • cargo build --release --locked --bin lpp-mock-provider --bin lpp-conformance-runner
  • conformance validate/replay: 40 passed, 0 failed
  • independent ablation: removing entry handling caused the project-loading scenario to fail

Fixes #16

@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 — conformance/mock-provider/src/main.rs, documents_for_request: entry-based check/compile rejects any request containing projectRoot, but the normative common-parameter contract still defines projectRoot as OPTIONAL for check/compile and says providers MUST accept it. A conforming LPP 1.1 client can therefore be rejected with -32602. Accept/ignore projectRoot for entry requests (and cover that legal shape), or otherwise make the normative contract unambiguously exclude it.

Minor — spec/lpp-v1.md quick-reference table lists entry check/compile as requiring check or projectLoading / compile or projectLoading, while the actual negotiated behavior requires the method capability plus projectLoading. Change the table to express both requirements so third-party implementations do not treat projectLoading as a substitute for check or compile.

@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 cac74c1 into main Sep 2, 2026
2 checks passed
@Teakowa
Teakowa deleted the feat/lpp-16-entry-project-loading branch September 2, 2026 17:44
This was referenced Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow provider-owned project loading from an entry target

2 participants