130 lines
3.5 KiB
Markdown
130 lines
3.5 KiB
Markdown
# Backend Roadmap
|
|
|
|
Status: In Progress
|
|
Parent: `docs/ROADMAP.md`
|
|
Stack: Fastify 5 + TypeScript ESM + Zod + Cosmos
|
|
|
|
# Phase B0 — Scaffold
|
|
|
|
- [x] Create backend package structure
|
|
- [x] Wire `@bytelyst/config`
|
|
- [x] Wire `@bytelyst/auth`
|
|
- [x] Wire `@bytelyst/errors`
|
|
- [x] Wire `@bytelyst/cosmos`
|
|
- [x] Wire `@bytelyst/logger`
|
|
- [x] Wire `@bytelyst/testing`
|
|
- [x] Wire `@bytelyst/fastify-core`
|
|
- [x] Add `/health`
|
|
- [x] Establish route registration pattern
|
|
- [x] Establish container registration pattern
|
|
|
|
# Phase B1 — Core Domain
|
|
|
|
## Modules
|
|
|
|
- [x] `notes`
|
|
- [x] `workspaces`
|
|
|
|
## Tasks
|
|
|
|
- [x] Define note schemas
|
|
- [x] Define workspace schemas
|
|
- [x] Implement repositories
|
|
- [x] Implement routes
|
|
- [x] Add auth and workspace scoping rules
|
|
- [x] Add CRUD tests
|
|
|
|
# Phase B2 — Supporting Domain
|
|
|
|
## Modules
|
|
|
|
- [x] `note-relationships`
|
|
- [x] `note-tasks`
|
|
- [x] `note-artifacts`
|
|
- [x] `note-search` or search endpoints inside existing modules
|
|
|
|
## Tasks
|
|
|
|
- [x] Add linking APIs
|
|
- [x] Add artifact metadata APIs
|
|
- [x] Add task extraction persistence model
|
|
- [ ] Define attachment/blob references
|
|
- [ ] Expand integration tests across entities
|
|
|
|
# Phase B3 — Agent Domain
|
|
|
|
## Module
|
|
|
|
- [x] `note-agent-actions`
|
|
|
|
## Tasks
|
|
|
|
- [x] Define proposal vs applied change model
|
|
- [x] Define approval state transitions
|
|
- [x] Define audit event shape
|
|
- [x] Add idempotency approach for agent writes
|
|
- [x] Add request/workflow correlation support
|
|
- [x] Add tests for approval and agent write paths
|
|
|
|
# Phase B4 — Hardening
|
|
|
|
- [ ] Query/index review
|
|
- [ ] Performance tuning
|
|
- [ ] Fallback behavior review
|
|
- [ ] Typecheck passes
|
|
- [ ] Test suite passes
|
|
- [ ] Build passes
|
|
- [ ] Health/readiness verification passes
|
|
|
|
# Progress Notes
|
|
|
|
- 2026-03-10 — Initial backend scaffold created under `backend/`.
|
|
- Added:
|
|
- `package.json`
|
|
- `tsconfig.json`
|
|
- `.env.example`
|
|
- `shared/product.json`
|
|
- shared backend bootstrap files under `src/lib/`
|
|
- `notes` and `workspaces` modules
|
|
- `note-relationships` module
|
|
- `note-tasks` module
|
|
- `note-artifacts` module
|
|
- `note-agent-actions` module
|
|
- explicit `/notes/search` endpoint
|
|
- starter server and route tests
|
|
- Current data model split:
|
|
- `notes` partitioned by `/workspaceId`
|
|
- `workspaces` partitioned by `/userId`
|
|
- supporting containers registered for relationships, tasks, artifacts, and agent actions
|
|
|
|
# Open Questions
|
|
|
|
- Should `notes` remain partitioned by `/workspaceId` or move to `/userId` with secondary workspace filtering?
|
|
- Should workspace membership remain embedded in the workspace document for MVP or move to a dedicated membership container?
|
|
- What minimum search contract should land in B2 versus be folded into the `notes` module first?
|
|
|
|
# Blockers
|
|
|
|
- Backend verification has advanced, but the current automated route coverage is still mostly registration-focused rather than deep API-behavior or cross-entity integration coverage.
|
|
- The product identity is still provisional and may require small follow-up renames before wider integration.
|
|
|
|
# Deferred
|
|
|
|
- Blob-backed attachment reference hardening
|
|
- Approval workflow UX and enforcement hardening
|
|
- Audit/idempotency/correlation validation across integrated mutating flows
|
|
|
|
# High-Collision Areas
|
|
|
|
- [ ] shared route registration files
|
|
- [ ] shared auth hooks
|
|
- [ ] shared config files
|
|
- [ ] container registration files
|
|
|
|
# Done When
|
|
|
|
- [ ] Backend supports all MVP note workflows
|
|
- [ ] Agent write paths are auditable
|
|
- [ ] Shared platform integrations are wired cleanly
|
|
- [ ] Build/test/typecheck are stable
|