# Foundations and Decisions Roadmap Status: Draft Parent: `docs/ROADMAP.md` # Goal Make the product implementation-ready and eliminate ambiguity before parallel coding begins. # Checklist ## Product Identity - [ ] Finalize product name - [ ] Finalize `productId` - [ ] Finalize domain - [ ] Finalize app naming conventions - [x] Finalize backend port ## Repo / Structure - [x] Finalize top-level folder layout - [x] Finalize package/dependency strategy - [ ] Finalize build command strategy - [x] Finalize docs structure ## Product Shape - [x] Finalize MVP feature cut line - [x] Finalize initial domain objects - [ ] Finalize operator vs shared-admin boundary - [ ] Finalize mobile parity definition - [x] Finalize initial route/page/screen inventory ## Platform / Shared Dependencies - [x] Finalize `platform-service` dependencies - [x] Finalize `extraction-service` usage for MVP - [x] Finalize `mcp-server` integration strategy - [ ] Finalize telemetry/diagnostics baseline - [ ] Finalize blob/upload strategy - [ ] Finalize token namespace request ## Architecture Decisions - [x] Confirm web stack - [x] Confirm backend stack - [x] Confirm React Native MVP path - [x] Confirm no parallel native-mobile track for MVP - [x] Confirm product-specific backend ownership ## Documentation Alignment - [x] Align `PRD.md` - [x] Align `ROADMAP.md` - [ ] Align all workstream roadmap docs # Progress Notes - 2026-03-10 — Phase 0 decisions were partially locked to unblock implementation. - The repo now has active `web/`, `backend/`, and `shared/` surfaces instead of a docs-only structure. - Provisional bootstrap values are in use for implementation: - product display name: `NoteLett` - `productId`: `notelett` - domain: `notelett.app` - backend port: `4016` - Backend scaffolding now uses the established ByteLyst product-backend pattern: - Fastify 5 - TypeScript ESM - `types.ts` → `repository.ts` → `routes.ts` - shared `@bytelyst/*` package wiring # Open Questions - ~~Should the final canonical `productId` remain `bytelyst-notes` or use a shorter ecosystem-standard form?~~ **Resolved:** `notelett` - ~~Should the final public domain be `notes.bytelyst.app` or another product-specific domain?~~ **Resolved:** `notelett.app` - What is the final operator vs shared-admin boundary for approval and audit review flows? - Does v1 mobile parity include approvals and lightweight editing, or capture/retrieval only? - What token namespace should be requested for shared design-system generation? # Blockers - Dependencies have not yet been installed in the new `backend/` package, so verification is still pending. - Product identity is still provisional in implementation and must be finalized before broader cross-surface wiring. # Deferred - Final token namespace reservation - Final operator/admin ownership split - Full telemetry, diagnostics, and blob strategy lock # Done When - [ ] No major implementation ambiguity remains - [ ] All downstream workstreams can start without reopening stack decisions