# Mobile Roadmap

Status: Draft
Parent: `docs/ROADMAP.md`
Stack: React Native + Expo + TypeScript

# Phase M0 — Scaffold

- [x] Create Expo app structure
- [ ] Wire `@bytelyst/react-native-platform-sdk`
- [ ] Wire `@bytelyst/api-client`
- [x] Wire `@bytelyst/platform-client`
- [x] Wire `@bytelyst/offline-queue`
- [x] Import generated RN tokens
- [x] Create navigation shell
- [x] Define screen map

# Phase M1 — Core MVP

- [x] Auth flow
- [x] Home / recent notes screen
- [x] Note detail screen
- [x] Quick capture flow
- [x] Search screen
- [x] Notifications/inbox placeholder if needed
- [x] Connect notes/workspaces APIs

# Phase M2 — Product Utility

- [ ] Lightweight editing
- [ ] Notification handling
- [ ] Offline queue / sync polish
- [ ] Approvals inbox if in MVP scope
- [ ] Basic artifact metadata viewing if in MVP scope

# Phase M3 — Agent / Approval Utility

- [ ] Approval/reject actions
- [ ] Lightweight agent activity feed
- [ ] Mobile-friendly review surfaces for simple actions

# Phase M4 — Hardening

- [ ] Smoke tests
- [ ] Error-state polish
- [ ] Build/compile verification
- [ ] Token compliance review
- [ ] Offline behavior review

# High-Collision Areas

- [x] root navigation setup
- [x] auth bootstrap files
- [x] token/theme entrypoints
- [x] shared API client wrappers

# Done When

- [ ] Mobile is useful for capture and retrieval
- [ ] Mobile supports lightweight editing and approvals for MVP
- [ ] Mobile does not try to duplicate dense web-only workflows

# Progress Notes

- 2026-03-10 — Mobile workstream moved from draft-only planning into initial implementation.
- `learning_ai_notes/mobile/` was scaffolded from scratch with Expo + TypeScript.
- Root app config now exists: `package.json`, `app.json`, `tsconfig.json`, `index.ts`, `babel.config.js`.
- Expo Router shell now exists with auth entry, tab layout, home/recent notes, search, quick capture, inbox placeholder, and note detail routes.
- Shared mobile bootstrap files now exist for:
  - `@bytelyst/auth-client`
  - `@bytelyst/platform-client`
  - `@bytelyst/offline-queue`
  - token-based theme wiring via `@bytelyst/design-tokens/tokens.json`
- Zustand-backed auth, notes, and workspace stores were added for first-pass mobile state management.
- Mobile currently uses provisional product config and fallback note/workspace data until product identity and backend contract details are finalized.

# Open Questions

- What is the final canonical `productId` for ByteLyst Agentic Notes?
- What is the final product backend port for the notes service?
- What are the final iOS bundle identifier, Android package name, and URL scheme/domain values?
- Should mobile notes access go directly to the product backend for note CRUD while auth remains on `platform-service`?
- Is approvals inbox definitely in MVP scope, or should it remain a deferred Phase M2/M3 item?

# Blockers

- Dependencies for the new `mobile/` app have not yet been installed, so build/typecheck/runtime verification is still pending.
- `@bytelyst/react-native-platform-sdk` is referenced as a planned shared dependency, but the current workspace package does not appear ready for direct runtime consumption in this new app yet.
- Product identity and backend contract details remain provisional in the planning docs, so mobile config values are placeholders.

# Deferred

- Lightweight editing beyond scaffold-level draft save
- Real notification handling
- Offline queue flush/retry integration against live APIs
- Approval actions and lightweight agent activity feed
- Artifact metadata viewing
- Smoke tests and compile verification after dependency install
