# 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: `ByteLyst Agentic Notes`
  - provisional `productId`: `bytelyst-notes`
  - provisional domain: `notes.bytelyst.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?
- Should the final public domain be `notes.bytelyst.app` or another product-specific domain?
- 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
