learning_ai_notes/docs/roadmaps/01_FOUNDATIONS_AND_DECISIONS.md
saravanakumardb1 e1fde25afd feat(identity): lock NoteLett product identity across all surfaces
- productId: notelett
- displayName: NoteLett
- domain: notelett.app
- iOS bundle: com.bytelyst.notelett
- Android bundle: com.notelett.app
- backend port: 4016
- token namespace: --nl-* (CSS), NoteLettTheme (native)

Rippled through:
- shared/product.json (canonical source)
- backend package.json, config, cosmos-init, all 10 test files
- web package.json, landing page, notes-client test
- mobile app.json, package.json, auth screen
- docs: PRD, ROADMAP, architecture review, foundations, web/mobile roadmaps
- registered in learning_ai_common_plat/products/notelett/

Verification: backend typecheck + 18 tests, web typecheck + 6 tests, mobile typecheck — all pass.
2026-03-10 18:47:01 -07:00

3.0 KiB

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
  • Finalize backend port

Repo / Structure

  • Finalize top-level folder layout
  • Finalize package/dependency strategy
  • Finalize build command strategy
  • Finalize docs structure

Product Shape

  • Finalize MVP feature cut line
  • Finalize initial domain objects
  • Finalize operator vs shared-admin boundary
  • Finalize mobile parity definition
  • Finalize initial route/page/screen inventory

Platform / Shared Dependencies

  • Finalize platform-service dependencies
  • Finalize extraction-service usage for MVP
  • Finalize mcp-server integration strategy
  • Finalize telemetry/diagnostics baseline
  • Finalize blob/upload strategy
  • Finalize token namespace request

Architecture Decisions

  • Confirm web stack
  • Confirm backend stack
  • Confirm React Native MVP path
  • Confirm no parallel native-mobile track for MVP
  • Confirm product-specific backend ownership

Documentation Alignment

  • Align PRD.md
  • 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.tsrepository.tsroutes.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