Commit Graph

6 Commits

Author SHA1 Message Date
saravanakumardb1
d829c41fd4 docs: update migration checklist — Phases 1-4 complete 2026-02-15 15:38:11 -08:00
saravanakumardb1
c6937b74a6 docs(migration): mark Phase 2 Commit 17 complete
- Updated Phase 2 checklist with Android migration commit hash 63aa2ae
2026-02-15 15:19:12 -08:00
saravanakumardb1
855ebffcf6 docs(migration): mark Phase 2 Commit 16 complete
- Added Phase 2 progress checklist
- Marked Commit 16 complete with learning_voice_ai_agent hash 26d2a8b
2026-02-15 15:15:08 -08:00
saravanakumardb1
e7c8023aa8 docs(migration): mark Commit 15 complete with test commit hash 2026-02-15 15:09:54 -08:00
saravanakumardb1
d236f19d42 docs(migration): track Phase 1 commit progress and review fixes
- Added checklist with commit hashes for commits 9-14
- Marked commit 15 pending
- Documented post-implementation bugfix commits from systematic review
2026-02-15 15:01:54 -08:00
saravanakumardb1
60617ab050 refactor(platform-service): replace PRODUCT_ID with getRequestProductId(req) in all modules
- 26 files updated: all repositories accept productId parameter instead of env var
- All route handlers extract productId via getRequestProductId(req) (JWT → header → env fallback)
- Repositories: auth, flags, audit, notifications, licenses, plans, referrals, usage, subscriptions, invitations
- Routes: all above + promos, items, memory, public, ratelimit, stripe
- lib/webhooks.ts: dispatchWebhook accepts optional productId parameter
- Stripe webhook handler uses metadata-based productId (no client JWT available)
- Ratelimit default config uses DEFAULT_PRODUCT_ID at startup
- 166 tests pass, tsc --noEmit clean
2026-02-15 14:29:11 -08:00