Summary
Remove the obsolete self-service legacy membership claim flow. Legacy membership migration is now admin-only via Link Legacy Membership.
Context
See docs/adr/0002-legacy-membership-migration-admin-only.md.
The repo still exposes a self-service claim route in the profiles API, but current product/domain language rejects member self-claim and automatic linking. The cooperative has roughly 65 members and legacy migrations happen slowly enough that admin linking is preferred.
Scope
- Remove
POST /api/profiles/:slug/claim from the active profiles API surface.
- Remove claim route logic, tests, service interfaces, and dependencies if no longer used.
- Check whether the members app still calls the claim endpoint; remove or replace that UI path if present.
- Keep admin-only legacy linking workflows intact.
- Update docs/tests to use Link Legacy Membership language instead of claim language.
Acceptance criteria
- No member-facing or unauthenticated path can claim a legacy membership.
- Admin legacy membership linking still works.
- Tests cover the remaining admin-only behavior at user-facing boundaries.
- No references imply self-service claim is current product behavior.
Summary
Remove the obsolete self-service legacy membership claim flow. Legacy membership migration is now admin-only via Link Legacy Membership.
Context
See
docs/adr/0002-legacy-membership-migration-admin-only.md.The repo still exposes a self-service claim route in the profiles API, but current product/domain language rejects member self-claim and automatic linking. The cooperative has roughly 65 members and legacy migrations happen slowly enough that admin linking is preferred.
Scope
POST /api/profiles/:slug/claimfrom the active profiles API surface.Acceptance criteria