Skip to content

feat: wire WP1–WP5 routers into appRouter + schema declarations (integration) - #160

Merged
munisp merged 1 commit into
mainfrom
feat/integration-registrations
Sep 14, 2026
Merged

munisp merged 1 commit into
mainfrom
feat/integration-registrations

Conversation

@munisp

@munisp munisp commented Sep 13, 2026

Copy link
Copy Markdown
Owner

What

Integration commit wiring the WP1–WP5 feature routers (merged in #154#158) into appRouter and adding the matching Drizzle schema declarations. Only server/routers.ts and drizzle/schema.ts are touched (the stale repo-root routers.ts was NOT modified).

Per-WP registrations

All patches applied via anchored exact-string replacement (each anchor verified unique before replacing); all 9 patches reported OK.

Verification (real output)

Sanity checks:

entitySearchRouter: 2        (import + registration)
monitoringRouter: 2
subjectPortalRouter: 2
shareableReportsRouter: 2
selfServiceBillingRouter: 2
getFallbackSuggestion in server/routers.ts: 0
drizzle/schema.ts: consumer_self_check @2235, subjectAccessTokens @3705, subjectDisputes @3725, reportShareLinks @3749, planSignups (appended)

Typecheck:

$ npx tsc --noEmit
TSC_EXIT=0

WP test files:

$ npx vitest run server/monitoring.test.ts server/share-subscribe.test.ts server/composePorts.test.ts server/subject-portal.test.ts server/entity-search.test.ts server/lookup-phone.test.ts
 ✓ server/share-subscribe.test.ts (19 tests)
 ✓ server/monitoring.test.ts (24 tests)
 ✓ server/subject-portal.test.ts (19 tests)
 ✓ server/entity-search.test.ts (37 tests)
 ✓ server/composePorts.test.ts (7 tests)
 ✓ server/lookup-phone.test.ts (4 tests)
 Test Files  6 passed (6)
      Tests  110 passed (110)

Registration smoke + regression:

$ npx vitest run server/smoke.comprehensive.test.ts server/aml.securityGuard.test.ts server/next-steps.test.ts
 ✓ "All domain routers are registered in appRouter" PASSED
 Test Files  1 failed | 2 passed (3)
      Tests  1 failed | 317 passed (318)

The single failure (smoke.comprehensivecreditTenantAccount rejects an unbound legacy reference when TIGERBEETLE_URL is not set — needs BIS_DATABASE_URL) was reproduced identically on pristine main (verified by stashing this branch's changes and re-running that test) — pre-existing and unrelated, as documented in #155/#157.

Notes

  • No stubs/placeholders; no changes to any feature file — integration-only.
  • Migration SQL (0023/0024/0025) already on main; schema declarations match it exactly (column-for-column verified against drizzle/0023_subject_portal.sql and drizzle/0024_share_links_and_plan_signups.sql).

- WP1 (#154): entitySearchRouter import + appRouter registration
- WP2 (#158): monitoringRouter import + appRouter registration
- WP3 (#155): subjectPortalRouter + computeDataCompleteness imports; subjectPortal registration; removed routers.ts-local getFallbackSuggestion (now shared in server/dataCompleteness.ts); getDataCompleteness delegates to computeDataCompleteness; consentPurposeEnum gains consumer_self_check; subjectAccessTokens/subjectDisputes pgTable declarations (matches drizzle/0023_subject_portal.sql)
- WP4 (#157): shareableReportsRouter + selfServiceBillingRouter imports + registrations; reportShareLinks/planSignups pgTable declarations (matches drizzle/0024_share_links_and_plan_signups.sql)
- WP5 (#156): lookup.phone procedure (gatewayFetch /v1/phone/:number, validated input)
@munisp
munisp merged commit e5a73d6 into main Sep 14, 2026
8 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant