# CD-7 Backend Reverification

1. Calendar invite `.ics` for an event — GENUINELY-ABSENT.
   Reason: `workers/events/src/calendar-links.ts:113` generates `/v1/public/events/:eventId/calendar.ics?...` and `renderIcs` exists, but the events router only registers `GET /v1/public/events`, `GET /v1/public/events/:eventId`, registration, registration detail, and cancel at `workers/events/src/index.ts:619-624`; no Worker route serves `calendar.ics`.

2. GET event/location detail by id for SETTINGS locations — GENUINELY-ABSENT.
   Reason: settings locations have list/create/patch/archive/delete only at `workers/events/src/routes/studio-settings.ts:291-296`, mounted as `/v1/admin/settings` at `workers/events/src/index.ts:662`; Coord only forwards list `/v1/admin/locations` to `/v1/admin/settings/locations` at `workers/coord/src/index.ts:770-788`.

3. Duplicate a location — GENUINELY-ABSENT.
   Reason: no `/locations/:id/duplicate` or generic location clone exists; `studio-settings` exposes create/patch/archive/delete only at `workers/events/src/routes/studio-settings.ts:291-296`, while duplicate routes found elsewhere are resource-specific (for example catalog resources at `workers/catalog/src/routes/resources.ts:402`, ticket types/groups at `workers/catalog/src/routes/ticket-types.ts:298` and `workers/catalog/src/routes/ticket-groups.ts:295`, Studio staff at `workers/events/src/routes/studio-staff-mutations.ts:447`, and catalog services/events at `workers/events/src/routes/studio-catalog.ts:243-251`).

4. Compliance document downloads — EXISTS-ALREADY.
   Reason: compliance evidence is surfaced as document metadata with `href` from `studio_security_artifacts` via `GET /v1/admin/security` at `workers/events/src/routes/studio-security.ts:426-511` and `workers/events/src/routes/studio-security.ts:608-628`; actual generic binary downloads already exist as `GET /v1/canvas/assets/:assetId/download`, mounted by `/v1/canvas`, at `workers/events/src/routes/canvas.ts:3003-3026` and `workers/events/src/index.ts:696`.

5. Billing portal session — GENUINELY-ABSENT.
   Reason: Studio billing has billing index, invoices, invoice PDF, payment-method CRUD/default, and plan change at `workers/events/src/routes/studio-billing.ts:121-127`, mounted at `workers/events/src/index.ts:647`; the payments worker has payment intents/orders/providers/refunds, but no billing/customer portal session route in `workers/payments/src/index.ts:25-31` or `workers/payments/src/routes/payments.ts:286-875`.

6. Approval-process duplicate — GENUINELY-ABSENT.
   Reason: approval process CRUD is mounted at `/v1/admin/events/approvals/processes` in `workers/events/src/index.ts:632` and exposes list/create/get/update/delete at `workers/events/src/routes/studio-event-approval-processes.ts:411-417`; no duplicate/clone route exists, and duplicate routes found elsewhere are type-specific rather than a generic clone facility.

7. Help articles/search — GENUINELY-ABSENT.
   Reason: no help/article/knowledge-base route exists across workers; the closest surfaces are public API docs `/v1/public/docs/openapi.json` and `/v1/public/docs/llms.txt` at `workers/edge-gateway/src/index.ts:41-51`, and Porivo AI routes limited to chat/skills/bug-report/screenshot APIs at `workers/porivo-ai/src/index.ts:1449-1468` and `workers/porivo-ai/src/index.ts:1533-1585`.

FINAL genuinely-must-build count: 6
