Skip to content

[EPAC-2059]: delete dead search manifest entry and supersede tsvector decision doc#589

Merged
riddim-developer-bot[bot] merged 1 commit into
mainfrom
symphony/epac-2059-delete-dead-search-manifest-entry-and-supersede
May 25, 2026
Merged

[EPAC-2059]: delete dead search manifest entry and supersede tsvector decision doc#589
riddim-developer-bot[bot] merged 1 commit into
mainfrom
symphony/epac-2059-delete-dead-search-manifest-entry-and-supersede

Conversation

@riddim-developer-bot

Copy link
Copy Markdown
Contributor

Why

Cleans up vestigial search infrastructure that contradicted the actual architecture and would cause Terraform to provision a ghost Lambda (epac-search-staging/epac-search-production) on every apply. Also supersedes the EPAC-452 tsvector decision doc, which predates the Aurora retirement and the S3-artifact migration.

What changed

  • Manifest: removed search service entry from backend/manifest/deployment-services.json. No backend/search/ directory ever existed; the entry was purely a deployment ghost.
  • OpenAPI test: removed /search and /search/speeches from TestRetiredLambdaPathsAreAbsent — those paths are no longer tracked endpoints and don't need to be asserted absent.
  • New ADR: docs/architecture/search-index-choice-v2.md documents the actual v1 decision: SQLite FTS5 in S3, queried by a stateless Lambda pulling to /tmp on cold start. Covers trade-offs vs tsvector and vs managed search (OpenSearch/Meilisearch), out-of-scope items (bilingual French stemming, scheduled refresh, cross-session search), and implementation pointers to the hansard-search-index and hansard-search Lambdas.
  • Old ADR: docs/architecture/search-index-choice-epac452.md updated with a ## Status: Superseded banner at the top pointing at v2; body retained as historical context.
  • CLAUDE.md: project overview line updated to point at v2 doc and reflect the SQLite FTS5 decision.
  • AWS: deleted orphan epac-search-staging Lambda function (confirmed epac-search-production was never created).

Trade-offs not taken

Could have left the retiredPaths list unchanged (keeping /search and /search/speeches as documented retired paths). Removed them instead — the paths belong to the deleted service and there's no evidence they were ever live, so tracking their absence adds noise without value.

Verification

jq . backend/manifest/deployment-services.json   # exits 0
cd backend && go test ./openapi/...               # ok  epac/openapi  0.359s
cd backend && go test <all modules via go.work>   # all ok
aws lambda list-functions --query "Functions[?starts_with(FunctionName, 'epac-search-')].FunctionName"
# => []  (orphan epac-search-staging deleted; epac-search-production never existed)

All backend tests pass. iOS build not required (no app code changed).

Resolves EPAC-2059

Reviewer-Boundary: review-only

… decision doc

- Remove `search` service from backend/manifest/deployment-services.json
  (no backend/search/ directory ever existed; entry caused Terraform to
  provision a ghost Lambda on every apply)
- Remove /search and /search/speeches from retiredPaths in
  backend/openapi/main_test.go
- Add docs/architecture/search-index-choice-v2.md: SQLite FTS5 in S3 is
  the actual v1 search architecture (supersedes EPAC-452 tsvector decision)
- Mark docs/architecture/search-index-choice-epac452.md as superseded
  (body retained as historical context)
- Update CLAUDE.md project overview to reference v2 decision doc
- Deleted orphan epac-search-staging Lambda function in AWS
  (orphan from prior Terraform apply; confirmed epac-search-production
  was never created)
@riddim-developer-bot riddim-developer-bot Bot added the autonomous Enrolled in prconverged daemon for automated review and merge label May 25, 2026
@riddim-developer-bot
riddim-developer-bot Bot enabled auto-merge (squash) May 25, 2026 17:21
@riddim-developer-bot
riddim-developer-bot Bot merged commit 8af70d1 into main May 25, 2026
50 checks passed
@riddim-developer-bot
riddim-developer-bot Bot deleted the symphony/epac-2059-delete-dead-search-manifest-entry-and-supersede branch May 25, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autonomous Enrolled in prconverged daemon for automated review and merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants