PRODUCT_SCOPE.md — alaivOS Full Product Scope (Canonical)¶
Last updated: April 13, 2026 (Omega v2.7)
Status: Canonical. Supersedes all prior PRODUCT_SCOPE files.
Supersedes: files/PRODUCT_SCOPE.md, files/PRODUCT_SCOPE_VERIFIED.md, files/PRODUCT_SCOPE_VERIFIED_V2_TAP_AUDIT.md, files/PRODUCT_SCOPE_VERIFIED_V3_LIFECYCLE_AUDIT.md, files/PRODUCT_SCOPE_VERIFIED_V4_FINAL.md, files/alaivOS_Complete_Scope.md, files/alaivOS_project_scope_v1.md, files/alaivOS_Feature_Roadmap_Phases_ABC.md.
Cross-references: MAP_MODULE_SPEC.md, VOICE_AND_AI.md, PRICING_AND_TIERS.md, TRIAL_AND_ONBOARDING.md, DATA_PIPELINE.md, GHOST_PROTOCOL.md, ANTI_ABUSE_SPEC.md, PROGRESSIVE_INTERVIEW_DESIGN_SPEC.md.
0. TL;DR¶
alaivOS replaces 5-10 apps with one privacy-first Life OS. 14 modules accessed via a scrollable dock. 5 OmniOrb modes stackable via the mode system (Travel / Family / Focus / Sports / Wind Down). Streams split into Chat + Notes. Laiv is the on-device AI orchestrator, backed by AMI dynamic model load/unload. Ghost Protocol is the optional premium Gemma-4-E4B server. Laiv Checkup is the 3-domain overnight analysis (new v1.0). Status at April 13, 2026: ~4,333 tests passing, 0 analyze errors, all 7 V4 launch blockers + 11 V4 should-fixes + 9 device-testing bugs resolved, 11/14 critical gaps closed, 5/5 partial gaps closed.
1. THE 14 MODULES¶
Lazy-loaded via ModuleLoader.ensureLoaded() on first dock tap. All modules write a timeline row to master_registry (the Spine) so the Insights timeline can unify cross-module activity.
1.1 Insights¶
What it does: The home dashboard. Shows ModuleTimelineView (12 module types), CortexCard (morning / afternoon / evening / night / focus / alert), Prism cards, reflection / daily log, Evening Briefing, Sick Mode banner, Ghost Protocol banner, Air Quality Prism card.
Key screens: insights_screen.dart, cortex_dashboard_card.dart, aq_prism_card.dart.
State: spineStreamProvider → master_registry aggregator. currentPersonaProvider drives Life Dimensions shortcut. proactiveSuggestionsProvider feeds Prism Suggestions carousel.
Prism card inventory (24): Life Dimensions shortcut (persona-aware), Bio-Rhythm morning banner, ModuleTimelineView (12 sources incl. trip + familyMember after TAW10), Cortex variants, Prism Energy, Prism Suggestions, Prism Action Plans, Prism Nearby Places, Prism Travel Context, Prism Starter Nudge (→ paywall), Prism Family Hub, Prism Family Calendar, Prism Brain Dump (evening), Reflection / Daily Log (with save guard), Pattern Insight (Pro+), Evening Briefing, Sick Mode banner, Ghost Protocol banner, AQ Prism card.
Tier access: All tiers. Pattern Insight card Pro+.
Feature gate: none for base; ghostPatternInsight for Pattern Insight.
1.2 Events (Calendar)¶
What it does: Calendar, single + recurring events (28-day lookahead), ICS import, year/month/week/day/agenda views, event reminders, family calendar (local-only).
Key screens: events_screen.dart, event detail sheet, year-view tap → month navigation.
State machine: event → reminder scheduled at create/update/delete via event_repository.dart:233,354,478-485 + event_notification_service.dart.
Empty state: thin (D-polish flag).
Tier access: Starter+ base; family calendar sharing remote-sync v1.1 (currently local-only).
Known gap: recurring events UI dropdown now wired (TAW Wave 1 fix).
1.3 Money¶
What it does: Accounts, transactions, budgets, spending spike / expense gap alerts, bill due reminders, CSV/OFX import. Bank connection deferred (Plaid/Belvo keys).
Key screens: money_screen.dart, capture CTA, transaction list.
State: MoneyRepository.createTransaction writes to money_journal + master_registry (FS10 verified). BillAutoPayService + bill-reminder background task wired TAW9 (FS1).
Tier gates: base Starter; advanced budgeting Spark+; insights + spike detection Core+.
Known limits: bank-connect blocked external; CSV/OFX import done Wave 1.
1.4 Projects¶
What it does: Projects + kanban tasks, stale-task detection, deadline alerts, project-alert notifications, drag-and-drop between columns (TAW partial-close done).
Key screens: projects_screen.dart, ProjectWizardSheet, kanban board.
Empty state: Peoples-pattern empty state shipped TAW9 (B6). Headline + icon + "Create your first project" CTA.
State: master_registry write project_repository.dart:119. Notifications: project alert, project deadline, orphaned / stale tasks (all wired).
Tier access: Starter+.
1.5 People¶
What it does: Contacts, trust / affinity, VIPs, "contact joined alaivOS" notifications, reconnect-with-contact nudges, contact-map pins, birthday reminders (local + push).
Key screens: people_screen.dart (multi-tier empty state is the gold-standard pattern).
State: trust_level, affinity (close / soulmate), last_interaction. Reconnect nudge query filters VIPs + 7-day rotation via nudge_history (FB2).
Notifications: birthday (push pending Wave 2), reconnect (now rotated, VIP-filtered, contactId in payload).
Tier: base Starter; family / VIP extras Spark+.
1.6 Maps¶
See §3 for full Map spec. Module shell with 5 views + circadian tiles + brightness sensor.
1.7 Streams — split into Chat + Notes¶
Chat (streams_screen.dart thread list):
- E2EE via libsignal_protocol_dart (real, not stubs). Universal all tiers.
- Supabase Realtime relay. FCM push (after Firebase).
- In-thread search (in_thread_search_delegate.dart), archived thread filter, voice message bubbles, typing indicator with mounted guard, ConversationThreadView.
- Incoming call → 30s auto-dismiss with missed-call snackbar. Call duration tracked.
- Call history UI shipped TAW9 (FS9).
- User discovery by phone hash / username lookup.
Notes:
- Local-first notes with tags, attachments. PDF/text export v1.0.1.
- Cloud sync "SERVER NOT BUILT" → Wave 2.
Tier: Chat + E2EE all tiers. Voice messages all tiers. Group chat Spark+.
1.8 Wellbeing¶
What it does: Water log + 7-day bar chart, steps (Health Connect import), manual sleep entry + history chart, meal log (photo → AI nutrition via FoodAnalysisService.analyzePhoto; text → USDA → static → AI cascade after FS7), workouts, habit create / mark / streak, mood log + patterns card + history screen, Sick Mode full lifecycle (activate → DND → banner → team draft → deactivate → DND off), Health Connect empty-state card.
Key screens: wellbeing_screen.dart, meal_capture_sheet.dart, mood_patterns_card.dart, mood_history_screen.dart, sick_mode_service.dart, water tracker widget, training dashboard card.
Privacy: Health data NEVER synced to cloud, NEVER in Ghost prompts.
Tier: base Starter; mood patterns Spark+; advanced biometrics Core+.
1.9 Sessions (now has dock icon — TAW10 BUG 5 closeout)¶
What it does: Structured guided flows. 6 sections: 1. Recipes 2. Exercise 3. Learning (courses) 4. Meditation 5. Reading 6. Capsules 9 curated legal learning sources: Books — gutenberg.org, openlibrary.org, standardebooks.org, manybooks.net. Courses — classcentral.com, khanacademy.org, theodinproject.com, openculture.com, alison.com. No piracy sites (Apple / Google rejection risk). Empty state: polish to People pattern (D6).
1.10 Sports (Multi-sport, 31 leagues)¶
What it does: Live scores, schedules, league tables, team follows, score / on-goal notifications, quiniela (single-device v1.0), watch-party coordination. Leagues / sources: - ESPN (14 US sports, free) - TheSportsDB (15 football / LatAm / cricket — $3/mo Patreon for commercial ToS compliance) - Jolpica (F1, free) - Boxing scraper Client: 5 tabs, 4 table styles, 40 ARB keys × 21 locales. Server cache: ghost-01:8300, 1 hr TTL, stale-on-error. Tier: base Starter; multi-team follows Spark+; deep stats Core+.
1.11 Learning (Reader / E-reader)¶
What it does: EPUB reader, import books, reading sessions, progress, highlights, book library.
Sources: curated legal (above).
Key screens: reader_screen.dart (center icon + "Import EPUB" empty state).
Tier: base Starter.
1.12 Travel¶
What it does: Trip planning, Travel Mode, trip view on map (pins + day selector), currency converter (FS Wave 1), itinerary list. Trip-detail editor UI deferred to v1.0.1 (D5).
State: trip_repository.dart:42 writes master_registry. plan_trip skill writes; map displays; editing blind in v1.0.
Tier: base Starter; currency + offline pack Spark+.
1.13 Focus¶
What it does: Focus timer, DND activation (in-app only — iOS DND platform-gated Wave 1), focus overlay with ongoing notification, focus modes. Tier: base Starter.
1.14 Family¶
What it does: Add dependents, family calendar (local-only), family-location sharing (gated), Family Hub + Family Calendar Prism cards, FamilyLocationListener reconnect with 5s backoff.
Tier: base Starter; location sharing Spark+ (gate mapFamilySharing); multi-device sync Wave 2.
1.15 Vault (restored to dock defaults TAW5)¶
What it does: Secure document storage, locked notes.
Off-dock (intentional): Marketplace exists in enum + screen but NOT in dock defaults (v1.0 incomplete). Watch-party / quiniela multi-device sync post-launch.
2. MODES — 5 STACKABLE VIA OMNIORB¶
Modes are facets of a person's life, not separate dashboards. Laiv is the mode orchestrator; modes run in the background and Laiv merges their priorities into ONE unified experience. User never thinks "I'm in 4 modes."
2.1 The 5 core modes (OmniOrb)¶
- Travel — dual currency, offline tiles preload, trip view bias, local phrases.
- Family — Family Hub priority, calendar merged with partner, dependents status.
- Focus — DND + focus timer + session capture, notification muting except VIP.
- Sports — score alerts, watch-party coordination, fan dashboard.
- Wind Down — evening briefing, gentle tone, reflection prompt, bedtime targets.
2.2 Life modes (background, not in OmniOrb picker but tracked)¶
Budget Crisis, Recovery, Caregiver, Pregnancy, Senior, Training, Sick Mode (lifecycle module-driven), plus others registered in ModeStack.
2.3 Mode architecture¶
ModeStack { activeModes: List<ActiveMode> }ordered by activation.ActiveMode { mode, priorityWeight, activatedAt, expiresAt?, config }.- Priority hierarchy: Safety (Senior, medical alerts) > Crisis > performance. Default weight 50; Senior 90; Crisis 80.
- Merger: Laiv synthesizes each mode's requests into one briefing. See
alaivOS_mode_system_architecture.mdfor conflict resolution table.
2.4 OmniOrb separation from Dock¶
OmniOrb = modes (5). Dock = modules (14). Separate concerns. Never conflate. Streams split is a dock decision, not a mode decision.
3. MAP MODULE — 5 VIEWS¶
Cross-reference: MAP_MODULE_SPEC.md.
3.1 Views¶
- Explore — browse POIs, search, my places.
- Directions — A→B route, OSRM (longitude,latitude), alt routes (Pro+).
- Navigate — turn-by-turn voice,
NavigationServicestate machine (idle→navigating→rerouting→arrived), NavVoiceService + InstructionEnricher × 21 locales. - My Places — saved places, place notes, contact pins (per-address toggle in People).
- Trip View — trip pins + day selector, cyan trip icons in timeline.
3.2 Interactive layer¶
- 3 circadian tile styles: Voyager / Positron / Dark Matter with ambient-light brightness sensor override.
- Rain overlay (RainViewer live tiles,
maxNativeZoom: 12, maxZoom: 20). - Animated 200-particle wind overlay (
wind_particle_overlay.dart). - Air-quality overlay (
air_quality_overlay.dart). - Compass heading cone (direction indicator).
- Progressive-zoom POI rendering: dots z13-15, mini glass pins z16, detail cards z17+ (TAW10 fix; removed card-style clutter at z14-15).
- Long-press → drop pin → Directions / Save / Share action sheet.
- Camera persisted via SharedPreferences, debounced 2 s.
- WidgetsBindingObserver re-subscribes GPS on
resumed. - FMTC tile cache (
mapCacheInitProvider) + offline banner + retry.
3.3 Search stack (5-layer, zero paid API)¶
- Overpass / OSM (POI backbone).
- DDG via Cloudflare Worker (enrichment).
- Photon on Cloudflare Worker (
photon.alaivos.comprimary, Komoot fallback). - Nominatim (geocoding; User-Agent
alaivOS/1.0required). - My Places FTS5 (local). Google Places = temporary real-time luxury layer with dart-define kill-switch; credit $5,154 MXN (~$300 USD) expires June 5, 2026. Foursquare + Yelp cancelled.
3.4 Traffic Intelligence Engine (5-layer composite)¶
ETA = baseline_spline × live_calibration × weather × calendar × event.
- Baseline: Catmull-Rom cubic spline for Gold cities, linear for Standard.
- Live calibration: TomTom.
- Weather: Open-Meteo.
- Calendar: 20 countries (holidays, puentes, Semana Santa, Buen Fin, Día de Muertos).
- Event: local event density.
- Factor chips display minutes, not percentages ("Rain expected — adds ~8 min").
3.5 Map feature gates¶
| Gate | Min Tier | Controls |
|---|---|---|
interactiveMap |
Starter | Map + POI + search + My Places + Trip View + voice nav + motorcycle + offline |
mapTrafficPatterns |
Spark | Historic traffic ETA |
mapLiveTraffic |
Core | Live TomTom traffic, departure alerts |
mapTrafficNavigate |
Pro | Traffic coloring, alt routes, multi-stop, navigate deep link |
mapFamilySharing |
Spark | Family location sharing |
contactMapPins |
Spark | Per-address "Show on map" toggle in People |
Voice nav + motorcycle time = FREE for ALL tiers (locked decision).
4. AI STACK — LAIV¶
Cross-reference: VOICE_AND_AI.md.
4.1 Models¶
On-device = Qwen 3.5 only. Ghost = Gemma 4 E4B. Cloud Gemini: DEAD. AiProvider enum = { local, ghost }.
| Tier | CDN file | Model | Download | Loaded RAM |
|---|---|---|---|---|
| on-device-xs | laiv-xs.gguf | Qwen 3.5 0.8B Q4_K_M | 989 MB | 2.1 GB |
| on-device-s | laiv-s.gguf | Qwen 3.5 2B Q4_K_M | 2.55 GB | 4.1 GB |
| on-device-m | laiv-m.gguf | Qwen 3.5 4B Q4_K_M | 3.16 GB | 5.8 GB |
| on-device-l | laiv-l.gguf | Gemma 4 E2B Q4_K_M | 6.67 GB | 7.7 GB (tablets/future) |
| on-device-xl | laiv-xl.gguf | Gemma 4 E4B Q4_K_M | 8.95 GB | 10 GB (tablets/future) |
| ghost-std | laiv-ghost.gguf | Gemma 4 E4B Q4_K_M | 8.95 GB | 10 GB (server) |
4.2 AMI (Adaptive Model Intelligence)¶
- Dynamic load/unload, ONE model at a time, NEVER two.
- App backgrounded → model unloaded → zero RAM / battery / heat.
- Foregrounded → AMI checks
freeRamMb→ picks best tier → loads during natural navigation (2-8 s hidden behind splash/home). - No always-resident model (J explicitly rejected 0.8B always loaded).
- Dual prompt templates: Qwen 3.5 ChatML + Gemma 4 turn-based.
- Smart Flutter Responses bridge the model-load gap (see §4.7).
4.3 Multi-agent architecture v1.0 (BUILT)¶
- SkillRouter (
skill_router.dart) — 17 skills with multilingual keywords EN/ES/PT/FR/DE; registered in LaivAgent. - ObserverAgent (
observer_agent.dart) — 11 pattern rules, READ-ONLY. - PlannerAgent — 6 action types.
- ExecutorAgent — 8 module actions, confirmation-gated via ActionPlanCard, rollback on partial failure.
- PersonalitySettings — 5 presets (Coach / Friend / Assistant / Mentor / Custom) + 4 sliders (warmth / verbosity / directness / humor), wired to PromptAssembler Layer 1.
- Both text and voice paths now call
skillRouter.route()(conversation_thread_view.dart:1326, dashboard_screen.dart:717-724). - Confirmation sheet before orchestrator DB writes (preview → commit).
- TTS auto-speak post-skill via
sovereignTtsServiceProvider.speak(...). - Persona injection via
prompt_assembler.dart:92.
4.4 The 17 Laiv skills¶
- log_expense
- log_meal (photo → AI nutrition; text → USDA → static → AI cascade TAW10)
- log_sleep
- log_workout
- add_event
- add_task
- add_note
- call_contact
- message_contact
- plan_trip
- start_session
- search_places
- get_directions
- morning_briefing
- add_habit (TAW9)
- start_focus_timer (TAW9)
- summarize_week (TAW9)
4.5 Observer rules (11)¶
10 original pattern rules (stale tasks, spending spike, expense gap, open calendar slot, project deadline, reconnect-with-contact, cooking time, exercise snack, birthday, plan-your-day) + Rule #11 Air Quality (TAW v2.7 additions) — fires local notification at Unhealthy+ AQI, injects AQ context into Laiv prompts.
4.6 Planner / Executor action types¶
- Planner (6): create, update, delete, schedule, notify, summarize.
- Executor (8 module actions): Events, Money, Projects, People, Wellbeing, Notes, Trips, Sessions. Confirmation-gated via ActionPlanCard; rollback on partial failure;
created_idTODO (S-polish).
4.7 Smart Flutter Response System¶
Files: smart_flutter_response.dart, laiv_message_queue.dart (TAW10 Beta).
- 10 notification-action handlers: budget exceeded, project due, free time, bill due, reconnect contact, exercise nudge, plan your day, cooking nudge, birthday, generic.
- Tier-gated: Starter = raw numbers, Spark+ = category breakdown, Core+ = follow-up suggestion.
- Personalized with user's first name from SharedPreferences.
- laiv_message_queue captures user input while model loads; processes when ready; appends AI follow-up if adds value, otherwise skips silently.
4.8 Notification-tap → instant Laiv data-driven response¶
Tap routes directly to relevant screen + Laiv greets with SQLite-sourced data, no OmniOrb needed. Model loads in background during user read time; if they reply, real AI handles follow-up.
4.9 Voice pipeline — Kokoro-first (inverted)¶
ElevenLabs reference audio (never ships to users)
→ Bishop extracts StyleTTS 2 style vector
→ Kokoro 82M .pt (~500 KB) = canonical "Laiv voice"
→ generates reference corpus (500-1000 sentences EN/ES/PT)
├── Fine-tune Piper VITS → ONNX for on-device
└── Voxtral 3B zero-shot → Ghost HD v1.1+
en_US-hfc_female-medium (bundled in APK) via sherpa_onnx.
- v1.0 Ghost TTS: Kokoro 82M (pending Epsilon eval + J voice-sample selection).
- Laiv speaks all user-visible strings through l10n (21 locales).
4.10 Laiv Checkup (NEW v1.0)¶
- 3 domains: Wellbeing, Planning, Financial.
- Trial flow: Day 0 baseline (planning-only, fires immediately after onboarding) → Day 14 mid-trial → Day 28 full (FREE regardless of subscription).
- Post-subscription cadence: Elite 1 mo / Pro 2 mo / Core 3 mo / Spark 6 mo. Starter: no checkups.
- Hints between checkups (Beta-2 teaser cards).
- Dual anonymization: device strip → Gemma 4 E4B (CX43 anonymizer) → Anthropic Batch API. ~$0.012 / checkup.
- NOT credit-gated. Baked into tiers.
- Capsule generation from aggregate patterns deferred to v1.1.
5. NOTIFICATIONS — 22 TYPES + LIFECYCLE¶
All 22 types localized (FB3 TAW9) via AppLocalizations. Tap handlers wired via notificationDeepLinkProvider listeners in events / insights / streams / wellbeing screens (FB1 fix). Cortex local notification cold-start handled via getNotificationAppLaunchDetails() (FB7).
The 22 types: event reminder (single + recurring 28-day), birthday reminder, open calendar slot, reconnect with contact (VIP-filtered, 7-day rotation), plan your day, chat message (FCM), incoming call (FCM), contact joined alaivOS, bill due reminder, spending spike, expense gap, project alert, project deadline, orphaned / stale tasks, cooking nudge, exercise snack, medication reminder, focus timer ongoing + completion, trial Day-14 milestone + Day-21 expiry warning, Ghost deferred result ready, mood / pulse check prompt, Air Quality alert (Unhealthy+).
15 notification action types → 9 modules: deep-linked via payload + data.
6. TIERS¶
Cross-reference: PRICING_AND_TIERS.md.
- AppTier enum (7): starter(0), proTrial(1), spark(2), core(3), pro(4), elite(5), eliteTrial(6). Trial tiers remap: proTrial → pro, eliteTrial → elite.
- Prices: Starter free, Spark $3.99, Core $7.99, Pro $14.99, Elite $23.99. Annual = pay 10 get 12. Group Plans: 50% off per member, cap 6, open to anyone.
- 119 feature gates × 7 tiers.
- Trial: 14 days Pro + 7 days Elite (21 total). Mandatory progressive interview (45 questions, 11 traits, no skip). Day 14 mandatory phone verification; skip = Starter immediately; phone hash stored (never raw). Device ID fingerprinted silently at signup.
- Ghost Protocol: credits are the ONLY gate. ALL capabilities at every Ghost tier. Elite includes Ghost base 50D/20I credits.
7. AIR QUALITY STACK (new v2.7)¶
- Prism AQ card on Insights dashboard + detail sheet.
- Morning Briefing notice when AQI elevated.
- Observer Rule #11 fires local notifications at Unhealthy+ (sensitivity setting).
- Trend tracking per city.
- Travel warnings on destination selection.
- Checkup integration (AQ exposure factors into Wellbeing checkup).
- Laiv context injection (prompts aware of current AQ).
- 290 cities. All via free Open-Meteo (zero paid API).
8. CHECKUP DOMAINS¶
See §4.10. Three domains (Wellbeing, Planning, Financial). Trial Day 0/14/28 plus tier cadence post-subscription. Day 28 free. Anthropic Batch API via CX43 relay with Gemma anonymization. Stub endpoint for v1.1 capsule generation.
9. CAPSULE SCHEMAS¶
Capsules = third-party-authored multi-module data packages (wedding planner, match-day prep, honeymoon, post-game recovery, etc.).
- Format: JSON (Schema Draft 2020-12). Three nodes: manifest, variables, entities.
- Manifest: schema_version (SemVer, platform), content_version (creator), capsule_id, metadata (title, description, author_id, category, premium).
- Variables: Apple-Shortcuts-style WFWorkflowImportQuestions pattern — user-prompt personalization.
- Entities: flat array of cross-module objects with local_ref temporary UUIDs (FHIR Transaction Bundle pattern) + dependencies[] for topological-sort insertion order.
- Transaction semantics: atomic — failure rolls back the whole capsule.
- Privacy: sandboxed — capsules cannot exfiltrate data or be weaponized for surveillance.
- Marketplace: Marketplace module exists but OFF dock defaults for v1.0.
10. CROSS-CUTTING FEATURES¶
10.1 Navigation shell¶
- Scrollable 14-module dock. Modules init lazily on tap.
- OmniOrb = modes (5). Separate from dock.
- Streams split into Chat + Notes (two separate entries).
10.2 Glass UI mandate¶
Every card / sheet / dialog / overlay uses: ClipRRect → BackdropFilter(blur: 24) → Container(gradient: LinearGradient(white 0.14→0.05), border: white 0.2). 120 fps target.
10.3 State & DB¶
- Riverpod + Freezed.
ref.watchalways; nosetStatefor complex state. - SQLite direct. NO PowerSync. Writes go through
serializedWrite()(concurrent writers previously caused code-5 locks at night batch windows — fixed TAW10).
10.4 GPS discipline — 5 modes¶
idle / significantChange / mapExplore / navigating / paused. Managed by GpsManager.
10.5 Anti-abuse — 7 defense layers¶
TrialGuard device fingerprint at signup (silent) → Supabase trial_devices → phone verify mandatory Day 14 → no data export on Trial/Starter → investment score at expiry → behavioral detection (analytics-only) → session integrity.
10.6 E2EE¶
Universal every tier. libsignal_protocol_dart (real, not stubs). Safety-number QR scanner explicitly deferred to v1.1.
10.7 Localization¶
ALL user-visible text through l10n ARB × 21 locales (~8,500+ keys). Never hardcode English. debugPrint guarded by kDebugMode. withValues(alpha:) not withOpacity.
10.8 Health data¶
NEVER synced to cloud. NEVER in Ghost prompts.
10.9 Analytics funnel¶
Tracked across onboarding → interview → trial → conversion. Psychographic clusters + badge system (see alaivOS_Analytics_Funnel_Spec.md, alaivOS_Badge_System_Spec.md).
10.10 Legal / privacy framing¶
"Zero-Data-Harvesting Architecture" — never "offline AI." Curated legal learning sources only. DMCA designated agent registration pending.
11. STATE AT APRIL 13, 2026¶
- Dart files ~847 · ~690K LOC · ~4,333 tests passing · 0 analyze errors · 0 GT violations.
- 21 locales · ~8,500+ ARB keys · 17,766+ Responsive.* calls.
- 119+ feature gates · 71 pre-TAW builder sprints + TAW1-TAW10 (~790 TAW tests) + v2.7 session (15 sprints, ~183 tests).
- V4 launch blockers (FB1-FB7): 7/7 resolved.
- V4 should-fixes (FS1-FS11): 11/11 resolved.
- Device-testing bugs (J's Pixel 7 Pro): 9/9 resolved (radio audio, POI clutter, SQLite lock, username, onboarding after wipe, etc.).
- Feature gaps: 11/14 critical closed (2 partial: iOS DND in-app only, family calendar local-only; 1 deferred: bank connection keys). 5/5 partial closed (kanban drag, water UI, sleep picker, habit CRUD, sessions dock).
- Call system: 3/3 done (signaling, WebRTC, UI).
- Models on CDN: 7 files + manifest.json live at
cdn.alaivos.com/models/. - Ghost server:
gemma4:e4bat 12 tok/s. Function calling verified EN/ES/PT. - Monthly infra cost: €25 (ghost-01 €17 + cx23 €4 + cx23-b €4) + $3 (TheSportsDB Patreon).
- Days to launch: 45 (May 28, 2026). No hard launch blockers.
Maintained by Omega. Patch on every decision. Supersedes all prior PRODUCT_SCOPE files.