Repository navigation
Description
Why
The People area merged in #97 and #100 puts three unrelated things in one place:
- Group Admins, Capo Admins and Team members: Phase 1;
- Soci and association fees: Phase 2;
- the census: Phase 3.
What we decided (see the roadmap #146):
- Soci and fees will be rebuilt from scratch on Entra ID users. They must share nothing with People records.
- The census will be rebuilt in Phase 3.
- Record matching and merging are replaced by two linking paths only, an email invite or a manual link (see [People · Phase 1] Group Admins, Capo Admins and Team members with Auth roles #143).
None of this is used in production, and the People tables hold only test data, so we remove these parts instead of migrating them.
Approach: keep the later phases' pages as unconnected mockups
The Soci, fee, receipt and census pages stay in the dashboard as UI mockups so they can still be shown, but they no longer talk to the backend:
- They render static sample data only.
- Every action is disabled or does nothing.
- Each page shows a clear banner saying it's an unconnected mockup that will be reworked in Phase 2 ([People · Phase 2] Soci and association fees on Entra ID #144) or Phase 3 ([People · Phase 3] Admin census in the dashboard #145).
Their real functionality is removed: server functions, backend calls and contract entries.
What to disconnect (mockup only)
- Soci / member register:
members-page.tsx,member-dialogs.tsx, routepeople/members.tsx. Removepeople-members.functions.ts. - Fees and receipts:
receipts-page.tsx,receipt-dialogs.tsx,fee-dialogs.tsx,my-fee-card.tsx, routepeople/receipts.tsx. Removepeople-fees.functions.ts,people-receipts.functions.ts,receipt-files.server.tsand the backend-facing parts ofpeople-fees.ts/people-files.ts. - Census:
census-page.tsx,census-answers-dialog.tsx,import-wizard.tsx, routespeople/census/*, and the census parts of My area. Removepeople-census.functions.tsandcensus-import.server.ts. - Visibility: the mockups are gated by
people:read, not by the permissions deleted in [People · Cleanup] Delete the Soci, fee and receipt permissions from the production IdP auth#77.
What to remove outright
-
eSign receipt provenance. eSign is a real feature, so this integration goes:
src/features/esign/receipt-request-link.tsxandreceipt-source.ts;- the
peopleReceiptbranches inrequest-page.tsx,requests-page.tsx,batch-page.tsx,esign.functions.tsandsrc/lib/api/types.ts.
Keep the shared PDF viewer improvements from feat(people): add fee renewal and signed receipts #100.
-
Telegram group leftovers (group admins aren't tracked anymore since feat(auth)!: drop better-auth and the legacy permission tables (RFC v3 Phase 6) backend#93):
- Telegram group columns and selections from Admins, Capo Admin, the person page and My area;
- Capo Admin join-request approve/decline.
feat(people)!: add Auth-backed people before login and align role views #136 already did most of this.
-
Record matching:
- Linking: the two-record review queue, its resolve/dismiss actions and merging;
- My area: "Is this you?" confirm/reject.
-
Permissions:
people:members:read,people:members:write,people:fees:write,people:receipts:signinsrc/server/permissions.ts,auth.middleware.ts, navigation androutes/dashboard.tsx. -
Contract and agent mode: remove the matching procedures and data from
people.contract.ts,people.api.server.ts,people.fake.server.tsandpeople.fixtures.server.ts. The mockups' static data lives on its own, separate from the contract. -
Docs and tests:
- Mark
docs/people/fees.mdand the Soci, fee and census sections of the docs as describing an unconnected mockup. - Remove the receipt section of
docs/esign/contracts.md. - Remove the tests of functionality that's gone.
- Mark
What stays (the base for Phase 1)
Overview, the person page, Admins, the Capo Admin area, Teams, Linking (invites and manual links) and My area (roles only), plus the shared primitives added by #97. Phase 1 changes how these work; this issue only removes.
The Azure section (azure:members:*) isn't touched. It stays the only way to admit a socio.
Done when
- The mockup pages are visibly marked, work in agent mode and production alike, and make no backend call.
- The dashboard no longer calls
people.members.*,people.fees.*,people.receipts.*,people.census.*,people.linking.reviews/resolve/dismiss,people.capo.approve/decline, orpeople.me.confirmMatch/rejectMatch/answerCensus/requestCorrection/revokePhotoConsent/uploadTransferReceipt/receipt. - Check, typecheck, tests and build pass, and agent mode still opens every remaining People page.
- Deployed before the backend cleanup [People · Cleanup] Remove Soci, fees, receipts, census and record matching from the People API backend#100, so the dashboard never calls a removed procedure.
Activity
coderabbitai commentedon Oct 29, 2026
🔗 Related PRs
#132 - feat(people): show records filled from PoliNetwork Auth and Microsoft 365 [open]
#137 - feat(mcp): add downloadable admin MCP with personal OAuth access [open]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!
[-][People · Cleanup] Remove Soci, fees, receipts, census and record matching from the People dashboard[/-][+][People · Cleanup] Disconnect Soci, fees, receipts and census in the People dashboard, keeping them as mockups[/+]