From a7103401635ad366ad35b9200f1cbf03ef24575b Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Sat, 14 Feb 2026 21:15:06 -0800 Subject: [PATCH] =?UTF-8?q?docs:=20second=20review=20pass=20=E2=80=94=205?= =?UTF-8?q?=20additional=20gaps=20found=20(13-17),=20total=2017=20gaps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Gap 13: Growth tsconfig path alias (unused, safe) - Gap 14: Docker Compose depends_on for tracker-dashboard - Gap 15: Admin dashboard docs.ts service directory list - Gap 16: MindLyst docs reference old services - Gap 17: Old Dockerfiles need deletion - Confirmed safe: Cosmos pattern, vitest, extraction-service, MindLyst web, pnpm-workspace - Phase 4 expanded with new task items (4.8.3, 4.8.6, 4.12, 4.13, 4.15.6) --- .../WINDSURF/SERVICE_CONSOLIDATION_ROADMAP.md | 85 ++++++++++++++++--- 1 file changed, 72 insertions(+), 13 deletions(-) diff --git a/docs/WINDSURF/SERVICE_CONSOLIDATION_ROADMAP.md b/docs/WINDSURF/SERVICE_CONSOLIDATION_ROADMAP.md index c7d29e0f..1ab9d010 100644 --- a/docs/WINDSURF/SERVICE_CONSOLIDATION_ROADMAP.md +++ b/docs/WINDSURF/SERVICE_CONSOLIDATION_ROADMAP.md @@ -145,6 +145,53 @@ After consolidation, remove billing/growth/tracker stubs, keep platform-service No references to old service ports found in `mobile_app/` — **no changes needed**. ✅ Mobile apps call the Python backend (`localhost:8000`), which calls billing-service. The Python backend client (Gap 6) handles the redirection. +### Gap 13: Growth-Service tsconfig Has Path Alias + +`growth-service/tsconfig.json` has `"paths": { "@/*": ["./src/*"] }` that other services don't have. If any growth module uses `@/` imports, they'll break in platform-service. + +**Fix:** Verified — no `@/` imports found in growth-service source. The path alias is unused. Safe to ignore, but remove it when copying tsconfig config. + +### Gap 14: Docker Compose `depends_on` for Tracker Dashboard + +`learning_voice_ai_agent/docker-compose.yml` has: +```yaml +tracker-dashboard: + depends_on: + tracker-service: + condition: service_started + platform-service: + condition: service_started +``` +After merge, `tracker-service` container no longer exists. Must change `depends_on` to only `platform-service`. + +### Gap 15: Admin Dashboard `docs.ts` Service Directory List + +`admin-dashboard-web/src/lib/docs.ts` has a hardcoded list of service directories: +```typescript +const serviceDirs = [ + 'admin-dashboard-web', 'user-dashboard-web', 'mobile_app', + 'services/billing-service', 'services/growth-service', +]; +``` +Must update to remove old service names or replace with `services/platform-service`. + +### Gap 16: MindLyst Docs Reference Old Services + +`learning_multimodal_memory_agents/docs/WINDSURF/ENV_AUDIT_LYSNRAI.md` and `docs/COMPLETED_WORK.md` reference billing/growth/tracker services (9 + 3 matches). These are **documentation only** — not breaking, but should be updated for accuracy. + +### Gap 17: Platform-Service Dockerfile Needs No Change + +Platform-service's Dockerfile only copies `services/platform-service/` — it does NOT reference other services. After modules are merged INTO platform-service, the existing Dockerfile pattern works as-is. ✅ However, old Dockerfiles for billing/growth/tracker should be deleted. + +### Confirmed Safe ✅ + +- **Cosmos container pattern:** All 4 services use identical `getContainer()` from `@bytelyst/cosmos` — no registration differences +- **tsconfig:** All 4 identical (except growth path alias — unused) +- **vitest config:** All use root vitest config — no service-specific overrides +- **Extraction-service:** Zero references to billing/growth/tracker — completely independent ✅ +- **MindLyst web app:** Zero references to old service ports ✅ +- **pnpm-workspace.yaml:** Uses `services/*` glob — automatically picks up directory changes ✅ + ### Route Path Collision Check ✅ All services use unique route prefixes — **no collisions**: @@ -448,8 +495,10 @@ All containers served by one Cosmos client in platform-service: - [ ] **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** Update Traefik labels (all routes go to platform-service on 4003) -- [ ] **4.8.4** Remove healthcheck entries for ports 4001, 4002, 4004 +- [ ] **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)** ### 4.9 Run scripts + workflows @@ -466,18 +515,28 @@ All containers served by one Cosmos client in platform-service: - [ ] **4.11.1** `docs/STRIPE_SETUP_GUIDE.md` — change `localhost:4002` → `localhost:4003` - [ ] **4.11.2** `docs/BILLING_GAPS_ANALYSIS.md` — same -### 4.12 CI +### 4.12 Dashboard code references **(Gap 15)** -- [ ] **4.12.1** `.github/workflows/ci.yml.disabled` (common-plat) — remove billing/growth/tracker from matrix -- [ ] **4.12.2** Delete individual disabled CI workflows if they exist +- [ ] **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 Verify consumers +### 4.13 MindLyst docs **(Gap 16)** -- [ ] **4.13.1** `npx tsc --noEmit` in admin-dashboard-web — clean -- [ ] **4.13.2** `npx tsc --noEmit` in user-dashboard-web — clean -- [ ] **4.13.3** `npx tsc --noEmit` in tracker-dashboard-web — clean -- [ ] **4.13.4** Run `vitest` in user-dashboard-web — stripe webhook test passes with new port -- [ ] **4.13.5** Commit in LysnrAI repo: `refactor: update all consumers for consolidated platform-service` +- [ ] **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 + +### 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 + +### 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` --- @@ -524,9 +583,9 @@ All containers served by one Cosmos client in platform-service: | **1** | Merge growth-service (3 modules) | 2–3 hrs | ~14 | Gap 4 (webhooks), Gap 5 (Stripe key) | | **2** | Merge billing-service (5 modules) | 4–5 hrs | ~11 | Gap 3 (internal key auth) | | **3** | Merge tracker-service (4 modules) | 3–4 hrs | ~45 | Gap 1 (product ID), Gap 2 (deps) | -| **4** | Update consumers (17+ files across repos) | 3–4 hrs | — | Gaps 6–11 | +| **4** | Update consumers (20+ files across 3 repos) | 4–5 hrs | — | Gaps 6–11, 13–17 | | **5** | Documentation & final verification | 2–3 hrs | — | — | -| **Total** | **5 services → 2** | **~4–5 days** | **~125+ tests** | **12 gaps addressed** | +| **Total** | **5 services → 2** | **~4–5 days** | **~125+ tests** | **17 gaps addressed** | ## Port Allocation (After)