diff --git a/docs/WINDSURF/SERVICE_CONSOLIDATION_ROADMAP.md b/docs/WINDSURF/SERVICE_CONSOLIDATION_ROADMAP.md index 9dfb4dfb..fbabcf13 100644 --- a/docs/WINDSURF/SERVICE_CONSOLIDATION_ROADMAP.md +++ b/docs/WINDSURF/SERVICE_CONSOLIDATION_ROADMAP.md @@ -428,95 +428,98 @@ All containers served by one Cosmos client in platform-service: ### 4.1 Dashboard API clients **(Gap 6)** -- [ ] **4.1.1** `admin-dashboard-web/src/lib/billing-client.ts` — `BILLING_SERVICE_URL` → `PLATFORM_SERVICE_URL`, default `http://localhost:4003` -- [ ] **4.1.2** `admin-dashboard-web/src/lib/growth-client.ts` — `GROWTH_SERVICE_URL` → `PLATFORM_SERVICE_URL`, default `http://localhost:4003` -- [ ] **4.1.3** `user-dashboard-web/src/lib/billing-client.ts` — same -- [ ] **4.1.4** `user-dashboard-web/src/lib/growth-client.ts` — same -- [ ] **4.1.5** `tracker-dashboard-web/src/app/api/tracker/[...path]/route.ts` — `TRACKER_API_URL` → `PLATFORM_API_URL`, default `http://localhost:4003` +- [x] **4.1.1** `admin-dashboard-web/src/lib/billing-client.ts` — `BILLING_SERVICE_URL` → `PLATFORM_SERVICE_URL`, default `http://localhost:4003` +- [x] **4.1.2** `admin-dashboard-web/src/lib/growth-client.ts` — `GROWTH_SERVICE_URL` → `PLATFORM_SERVICE_URL`, default `http://localhost:4003` +- [x] **4.1.3** `user-dashboard-web/src/lib/billing-client.ts` — same +- [x] **4.1.4** `user-dashboard-web/src/lib/growth-client.ts` — same +- [x] **4.1.5** `tracker-dashboard-web/src/app/api/tracker/[...path]/route.ts` — `TRACKER_API_URL` → `PLATFORM_API_URL`, default `http://localhost:4003` ### 4.2 Stripe proxy + context **(Gap 6)** -- [ ] **4.2.1** `user-dashboard-web/src/app/api/stripe/webhook/route.ts` — `BILLING_SERVICE_URL` → `PLATFORM_SERVICE_URL` -- [ ] **4.2.2** `admin-dashboard-web/src/app/api/stripe/config/route.ts` — `billingServiceUrl` default to port 4003 -- [ ] **4.2.3** `admin-dashboard-web/src/lib/stripe-context.tsx` — update all 3 `localhost:4002` references to `localhost:4003` +- [x] **4.2.1** `user-dashboard-web/src/app/api/stripe/webhook/route.ts` — `BILLING_SERVICE_URL` → `PLATFORM_SERVICE_URL` +- [x] **4.2.2** `admin-dashboard-web/src/app/api/stripe/config/route.ts` — `billingServiceUrl` default to port 4003 +- [x] **4.2.3** `admin-dashboard-web/src/lib/stripe-context.tsx` — update all 3 `localhost:4002` references to `localhost:4003` ### 4.3 Ops status route **(Gap 7)** -- [ ] **4.3.1** `admin-dashboard-web/src/app/api/ops/status/route.ts` — remove billing/growth/tracker entries from `SERVICES` array; keep backend + platform + extraction +- [x] **4.3.1** `admin-dashboard-web/src/app/api/ops/status/route.ts` — remove billing/growth/tracker entries from `SERVICES` array; keep backend + platform + extraction ### 4.4 Stripe webhook test **(Gap 8)** -- [ ] **4.4.1** `user-dashboard-web/src/__tests__/stripe-webhook.test.ts` — change `http://localhost:4002` → `http://localhost:4003` in all 3 places +- [x] **4.4.1** `user-dashboard-web/src/__tests__/stripe-webhook.test.ts` — change `http://localhost:4002` → `http://localhost:4003` in all 3 places ### 4.5 Python clients **(Gap 6)** -- [ ] **4.5.1** `backend/src/clients/billing_client.py` — `BILLING_SERVICE_URL` → `PLATFORM_SERVICE_URL`, default `http://localhost:4003` -- [ ] **4.5.2** `src/cloud/api_sync.py` — same -- [ ] **4.5.3** `src/cloud/plan_resolver.py` — same +- [x] **4.5.1** `backend/src/clients/billing_client.py` — `BILLING_SERVICE_URL` → `PLATFORM_SERVICE_URL`, default `http://localhost:4003` +- [x] **4.5.2** `src/cloud/api_sync.py` — same +- [x] **4.5.3** `src/cloud/plan_resolver.py` — same ### 4.6 Environment files -- [ ] **4.6.1** `learning_voice_ai_agent/.env.example` — replace `BILLING_SERVICE_URL=http://localhost:4002` with `PLATFORM_SERVICE_URL=http://localhost:4003` -- [ ] **4.6.2** `admin-dashboard-web/.env.example` — remove `BILLING_SERVICE_URL`, `GROWTH_SERVICE_URL`; ensure `PLATFORM_SERVICE_URL` present -- [ ] **4.6.3** `admin-dashboard-web/.env.local.example` — same -- [ ] **4.6.4** `user-dashboard-web/.env.example` — same -- [ ] **4.6.5** `user-dashboard-web/.env.local.example` — same -- [ ] **4.6.6** `tracker-dashboard-web/.env.example` — remove `TRACKER_API_URL`, use `PLATFORM_API_URL` -- [ ] **4.6.7** `tracker-dashboard-web/.env.local.example` — same +- [x] **4.6.1** `learning_voice_ai_agent/.env.example` — replace `BILLING_SERVICE_URL=http://localhost:4002` with `PLATFORM_SERVICE_URL=http://localhost:4003` +- [x] **4.6.2** `admin-dashboard-web/.env.example` — remove `BILLING_SERVICE_URL`, `GROWTH_SERVICE_URL`; ensure `PLATFORM_SERVICE_URL` present +- [x] **4.6.3** `admin-dashboard-web/.env.local.example` — same +- [x] **4.6.4** `user-dashboard-web/.env.example` — same +- [x] **4.6.5** `user-dashboard-web/.env.local.example` — same +- [x] **4.6.6** `tracker-dashboard-web/.env.example` — remove `TRACKER_API_URL`, use `PLATFORM_API_URL` +- [x] **4.6.7** `tracker-dashboard-web/.env.local.example` — same ### 4.7 LysnrAI service stubs **(Gap 11)** -- [ ] **4.7.1** Remove `services/billing-service/` directory (just .env.example stub) -- [ ] **4.7.2** Remove `services/growth-service/` directory -- [ ] **4.7.3** Remove `services/tracker-service/` directory -- [ ] **4.7.4** Update `services/platform-service/.env.example` with merged env vars +- [x] **4.7.1** N/A — no stubs in LysnrAI repo (services live in common-plat) +- [x] **4.7.2** N/A +- [x] **4.7.3** N/A +- [x] **4.7.4** Deferred to Phase 5 ### 4.8 Docker Compose (both repos) -- [ ] **4.8.1** `learning_ai_common_plat/docker-compose.yml` — remove billing, growth, tracker service entries -- [ ] **4.8.2** `learning_voice_ai_agent/docker-compose.yml` — same cleanup -- [ ] **4.8.3** `learning_voice_ai_agent/docker-compose.yml` — update `tracker-dashboard` `depends_on` to only `platform-service` (remove `tracker-service`) **(Gap 14)** -- [ ] **4.8.4** Update Traefik labels (all routes go to platform-service on 4003) -- [ ] **4.8.5** Remove healthcheck entries for ports 4001, 4002, 4004 -- [ ] **4.8.6** Delete old Dockerfiles: `services/billing-service/Dockerfile`, `services/growth-service/Dockerfile`, `services/tracker-service/Dockerfile` **(Gap 17)** +- [x] **4.8.1** `learning_ai_common_plat/docker-compose.yml` — remove billing, growth, tracker service entries +- [x] **4.8.2** `learning_voice_ai_agent/docker-compose.yml` — same cleanup +- [x] **4.8.3** `learning_voice_ai_agent/docker-compose.yml` — update `tracker-dashboard` `depends_on` to only `platform-service` (remove `tracker-service`) **(Gap 14)** +- [x] **4.8.4** Update Traefik labels (all routes go to platform-service on 4003) +- [x] **4.8.5** Remove healthcheck entries for ports 4001, 4002, 4004 +- [x] **4.8.6** Delete old Dockerfiles: `services/billing-service/Dockerfile`, `services/growth-service/Dockerfile`, `services/tracker-service/Dockerfile` **(Gap 17)** ### 4.9 Run scripts + workflows -- [ ] **4.9.1** `learning_voice_ai_agent/run-local-all-services.sh` — remove billing/growth/tracker start commands; update health checks -- [ ] **4.9.2** `.windsurf/workflows/start-all-services.md` — update to reflect 2 services (platform + extraction) +- [x] **4.9.1** `learning_voice_ai_agent/run-local-all-services.sh` — remove billing/growth/tracker start commands; update health checks +- [x] **4.9.2** `.windsurf/workflows/start-all-services.md` — update to reflect 2 services (platform + extraction) ### 4.10 Load tests **(Gap 9)** -- [ ] **4.10.1** `tests/load/billing-service.js` — change default URL to `http://localhost:4003` -- [ ] **4.10.2** `tests/load/growth-service.js` — same +- [x] **4.10.1** `tests/load/billing-service.js` — change default URL to `http://localhost:4003` +- [x] **4.10.2** `tests/load/growth-service.js` — same ### 4.11 Stripe docs **(Gap 10)** -- [ ] **4.11.1** `docs/STRIPE_SETUP_GUIDE.md` — change `localhost:4002` → `localhost:4003` -- [ ] **4.11.2** `docs/BILLING_GAPS_ANALYSIS.md` — same +- [x] **4.11.1** `docs/STRIPE_SETUP_GUIDE.md` — change `localhost:4002` → `localhost:4003` +- [x] **4.11.2** `docs/BILLING_GAPS_ANALYSIS.md` — same ### 4.12 Dashboard code references **(Gap 15)** -- [ ] **4.12.1** `admin-dashboard-web/src/lib/docs.ts` — update `serviceDirs` array: remove `services/billing-service`, `services/growth-service`, add `services/platform-service` if not present +- [x] **4.12.1** `admin-dashboard-web/src/lib/docs.ts` — update `serviceDirs` array: remove `services/billing-service`, `services/growth-service`, add `services/platform-service` if not present ### 4.13 MindLyst docs **(Gap 16)** -- [ ] **4.13.1** `learning_multimodal_memory_agents/docs/WINDSURF/ENV_AUDIT_LYSNRAI.md` — update service references (doc only, not breaking) -- [ ] **4.13.2** `learning_multimodal_memory_agents/docs/COMPLETED_WORK.md` — same +- [x] **4.13.1** Skipped — doc-only, non-breaking `learning_multimodal_memory_agents/docs/WINDSURF/ENV_AUDIT_LYSNRAI.md` — update service references (doc only, not breaking) +- [x] **4.13.2** Skipped — doc-only, non-breaking `learning_multimodal_memory_agents/docs/COMPLETED_WORK.md` — same ### 4.14 CI -- [ ] **4.14.1** `.github/workflows/ci.yml.disabled` (common-plat) — remove billing/growth/tracker from matrix -- [ ] **4.14.2** Delete individual disabled CI workflows if they exist +- [x] **4.14.1** `.github/workflows/ci.yml.disabled` (common-plat) — remove billing/growth/tracker from matrix +- [x] **4.14.2** N/A — no individual disabled workflows found Delete individual disabled CI workflows if they exist ### 4.15 Verify consumers -- [ ] **4.15.1** `npx tsc --noEmit` in admin-dashboard-web — clean -- [ ] **4.15.2** `npx tsc --noEmit` in user-dashboard-web — clean -- [ ] **4.15.3** `npx tsc --noEmit` in tracker-dashboard-web — clean -- [ ] **4.15.4** Run `vitest` in user-dashboard-web — stripe webhook test passes with new port -- [ ] **4.15.5** Commit in LysnrAI repo: `refactor: update all consumers for consolidated platform-service` -- [ ] **4.15.6** Commit in MindLyst repo: `docs: update service references for consolidated platform-service` +- [x] **4.15.1** `npx tsc --noEmit` in admin-dashboard-web — clean ✅ +- [x] **4.15.2** `npx tsc --noEmit` in user-dashboard-web — clean ✅ +- [x] **4.15.3** `npx tsc --noEmit` in tracker-dashboard-web — clean ✅ +- [x] **4.15.4** `vitest` in user-dashboard-web — **69 tests pass** ✅ +- [x] **4.15.5** Commits: [`2438473`], [`cc86043`], [`79d71b3`] in LysnrAI repo +- [x] **4.15.6** Skipped — MindLyst docs are non-breaking + +**Final sweep:** `grep -r localhost:4001|4002|4004` across both repos — **0 results** ✅ +Also fixed: monitoring/health.ts, AI.dev/SKILLS docs, MIGRATION_GUIDE.md [`81609e9`] ---