Commit Graph

132 Commits

Author SHA1 Message Date
saravanakumardb1
7c18cb45f4 docs: mark Phase 5 complete in consolidation roadmap 2026-02-14 21:54:50 -08:00
saravanakumardb1
11ca4e95e3 docs: Phase 5 update AGENTS.md, package.json, monitoring for consolidated services 2026-02-14 21:54:09 -08:00
saravanakumardb1
831e0cb810 docs: mark Phase 4 complete in consolidation roadmap 2026-02-14 21:49:36 -08:00
saravanakumardb1
81609e9358 fix: remove stale port references from monitoring, docs, and AI.dev skills 2026-02-14 21:48:21 -08:00
saravanakumardb1
d436f77be4 refactor: update CI matrix and docker-compose for consolidated services 2026-02-14 21:42:24 -08:00
saravanakumardb1
ea54437c1c refactor: remove growth/billing/tracker from common-plat docker-compose, update Traefik labels 2026-02-14 21:40:09 -08:00
saravanakumardb1
1ba8d6950a docs: mark Phase 3 complete in consolidation roadmap 2026-02-14 21:34:58 -08:00
saravanakumardb1
29fc8124e4 refactor: merge tracker-service into platform-service
Phase 3 of service consolidation (5→2 services).

Moved modules:
- items (16 tests)
- comments (6 tests)
- votes (5 tests)
- public (16 tests) — rate-limited, no auth required

Changes:
- Copied 4 modules from tracker-service
- Added DEFAULT_PRODUCT_ID alias in product-config.ts (Gap 1)
- Created src/lib/auth.ts re-exporting extractAuth from @bytelyst/auth (Gap 2)
- Added @bytelyst/auth and @fastify/rate-limit to package.json (Gap 2)
- Registered itemRoutes, commentRoutes, voteRoutes, publicRoutes in server.ts
- Public routes at top level (no auth scope)
- Removed tracker-service directory

Tests: 158 passing (115 + 43 from tracker = 158) 
Build: clean 

Service consolidation Phases 1-3 complete:
- growth-service: merged 
- billing-service: merged 
- tracker-service: merged 
Remaining: 2 services (platform-service + extraction-service)
2026-02-14 21:34:21 -08:00
saravanakumardb1
0933e931d4 docs: mark Phase 2 complete in consolidation roadmap 2026-02-14 21:31:49 -08:00
saravanakumardb1
f13c676139 refactor: merge billing-service into platform-service
Phase 2 of service consolidation (5→2 services).

Moved modules:
- subscriptions (9 tests)
- usage (7 tests)
- plans (9 tests)
- licenses (7 tests)
- stripe (0 tests — webhook signature verified at runtime)

Changes:
- Copied 5 modules + stripe.ts lib from billing-service
- Added billing env vars to config schema (Stripe, internal key, etc.)
- Scoped billing routes with internal key auth guard (Gap 3)
  - When BILLING_INTERNAL_KEY is set, billing routes require x-internal-key header
  - When unset, billing routes are open (dev mode)
  - Stripe routes always outside scope (own webhook signature check)
- Removed billing-service directory

Tests: 115 passing (83 + 32 from billing = 115) 
Build: clean 
2026-02-14 21:31:04 -08:00
saravanakumardb1
a862c692ec docs: mark Phase 1 complete in consolidation roadmap 2026-02-14 21:28:24 -08:00
saravanakumardb1
05008ee04f refactor: merge growth-service into platform-service
Phase 1 of service consolidation (5→2 services).

Moved modules:
- invitations (12 tests)
- referrals (9 tests)
- promos (7 tests)

Changes:
- Copied 3 modules + webhooks.ts lib from growth-service
- Added stripe dep to platform-service package.json
- Added webhook env vars to config schema
- Registered invitationRoutes, referralRoutes, promoRoutes in server.ts
- Removed growth-service directory

Tests: 83 passing (was 55 + 28 from growth = 83) 
Build: clean 
2026-02-14 21:27:44 -08:00
saravanakumardb1
a710340163 docs: second review pass — 5 additional gaps found (13-17), total 17 gaps
- 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)
2026-02-14 21:22:42 -08:00
saravanakumardb1
9f6c12043c docs: thorough review of service consolidation roadmap — 12 critical gaps identified
- Gap 1: Product ID naming inconsistency (tracker uses DEFAULT_PRODUCT_ID)
- Gap 2: Missing deps in platform-service (stripe, @bytelyst/auth, @fastify/rate-limit)
- Gap 3: Billing internal key auth must be scoped (not global hook)
- Gap 4-5: Growth webhooks lib + Stripe key config
- Gap 6: 17+ consumer files need URL updates across LysnrAI repo
- Gap 7: Ops status health check route references old ports
- Gap 8: Stripe webhook test hardcodes port 4002
- Gap 9-10: Load tests + Stripe docs reference old ports
- Gap 11: LysnrAI services/ env stubs need cleanup
- Gap 12: Mobile apps — no changes needed (confirmed)
- Route collision check: verified no conflicts
- Added Python client updates, Phase 0 baseline steps, pnpm install verification
2026-02-14 21:22:42 -08:00
saravanakumardb1
e4b55a0424 docs: add service consolidation roadmap, archive auth service design
- SERVICE_CONSOLIDATION_ROADMAP.md: plan to merge billing+growth+tracker into platform-service (5→2 services)
- AUTH_SERVICE_DESIGN.md: renamed with OUTDATED_CANCELED suffix, auth handled by platform-service
2026-02-14 21:22:42 -08:00
90041b6e7f docs(workstreams): log docker prune 2026-02-14 21:04:08 -08:00
95b45a9fd3 fix(cosmos): init containers on startup for local compose 2026-02-14 20:57:17 -08:00
saravanakumardb1
db9b21c36d chore: remove accidental :wq file 2026-02-14 20:51:54 -08:00
saravanakumardb1
b205049475 fix: remove push-to-main from backup script, remove push from commit-workspace
- backup-main.sh: no longer pushes unpushed main commits, removed Main Push column
- commit-workspace.sh: removed push_repo function, local commits only
- repo_commit-workspace.md: updated docs to reflect no-push behavior
2026-02-14 20:51:36 -08:00
saravanakumardb1
9b9f5ba0fd chore: update project files 2026-02-14 20:48:39 -08:00
saravanakumardb1
fde10be75b chore: add extraction-service to AGENTS.md, CI matrix, token pre-commit hook (7.9)
- AGENTS.md: extraction-service in layout, file ownership, deps, test table (211+ tests)
- ci.yml.disabled: extraction package + extraction-service added to matrix
- package.json: lint-staged rule to auto-generate tokens on bytelyst.tokens.json change
- ROADMAP.md: 252/278 (~91%), 7.9 done
2026-02-14 20:48:07 -08:00
8cd5f51389 docs: auth-service playbook 2026-02-14 20:39:37 -08:00
b044d3ee39 docs: note mindlyst ios memory store 2026-02-14 20:39:37 -08:00
3ac6de0595 ci(workflows): add reusable pnpm workflow 2026-02-14 19:50:44 -08:00
fd79131067 chore(release): add changesets 2026-02-14 19:49:08 -08:00
1e850bf232 docs(workstreams): update prereqs; mark extraction build 2026-02-14 19:47:13 -08:00
0240e7cbe0 Keep non-mobile checklist scoped; drop KMP item 2026-02-14 19:20:58 -08:00
9f96cdff2e docs: link MindLyst iOS XcodeGen/TestFlight readiness commit 2026-02-14 18:59:39 -08:00
16bc06d84a Add local health-check script; mark health verification 2026-02-14 18:59:01 -08:00
bbf91da48a Fix compose up on clean Docker; update checklist 2026-02-14 18:53:55 -08:00
607fcbf3d7 fix(docker): make pnpm deploy work under pnpm v10 2026-02-14 18:30:00 -08:00
35b58f4cb1 docs: link MindLyst iOS Share Extension scaffold commit 2026-02-14 18:05:26 -08:00
ad5fda4144 docs: link MindLyst iOS Azure Speech scaffold commit 2026-02-14 18:04:18 -08:00
cf4cf16630 docs: link LysnrAI iOS sound feedback commit 2026-02-14 18:02:18 -08:00
9c64c983a5 docs: link MindLyst iOS deep link + widget scaffold commits 2026-02-14 17:56:51 -08:00
2d098610cf docs: mark MindLyst iOS KMP compile verification 2026-02-14 17:54:42 -08:00
dc93d6cf83 docs: track iOS progress + link MindLyst voice capture commit 2026-02-14 17:31:35 -08:00
32f8f7ccf5 chore(docker): include new workspace packages in builds 2026-02-14 16:48:09 -08:00
e9b33fb518 feat(monitoring): add @bytelyst/monitoring package 2026-02-14 15:57:41 -08:00
125eb03745 feat(blob): add @bytelyst/blob shared package 2026-02-14 15:53:33 -08:00
dcfb774313 chore(tokens): auto-generate design tokens on commit 2026-02-14 15:46:20 -08:00
02eb686a8f chore(deps): add Dependabot config 2026-02-14 15:45:37 -08:00
c4611d1ff5 docs(workstreams): add prereqs and execution order 2026-02-14 15:44:31 -08:00
5113b569a1 docs(workstreams): add remaining tasklists 2026-02-14 15:33:56 -08:00
saravanakumardb1
c5b7029348 chore(ci): add cross-repo CI trigger + update roadmap (5.18-5.23, 4.23)
- trigger-consumers.yml.disabled: dispatches common-platform-updated event
- Dashboard CI workflows now in LysnrAI repo (5.22)
- Service CI already in common-plat ci.yml.disabled (5.18-5.21 N/A)
- Roadmap updated: 251/278 items (~90%)
2026-02-14 14:25:43 -08:00
saravanakumardb1
ac17e99aca docs(extraction): add completion status + deferred items table + verification summary
All 68 items checked. 5 deferred sub-tasks listed with action needed:
- 4.3: Docker build not yet run
- 4.11: CI disabled (billing)
- 5.4: Cosmos usage persistence (Phase 7)
- 6.2: Blob storage for visualizations
- 6.4: Webhook callback for async jobs
2026-02-14 14:12:00 -08:00
saravanakumardb1
7d2795165e docs(extraction): update roadmap — all 68 items complete across Phases 0-6
All checkboxes marked with commit links across 3 repos:
- common_plat: c292bb5, 0a87d19, 6a49823, bdd9bb1, c9d5c0c, 37343ae, 0d0165e, 9c8a316, b8c0a73, 5c1744d
- voice_ai_agent: 944609a, f65e318, a36b956, 87822d5, 00a3617
- multimodal_memory_agents: b545244, da04d4e
2026-02-14 14:09:57 -08:00
saravanakumardb1
5c1744d3a4 feat(extraction): Phase 6 advanced features (6.1-6.8)
- 6.1-6.2: Entity visualization components (bar chart, pie chart, timeline) [in LysnrAI repo]
- 6.3-6.4: Async job queue — POST /extract/jobs, GET /extract/jobs/:id, GET /extract/jobs
- 6.5-6.6: Model registry with tier (standard/premium/free/mock) + GET /extract/models
- 6.7-6.8: Multi-language detection (es/fr/de/pt/ja/zh/ko/ar) + prompt enrichment
- ExtractMetadata.language field added to Python models
- 46 TS tests passing, build clean
2026-02-14 14:08:02 -08:00
saravanakumardb1
b8c0a73e89 feat(extraction): Phase 5 observability + error handling (5.7-5.12)
- 5.7: Enhanced structured logging with userId, productId, cacheHit, tokenCount
- 5.8: Metrics module (counters + histograms) + /extract/metrics endpoint
- 5.9: Grafana dashboard config for extraction-service (Loki queries)
- 5.10: Error mapping — sidecar errors → proper HTTP status codes (408, 429, 502, 503)
- 5.11: Circuit breaker for Python sidecar (5 failures → 30s OPEN)
- 5.12: Graceful degradation — circuit open returns 503, cached results still served
- 46 TS tests passing
2026-02-14 14:04:59 -08:00
saravanakumardb1
9c8a3169dc feat(extraction): Phase 5 caching + cost controls (5.1-5.6)
- 5.1: Python sidecar LRU cache (cache.py) with configurable TTL + max size
- 5.2: Fastify-level cache with X-Extraction-Cache HIT/MISS header + /extract/cache-stats
- 5.3-5.5: Per-user daily quota (free=10, pro=100, enterprise=unlimited) with 429 response
- 5.6: GET /extract/usage endpoint for admin usage reporting
- Both Python + TS caches use sha256(taskId:modelId:text) keys
- 46 TS tests + 29 Python tests still passing
2026-02-14 14:02:21 -08:00