Stop advertising Hydra links to unreachable subsystems - #1237
Draft
tomcrane wants to merge 1 commit into
Draft
Conversation
Session-0 ruling (hygiene sprint, 2026-08-06): the model advertises exactly the reachable surface. - EntryPoint: imageOptimisationPolicies + thumbnailPolicies links and their operations removed (legacy policy concepts superseded by delivery channels; the GET routes themselves remain for now) - Customer: authServices, roleProviders, roles links and their operations removed - none of these had any route in the API (the iiif-auth-v2 subsystem is not yet manageable via REST), so all three were non-dereferenceable links Refs #899. Co-Authored-By: Claude Fable 5 <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.
What does this change?
Removes five advertised Hydra links that point at subsystems consumers cannot actually reach through the API, per the hygiene-sprint session-0 ruling (2026-08-06): the model advertises exactly the reachable surface.
EntryPointno longer emitsimageOptimisationPoliciesandthumbnailPolicies(and their vocab operations). These are legacy policy concepts superseded by delivery channels. The underlying GET routes (PolicyController) are untouched for now — this PR only stops advertising them; retiring the routes is a separate decision.Customerno longer emitsauthServices,roleProvidersandroles(and their vocab operations). None of these had any route in the API — the IIIF-Auth subsystem (iiif-auth-v2) cannot yet be managed via REST — so all three were links that 404 on dereference. They will return when the auth management API exists (design work tracked in the sprint's session 6; see Manage Auth Services via API #538).Warning
Behaviour change for release notes: five link properties disappear from API responses —
EntryPoint.imageOptimisationPolicies,EntryPoint.thumbnailPolicies,Customer.authServices,Customer.roleProviders,Customer.roles. Consumers navigating by these links must stop; the three Customer links only ever led to 404s.Relationship to #899 ("Invalid hypermedia links in responses"): the three
Customerauth links are exactly that bug class and are removed here. #899's named examples (Batch.errorImages/completeImages) are tracked separately in the sprint (card XC-13, with the AdjunctBatch link work) — so this PR partially addresses #899; reviewer's call whether to close it or keep it open for the Batch examples.Builds clean; no code referenced the removed properties; DLCS.Hydra.Tests pass.
🤖 Generated with Claude Code