Skip to content

Full NRPS support - #39

Merged
eliknebel merged 3 commits into
release-v1.0.0from
tool-nrps
Mar 5, 2026
Merged

Full NRPS support#39
eliknebel merged 3 commits into
release-v1.0.0from
tool-nrps

Conversation

@eliknebel

Copy link
Copy Markdown
Contributor

This PR implements the Tool NRPS feature plan in docs/features/tool-nrps/plan.md (Phases 0–3) and adds manual QA
reporting artifacts for Phase 4.

What’s included

  • Reworked NRPS service into a structured implementation with:
    • typed endpoint/page models
    • launch-claim parsing and validation
    • scope preflight enforcement
    • structured error mapping with reason atoms and retryability
    • page retrieval with retry support
    • stream and eager fetch-all APIs with max-page guard
    • telemetry events for request/page/membership/error
  • Added extracted reusable HTTP helpers for future Tool/Platform reuse:
    • Lti_1p3.Services.HTTP.LinkHeader
    • Lti_1p3.Services.HTTP.QueryFilters
  • Preserved legacy API compatibility for:
    • fetch_memberships/2 return shape ({:ok, memberships} | {:error, "Error retrieving memberships"})
    • and marked it as deprecated with migration guidance to newer APIs.
  • Updated NRPS docs and feature artifacts:
    • new docs/tool_nrps_guide.md
    • tool NRPS requirement matrix
    • utility extraction doc
    • QA report
    • plan checklist updates
  • Updated project docs metadata/changelog:
    • added NRPS guide to ExDoc extras
    • README link to NRPS guide
    • CHANGELOG entries for new NRPS APIs/modules and shared helper extraction

Tests / Verification

  • mix format
  • mix test (full suite): 136 tests, 0 failures
  • mix docs completed successfully (existing upstream ExDoc/Earmark warnings observed)

Follow-up / Manual QA

  • External LMS sandbox interoperability validation remains pending (tracked in docs/features/tool-nrps/qa_report.md
    and Phase 4 checklist).

@eliknebel
eliknebel requested a review from Copilot March 5, 2026 17:19
@eliknebel
eliknebel merged commit ab5babe into release-v1.0.0 Mar 5, 2026
@eliknebel
eliknebel deleted the tool-nrps branch March 5, 2026 17:30
@eliknebel
eliknebel removed the request for review from Copilot March 23, 2026 20:25
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.

1 participant