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:
parent
8cd5f51389
commit
fde10be75b
2
.github/workflows/ci.yml.disabled
vendored
2
.github/workflows/ci.yml.disabled
vendored
@ -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
|
||||||
|
|||||||
13
AGENTS.md
13
AGENTS.md
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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)
|
||||||
|
|
||||||
|
|||||||
@ -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"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user