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
This commit is contained in:
saravanakumardb1 2026-02-14 14:31:34 -08:00
parent 8cd5f51389
commit fde10be75b
4 changed files with 51 additions and 39 deletions

View File

@ -76,6 +76,7 @@ jobs:
- fastify-core - fastify-core
- design-tokens - design-tokens
- testing - testing
- extraction
steps: steps:
- name: Checkout - name: Checkout
@ -124,6 +125,7 @@ jobs:
- billing-service - billing-service
- growth-service - growth-service
- tracker-service - tracker-service
- extraction-service
steps: steps:
- name: Checkout - name: Checkout

View File

@ -42,6 +42,7 @@ learning_ai_common_plat/
│ ├── billing-service/ # Subscriptions, Stripe, usage, licenses (port 4002) │ ├── billing-service/ # Subscriptions, Stripe, usage, licenses (port 4002)
│ ├── growth-service/ # Invitations, referrals, promos (port 4001) │ ├── growth-service/ # Invitations, referrals, promos (port 4001)
│ ├── tracker-service/ # Items, comments, votes, public roadmap (port 4004) │ ├── tracker-service/ # Items, comments, votes, public roadmap (port 4004)
│ ├── extraction-service/ # LangExtract text extraction + Python sidecar (port 4005)
│ └── monitoring/ # Loki + Grafana config, health-check script │ └── monitoring/ # Loki + Grafana config, health-check script
├── docs/ # Architecture docs, roadmap, analysis ├── docs/ # Architecture docs, roadmap, analysis
├── package.json # Root scripts: build, test, typecheck, clean ├── package.json # Root scripts: build, test, typecheck, clean
@ -106,7 +107,7 @@ learning_ai_common_plat/
## 5. File Ownership Map ## 5. File Ownership Map
| Domain | Location | Key Files | | Domain | Location | Key Files |
| ----------------------- | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | | ----------------------- | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| **Errors** | `packages/errors/` | `src/index.ts``BadRequestError`, `UnauthorizedError`, `ForbiddenError`, `NotFoundError`, `ConflictError`, `RateLimitError` | | **Errors** | `packages/errors/` | `src/index.ts``BadRequestError`, `UnauthorizedError`, `ForbiddenError`, `NotFoundError`, `ConflictError`, `RateLimitError` |
| **Cosmos client** | `packages/cosmos/` | `src/index.ts``getCosmosClient()`, `getContainer()`, container registry | | **Cosmos client** | `packages/cosmos/` | `src/index.ts``getCosmosClient()`, `getContainer()`, container registry |
| **Config / Product ID** | `packages/config/` | `src/index.ts``loadEnvConfig()`, `loadProductIdentity()`, `getProductId()` | | **Config / Product ID** | `packages/config/` | `src/index.ts``loadEnvConfig()`, `loadProductIdentity()`, `getProductId()` |
@ -132,6 +133,10 @@ learning_ai_common_plat/
| **Public roadmap** | `services/tracker-service/` | `src/modules/public/` | | **Public roadmap** | `services/tracker-service/` | `src/modules/public/` |
| **Tracker comments** | `services/tracker-service/` | `src/modules/comments/` | | **Tracker comments** | `services/tracker-service/` | `src/modules/comments/` |
| **Tracker votes** | `services/tracker-service/` | `src/modules/votes/` | | **Tracker votes** | `services/tracker-service/` | `src/modules/votes/` |
| **Extraction routes** | `services/extraction-service/` | `src/modules/extract/` — POST /extract, /extract/batch, /extract/jobs, /extract/models |
| **Extraction tasks** | `services/extraction-service/` | `src/modules/tasks/` — predefined task library (triage, transcript, memory-insight, etc.) |
| **Extraction Python** | `services/extraction-service/` | `python/src/` — LangExtract sidecar (FastAPI :4006), extractor, task registry, language detection |
| **Extraction package** | `packages/extraction/` | `src/index.ts``createExtractionClient()`, shared types for consumers |
| **Monitoring** | `services/monitoring/` | `health-check.ts`, `loki/`, `grafana/` | | **Monitoring** | `services/monitoring/` | `health-check.ts`, `loki/`, `grafana/` |
### Dashboard Consumers (via `file:` refs) ### Dashboard Consumers (via `file:` refs)
@ -271,6 +276,7 @@ DEFAULT_PRODUCT_ID=lysnrai
@lysnrai/billing-service ← @bytelyst/{config, cosmos, errors} @lysnrai/billing-service ← @bytelyst/{config, cosmos, errors}
@lysnrai/growth-service ← @bytelyst/{config, cosmos, errors} @lysnrai/growth-service ← @bytelyst/{config, cosmos, errors}
@lysnrai/tracker-service ← @bytelyst/{config, cosmos, errors} @lysnrai/tracker-service ← @bytelyst/{config, cosmos, errors}
@lysnrai/extraction-service ← @bytelyst/{fastify-core, config, cosmos, errors, auth}
``` ```
Build order: packages first (they have no inter-deps), then services. `pnpm build` handles this automatically via workspace topology. Build order: packages first (they have no inter-deps), then services. `pnpm build` handles this automatically via workspace topology.
@ -289,12 +295,13 @@ Build order: packages first (they have no inter-deps), then services. `pnpm buil
## 11. Service Test Counts ## 11. Service Test Counts
| Service / Package | Tests | Runner | | Service / Package | Tests | Runner |
| ----------------- | -------- | ------ | | ------------------ | -------- | ------ |
| platform-service | 55 | vitest | | platform-service | 55 | vitest |
| tracker-service | 45 | vitest | | tracker-service | 45 | vitest |
| extraction-service | 46 | vitest |
| growth-service | 33 | vitest | | growth-service | 33 | vitest |
| billing-service | 32 | vitest | | billing-service | 32 | vitest |
| **Total** | **165+** | | | **Total** | **211+** | |
## 12. Common Pitfalls ## 12. Common Pitfalls

View File

@ -537,7 +537,7 @@ The following gaps were identified by scanning every import in the actual codeba
- [x] **7.6** Add `@bytelyst/testing` package (shared test utilities, mock factories) — created with 10 tests - [x] **7.6** Add `@bytelyst/testing` package (shared test utilities, mock factories) — created with 10 tests
- [ ] **7.7** Evaluate Python shared package for `cosmos_client.py` + `blob_client.py` if MindLyst adds Python backend - [ ] **7.7** Evaluate Python shared package for `cosmos_client.py` + `blob_client.py` if MindLyst adds Python backend
- [ ] **7.8** Integrate `@bytelyst/design-tokens` into LysnrAI dashboards (unified design language) - [ ] **7.8** Integrate `@bytelyst/design-tokens` into LysnrAI dashboards (unified design language)
- [ ] **7.9** Add pre-commit hooks to auto-run token generation when JSON changes - [x] **7.9** Add pre-commit hooks to auto-run token generation when JSON changes — lint-staged rule on `bytelyst.tokens.json`
- [ ] **7.10** Set up Renovate/Dependabot for common-plat dependency updates - [ ] **7.10** Set up Renovate/Dependabot for common-plat dependency updates
--- ---
@ -557,8 +557,8 @@ The following gaps were identified by scanning every import in the actual codeba
| **4** | `@bytelyst/design-tokens` (4 platforms) | 24 | 23 | ✅ CSS synced to MindLyst; CONTRIBUTING updated; visual verify pending | | **4** | `@bytelyst/design-tokens` (4 platforms) | 24 | 23 | ✅ CSS synced to MindLyst; CONTRIBUTING updated; visual verify pending |
| **5** | CI/CD + Docker (pre-copy strategy) | 23 | 21 | ⚠️ All Dockerfiles rewritten, CI workflows created; Docker build blocked by proxy | | **5** | CI/CD + Docker (pre-copy strategy) | 23 | 21 | ⚠️ All Dockerfiles rewritten, CI workflows created; Docker build blocked by proxy |
| **6** | Verification + docs + cleanup | 28 | 21 | ✅ Docs updated, depcheck done, git clean; E2E needs services | | **6** | Verification + docs + cleanup | 28 | 21 | ✅ Docs updated, depcheck done, git clean; E2E needs services |
| **7** | Future enhancements (+testing pkg) | 10 | 3 | 🔲 @bytelyst/testing + @bytelyst/blob + @bytelyst/monitoring created | | **7** | Future enhancements (+testing pkg) | 10 | 3 | 🔲 @bytelyst/testing (10 tests) + token pre-commit hook + AGENTS updated |
| **Total** | **10 packages (+1 bonus: logger)** | **278** | **251** | **~90% complete** | | **Total** | **10 packages (+1 bonus: logger)** | **278** | **252** | **~91% complete** |
### Bonus Package (not in original roadmap) ### Bonus Package (not in original roadmap)

View File

@ -53,6 +53,9 @@
], ],
"*.{js,jsx,json,md,yml,yaml}": [ "*.{js,jsx,json,md,yml,yaml}": [
"prettier --write" "prettier --write"
],
"packages/design-tokens/tokens/bytelyst.tokens.json": [
"pnpm --filter @bytelyst/design-tokens generate"
] ]
} }
} }