# All Other Workstreams — Remaining Items (Non-Mobile)

> Last updated: 2026-02-15
> Sources:
>
> - `learning_ai_common_plat/docs/ROADMAP.md`
> - `learning_ai_common_plat/docs/EXTRACTION_SERVICE_ROADMAP.md`
> - `learning_ai_common_plat/docs/codex/platform_and_products_refactor_2026-02-14.md`
> - `learning_ai_common_plat/docs/WINDSURF/SERVICE_CONSOLIDATION_ROADMAP.md`

## Progress Log

- 2026-02-14: Checklist created (`docs/workstreams/*`) in commit `5113b56`
- 2026-02-14: Added Dependabot config (`.github/dependabot.yml`)
- 2026-02-14: Added pre-commit token auto-generation (`lint-staged` for `packages/design-tokens`)
- 2026-02-14: Added `@bytelyst/blob` shared package (Blob client helpers + SAS URL generation)
- 2026-02-14: Added `@bytelyst/monitoring` shared package (health-check aggregation)
- 2026-02-14: Attempted `docker compose build` (fails: disk is full; free space before retrying)
- 2026-02-15: `docker compose build` passes (all service images)
- 2026-02-15: `docker compose up -d` passes (removed Loki logging-driver requirement; fixed healthchecks for Alpine/IPv6)
- 2026-02-15: Verified `/health` endpoints across services (docker-network check; see **6.17**)
- 2026-02-15: Removed MindLyst KMP build verification from this non-mobile checklist (tracked in `docs/workstreams/MOBILE_WORKSTREAM_REMAINING.md`)
- 2026-02-15: Verified `extraction-service` Dockerfile build (`docker compose build extraction-service`)
- 2026-02-15: Added Changesets (`.changeset/`) for versioning + changelog automation (**7.2**)
- 2026-02-15: Added reusable GitHub Actions workflow template (`.github/workflows/reusable-pnpm-workspace.yml`) (**7.3**)
- 2026-02-15: Unblocked platform/tracker Cosmos usage by adding dev auto-init for missing DB/containers (services call `initializeAllContainers()`)
- 2026-02-15: Verified auth + tracker E2E via container-run smoke: register/login/me; create item/comment/vote; public roadmap vote + submit idea (**6.15**, **6.16**)
- 2026-02-15: Local Docker cleanup: `docker system prune -af` reclaimed ~10.5GB (build cache)
- 2026-02-15: Production readiness checks passed across all 3 repos (install, build, typecheck, lint, test)
- 2026-02-15: LysnrAI: fixed Pydantic v2 `PlanTier` runtime import (`bcda5d1`), ruff import sort (`60c1d79`)
- 2026-02-15: LysnrAI: TestFlight Build 7 + Build 8 uploaded to App Store Connect (`e2597a8`, `8f852f3`)
- 2026-02-15: LysnrAI: delete-all history support (backend + web + iOS) (`bdb9f3f`)
- 2026-02-15: LysnrAI: dictation sessions design doc — PTT, dual-prompt, multi-format export (`a34ecff`, `5ac6adf`)
- 2026-02-15: Common platform: DevOps docs overhaul — AKV audit, secrets rotation, env var audit (`ea44a73`–`4d78c45`)
- 2026-02-15: Common platform: seeded all 13 `lysnr-*` Key Vault secrets (`a7dd0a3`, `7c72ed7`)
- 2026-02-15: All 3 repos: agent docs updated (AGENTS.md, CLAUDE.md, etc.) (`cb728d3`, `7fe22c7`, `fb3c893`)
- 2026-02-15: All 3 repos: main branch backups pushed to remote

## Prereqs (Local)

- [x] Create local `.env` from `.env.example` (do not commit the file)
- [x] Set real `.env` values so auth + CRUD flows work (Cosmos + JWT at minimum)
- [x] Ensure Docker Desktop is running (required for `docker compose build` / `up`)

## Execution Order (Suggested)

1. Docker build and bring up the full stack (proves Dockerfiles + compose wiring).
2. Run the monitoring health-check and complete the E2E/manual flows.
3. Tackle Phase 7 enhancements (publishing, Changesets, new shared packages).

## Home Laptop Priority (No Proxy Issues)

- [x] Common platform: `cd learning_ai_common_plat && docker compose build` (maps to **5.16**)
- [x] Common platform: `cd learning_ai_common_plat && docker compose up -d` (maps to **5.17** / **6.12**)
- [ ] E2E/manual login tests across dashboards (admin/user/tracker) once stack is up

## Common Platform Extraction (`learning_ai_common_plat`) — Remaining Tasks

Docker verification

- [x] **1A.23** Verify Docker builds still pass (post-consolidation: `platform-service` + `extraction-service`)
- [x] **1B.33** Verify Docker builds pass
- [x] **2A.25** Verify Docker builds
- [x] **2C.23** Verify Docker builds still pass (post-consolidation: `platform-service` + `extraction-service`)
- [x] **2C.24** Verify `docker-compose up` starts all services correctly

E2E/manual auth flow checks

- [ ] **3B.14** Test login/logout flow manually in admin dashboard (requires running services)
- [ ] **3B.19** Test login/logout + SSO flow manually in user dashboard (requires running services)
- [ ] **3B.28** Test all login flows end-to-end across all 3 dashboards (requires running services)

Design token follow-ups

- [ ] **4.24** Verify visual consistency: spot-check colors in iOS preview, Android preview, and web dev server

CI + docker compose (home network)

- [x] **5.16** Run `docker compose build` (was blocked by disk space / proxy on other machines)
- [x] **5.17** Run `docker compose up -d` (requires 5.16)

Full-stack verification + E2E scenarios

Note: MindLyst KMP build verification is tracked in `docs/workstreams/MOBILE_WORKSTREAM_REMAINING.md`.

- [x] **6.12** Docker compose full stack: `docker compose up -d` -> all healthy
- [ ] **6.13** Test: Admin login -> create user -> view user list
- [ ] **6.14** Test: User login -> view profile -> update settings
- [x] **6.15** Test: Tracker login -> create item -> add comment -> vote (verified via consolidated `platform-service` APIs)
- [x] **6.16** Test: Public roadmap page -> vote -> submit idea (verified via consolidated `platform-service` public APIs)
- [x] **6.17** Test: Service health checks via monitoring script (docker-network health probes pass)

Publishing + repo hygiene

- [ ] **7.1** Publish `@bytelyst/*` packages to GitHub Packages (private npm registry)
- [x] **7.2** Add Changesets for automated version management and changelogs
- [x] **7.3** Create reusable GitHub Actions workflow templates for service CI
- [x] **7.4** Add `@bytelyst/blob` package (extract blob storage client + SAS generation)
- [x] **7.5** Add `@bytelyst/monitoring` package (health check aggregator)
- [ ] **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)
- [x] **7.9** Add pre-commit hooks to auto-run token generation when JSON changes
- [x] **7.10** Set up Renovate/Dependabot for common-plat dependency updates

## Extraction Service — Deferred Items

From `learning_ai_common_plat/docs/EXTRACTION_SERVICE_ROADMAP.md` (the service is implemented; remaining items are verification/external actions):

- [x] Run Dockerfile build verification: `cd learning_ai_common_plat && docker compose build extraction-service`
- [ ] CI workflow execution: re-enable GitHub Actions billing (repo setting) so `.github/workflows/ci-extraction-service.yml` can run
- [ ] Persist extraction usage in Cosmos DB (create `extraction_usage` container + wire persistence)
- [ ] Wire Azure Blob Storage for visualization export artifacts (planned via `@bytelyst/blob`)
- [ ] Add webhook callback for async extraction jobs (push completion, not just polling)

## Platform + Product Repo Refactor (Strategic)

Phase 0 (Decisions + guardrails)

- [ ] Decide the integration contract per capability:
  - [ ] Cross-language: API + SDK (recommended)
  - [ ] TS-only: shared package
- [ ] Decide the package distribution method:
  - [ ] GitHub Packages (private npm scope) or private npm registry
  - [ ] Python package distribution (private index or GitHub release artifacts)
- [ ] Define platform vs product ownership boundaries:
  - [ ] What must be in platform (identity/billing/flags/notifications)
  - [ ] What remains product-only (dictation UX; MindLyst brains/triage UX)

Phase 1 (Make platform libraries release-ready)

- [ ] Add versioning/release tooling to `learning_ai_common_plat`:
  - [ ] Add Changesets (or equivalent) for `@bytelyst/*`
  - [ ] Enforce semver and changelogs
- [ ] Ensure every package has:
  - [ ] stable exports (`exports` field), `README.md`, minimal examples
  - [ ] tests for critical primitives (auth/config/errors/cosmos)
- [ ] Add CI workflows that run on every PR:
  - [ ] `pnpm -w lint`, `pnpm -w typecheck`, `pnpm -w test`, `pnpm -w build`

Phase 2 (Publish platform packages)

- [ ] Configure publishing for `@bytelyst/*`:
  - [ ] set up registry auth (`.npmrc` in CI only)
  - [ ] publish on merge to `main` with tags
- [ ] Publish initial versions (`0.1.x`) and document upgrade policy.

Phase 3 (Decouple product repos from sibling paths)

- [ ] In `learning_voice_ai_agent/*-dashboard-web`:
  - [ ] Replace `file:` dependencies with versioned `@bytelyst/*`
  - [ ] Remove any build hacks that assume `../../learning_ai_common_plat/packages/*/dist`
  - [ ] Ensure `npm ci && npm run build` works with no sibling checkout
- [ ] In MindLyst web:
  - [ ] (Optional) Replace local `src/lib/cosmos.ts` with `@bytelyst/cosmos` usage

Phase 4 (Platform contracts + SDK generation)

- [ ] Add OpenAPI specs for each platform service.
- [ ] Add generators:
  - [ ] TypeScript SDK (consumed by dashboards + future clients)
  - [ ] Python SDK (consumed by `learning_voice_ai_agent` desktop/backend)
- [ ] Update products to use generated clients (reduces drift and hand-written HTTP code).

Phase 5 (Unify identity/billing across products)

- [ ] Define the canonical identity model (users/orgs/roles/entitlements).
- [ ] Move generic endpoints out of product backends into platform services:
  - [ ] Auth/token issuance and verification
  - [ ] License issuance/validation
  - [ ] Usage aggregation + limits
  - [ ] Notifications + audit
- [ ] In product repos:
  - [ ] Replace direct Cosmos access where it duplicates platform (when feasible)
  - [ ] Keep product-only endpoints in a thin product service

Phase 6 (Developer experience "golden paths")

- [ ] Add templates:
  - [ ] `create-bytelyst-service` scaffold (Fastify + packages)
  - [ ] `create-bytelyst-dashboard` scaffold (Next + auth + client)
- [ ] Standardize toolchain pinning across repos:
  - [ ] Node (>=20.9), pnpm version, Python (>=3.12 for LysnrAI)
  - [ ] one command per repo: `./quick-check.sh` or `make check`
- [ ] Add CODEOWNERS + review rules for platform code.
- [ ] Add feature flagging discipline (flags live in platform; products consume).
