RFC 088: Migrating identity, requesting and items APIs from Sierra to FOLIO#153
Merged
Conversation
Adds a self-contained RFC describing the move of the identity, requesting and item-availability APIs from Sierra to FOLIO: a parallel FOLIO-backed v2 identity API fronted by Auth0, the toggle + lazy-migration plan with a single coordinated cutover, the v1 -> v2 route dispositions, and the open questions (including running the new items API alongside the existing catalogue API). Links the API contract out to openapi.yaml / openapi.md. Refreshes the RFC listing table. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Extracts the v2 identity API contract into openapi.yaml (intended routes only: users / m2m / items) and adds a self-contained uv project that validates the spec and renders it to openapi.md for in-repo browsing (run via `uv run python render_docs.py`). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The "New in v2" row and the Browsing-section sentence referenced the
prototype's transitional /user/{user_id}/* routes, which this RFC does not
expose (the embedded contract is users/m2m/items only) — confusing for a
reader. Reframe both as planned additions to the /users/{userId} surface, not
yet in the contract.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rephrases em-dashes (and one en-dash) across the RFC, spec descriptions and tooling comments as colons/commas/parentheses or split sentences; changes the openapi.md renderer's empty-cell placeholder from an em-dash to "n/a" and the server/header separators accordingly, then regenerates openapi.md. Light tone pass (e.g. drops "the heart of"); keeps content and house-style bold lead-ins. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… default Adds an example matching address and spells out that the email pattern and FOLIO_REGISTER_DEFAULT combine as an OR: before cutover (default off) only pattern-matching signups register; at cutover the default flips on and registers everyone, making the pattern moot. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
agnesgaroux
reviewed
Jun 16, 2026
agnesgaroux
reviewed
Jun 16, 2026
agnesgaroux
reviewed
Jun 16, 2026
Contributor
Author
|
Note this resolves: wellcomecollection/platform#6345 |
…ditive requestable flag, externalSystemId caveat - Add Sierra (custom-DB) participant to the lazy-migration sequence diagram, showing the login-script credential verification / password-hash capture that the prose already describes. - Clarify the items requestable flag is additive (the works page keeps using the location access status/method) and a prototype affordance, pointing at the existing requesting business rules open question. - Note that what externalSystemId carries is not yet firmly decided. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Fixes the failing validate-rfcs check, which runs create_table_summary.py --check-readme. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Preview
View the rendered RFC on this branch:
What does this change?
Adds RFC 088: Migrating identity, requesting and items APIs from Sierra to FOLIO, plus its supporting API contract and docs tooling. This is documentation only; there are no production code changes.
The RFC describes how we move the identity, requesting and item-availability APIs that power
wellcomecollection.orgfrom our current LMS (Sierra) to its replacement (FOLIO). It covers:openapi.yaml/openapi.md).The RFC is written to be self-contained and openly accessible, reproducing the architecture, contract, migration plan and open questions in full so it does not depend on the closed discovery/prototype repository.
Files added:
rfcs/088-folio-identity-requesting-migration/README.md: the RFC document.rfcs/README.md: refreshed RFC listing table (RFC 088 row added).rfcs/088-folio-identity-requesting-migration/openapi.yaml: the extracted OpenAPI 3.1 spec for the v2 identity API (users / m2m / items routes only).rfcs/088-folio-identity-requesting-migration/openapi.md: generated human-readable rendering of the spec, browsable on GitHub without a Swagger/Redoc renderer.render_docs.py,pyproject.toml,.python-version,.gitignore,uv.lock: a self-containeduvproject that validatesopenapi.yamland regeneratesopenapi.md.How to test
rfcs/088-folio-identity-requesting-migration/README.mdand review the architecture, v1 → v2 surface, migration plan and open questions..scripts/validate_rfc.py..scripts/create_table_summary.py --check-readme.uv run python render_docs.py: this validatesopenapi.yamlagainst the OpenAPI spec validator and rewritesopenapi.md.How can we measure success?
No measurable runtime success criteria; this is a documentation RFC. Success is the RFC being reviewed and providing a clear, self-contained plan and API contract that the team can align on ahead of the Sierra → FOLIO cutover.
Have we considered potential risks?