PVA Pocket Prototype Autopilot Build Plan
pocket-prototype-autopilot-build-plan artifact · for Patient Visit Advocate · phase PVA-AUTOPILOT-02 · status approved
pocket-prototype-autopilot-build-plan artifact · for Patient Visit Advocate · phase PVA-AUTOPILOT-02 · status approved
No explicit evidence field yet. Require tests, screenshots, linked PRs, or reviewed outputs before marking complete.
- storage: SQLite via Expo SQLite. AsyncStorage for non-relational user preferences only. Encryption required before patient-facing testing.
- platform: React Native (Expo) — mobile-first, local-only prototype
- build layers: 4 items
- ai option for prototype: Option A — fully manual / stubbed. No AI infrastructure for first prototype. VisitBrief and QuestionPlan are template-based stubs. [Justin must confirm before dispatch.]
Machine-readable source fields
2026-05-08
PVA-AUTOPILOT-02
Autopilot Build Plan — Local-Only Pocket Prototype
draft
PVA Pocket Prototype Autopilot Build Plan
Patient Visit Advocate
1.0
- No caregiver/family tier — deferred to SLICE-04+
- No server-side PHI processing — SPB-001–SPB-007 unresolved; local-only only
- No paid memory or visit history — SLICE-02/SLICE-04+ scope
- No cloud sync — free tier is device-local
- No AI model infrastructure in first prototype — Option A assumed
- No account creation flow — free loop is account-free
- No multi-profile or PatientProfile schema work
- No PatientMemoryItem, CaregiverAccess, or LegalAcknowledgement M-01 entities in this phase
- No repo docs as canonical output — all artifacts go to Studio
- No implementation dispatch from this artifact — exec gate only
| id | role | layer | title | depends on | hard stops |
|---|---|---|---|---|---|
| BUILD-01 | developer | L0 | Project scaffold + PVA Advocacy Ops theme tokens | - Do not ship with Dreamborn visual language - No caregiver or account-creation screens at this stage | |
| BUILD-02 | developer | L0 | Local DB schema + LocalVisitDraft state machine | - BUILD-01 | - AsyncStorage must not be used for relational health data - RawCapture.local_only defaults true and must not be flipped — SPB-001–SPB-007 unresolved - EscalationEvent.acknowledged_at must block state transition in state machine — not UI-only guard |
| BUILD-03 | developer | L1 | Free loop screens S-00 through S-09 | - BUILD-02 | - No account creation prompt in free loop - Escalation copy must not be written by engineering without copy-owner approval — ESC-002 - Upgrade/paywall must not appear mid-intake, mid-brief, or mid-question-plan — PM-006 |
| BUILD-04 | developer | L2 | Resilience: AI stub fallback, offline mode, draft autosave | - BUILD-03 | - AI failure must not destroy user input — FT-007, IAC-006 - Force-close during note entry must not result in data loss — SCR-062 |
| BUILD-05 | developer | L3 | Analytics module + privacy controls | - BUILD-03 | - Analytics schema reviewed before real device testing — do not defer to beta - No analytics event containing health text — PRV-006, FT-008 |
| QA-ALPHA | reviewer | QA | Alpha QA gate execution — 26 CRITICAL hard-stop tests | - BUILD-04 - BUILD-05 | - No internal sharing before Alpha gate passes - Any CRITICAL failure must block Beta dispatch — escalate to Mindy/Justin - PRV-001–PRV-005 require physical device + network capture tool — emulator not sufficient |
| REVIEW-GATE-01 | exec | GATE | Exec review gate — approve before Beta dispatch | - QA-ALPHA | - Implementation tasks for Beta may NOT be dispatched before exec sign-off - No external tester distribution without exec approval - If escalation copy not approved by this gate: block Beta dispatch |
mindy
pocket-prototype-autopilot-build-plan
1.0
Studio artifacts only. No canonical repo docs.
PVA Advocacy Ops — warm, supportive, calm under pressure. pva-surface-page #FAF8F4, pva-action-primary teal #287C8E. Not Dreamborn crimson. Not clinical EHR. Design system ref: PVA Advocacy Ops Design System (fbf81752).
The pocket app. Period. Free = genuinely useful single-visit prep. Paid = memory, history, continuity. Caregiver/family is later.
Do NOT dispatch implementation tasks from this artifact. This plan is the exec gate input.
SQLite via Expo SQLite. AsyncStorage for non-relational user preferences only. Encryption required before patient-facing testing.
React Native (Expo) — mobile-first, local-only prototype
| layer | hard stops | description | files artifacts | depends on |
|---|---|---|---|---|
| L0 — Foundation | - Design token names must match PVA Advocacy Ops spec (fbf81752) — no Dreamborn crimson, no gradient text - SQLite schema must implement all 6 entities with field types as specified in local-data-ai-boundary-pass - State machine must enforce allowed_transitions — illegal transitions must throw at runtime | Project scaffolding, design system tokens, local DB schema, state machine shell | - App scaffold (Expo/React Native project, navigation shell, PVA Advocacy Ops theme tokens) - Local DB schema — tables for LocalVisitDraft, RawCapture, StructuredCaptureField, EscalationEvent, QuickVisitNote, ExportArtifact - LocalVisitDraft state machine module — 10 states, allowed transitions, expiry/recovery logic - Analytics schema definition — enum/counter/boolean only, no health text fields | |
| L1 — Free Loop Screens | - No account creation prompt in free loop critical path — IAC-001 - S-04 must block state transition until EscalationEvent.acknowledged_at set — copy must be ESC-V1 approved, not inline engineering text - S-08 accessible without subscription gate — FT-004 - S-09 requires user_confirmed_sensitive_share = true before ExportArtifact created — FT-005 - DraftRecovery (S-00) appears before new visit start if unfinished draft exists — FT-006 | All screens of the single-visit prep loop, AI-stubbed | - S-00 DraftRecoveryModal - S-01 FastVisitStartScreen - S-02 IntakeCaptureScreen - S-03 IntakeReviewScreen - S-04 SafetyEscalationAckScreen (requires ESC-V1 approved copy) - S-05 VisitBriefScreen (stub) - S-06 QuestionPlanScreen (stub, user-editable) - S-07 InVisitQuickNoteScreen - S-08 PostVisitDebriefScreen (free, no paywall) - S-09 ExportConfirmScreen (sensitive-content disclosure) | - L0 |
| L2 — Resilience and Fallback | - AI failure must not destroy user input — FT-007, IAC-006 - Purge order: child records first, then LocalVisitDraft — never partial-delete - Network loss mid-session must not produce broken UI state — AIR-010 | Offline handling, AI stub failure modes, draft recovery, expiry enforcement | - AI stub failure module — preserves raw RawCapture on failure, shows manual fallback - Offline detection module — triggers manual mode for AI-dependent screens - Draft expiry enforcement — purge in order on launch (children before parent) - Draft autosave — persists on every field change, recoverable after force-close | - L1 |
| L3 — Analytics and Privacy Controls | - Analytics schema reviewed before any real device testing — FT-008, IAC-012 - No health text in any analytics event — PRV-006 - Background masking required before external beta — PRV-008 | Analytics instrumentation (counters only), clipboard protection, background screenshot masking | - Analytics module — counters and funnel events only; schema doc with all field types - Clipboard guard — no health text auto-copied - Background screen masking — blurred in recent apps view - Permission manifest — documents and minimizes OS permissions | - L1 |
Option A — fully manual / stubbed. No AI infrastructure for first prototype. VisitBrief and QuestionPlan are template-based stubs. [Justin must confirm before dispatch.]
| author | status | pass task | pass type | output ref | deliverables |
|---|---|---|---|---|---|
| priya | complete — registry write blocked | 0.0.8895509 | BA — Trust Boundary Operational Pass | tasks/0.0.8895509/output.md | 8 free-tier rules (FT-001–FT-008), 6 paid-memory rules (PM-001–PM-006), 4 escalation rules (ESC-001–ESC-004), 4 claims-boundary sections (CB-001–CB-004), 12 implementation acceptance criteria (IAC-001–IAC-012), 4 open decisions (OD-001–OD-004), 6 sequencing hard stops |
| zara | complete — registry write blocked | 0.0.8895516 | UX — Screen Flow Pass | tasks/0.0.8895516/output.md | Full screen-and-state flow for all prototype screens, surface types, entry points, state guards, component specs, PVA Advocacy Ops design system tokens, hard stops per screen |
| vikram | complete — registry write blocked; exec escalation complete | 0.0.8895520 | Architect — Local Data and AI Boundary Pass | tasks/0.0.8895520/output.md | LocalVisitDraft state machine (10 states), 6 local-prototype entities (LocalVisitDraft, RawCapture, StructuredCaptureField, EscalationEvent, QuickVisitNote, ExportArtifact), local storage recommendation (SQLite/IndexedDB), AI boundary options A–D, 7 server-PHI hard blockers (SPB-001–SPB-007), free/paid transition rules |
| luna | complete — registry write blocked | 0.0.8895526 | QA — Safety and Privacy Test Plan | tasks/0.0.8895526/output.md | 74 test scenarios — screen_state_tests (32), privacy_tests (12), ai_failure_tests (10), synthetic_inputs (14), 3 release gates (Alpha/Beta/Launch) with explicit hard-stop lists |
- L0 complete and reviewed before any screen implementation — no design token divergence from PVA Advocacy Ops spec
- BUILD-03 cannot pass acceptance until ESC-V1 escalation copy is approved — placeholder for dev only
- Analytics schema reviewed before real device testing — never defer this
- Alpha QA gate (QA-ALPHA) must pass before any external distribution or Beta dispatch
- REVIEW-GATE-01 exec sign-off required before any Beta task is dispatched
- Server-side PHI is a hard stop — all SPB-001–SPB-007 blockers remain unresolved in this phase
- No caregiver features before individual paid memory is validated in beta — PM-005
Justin / platform operator
All 5 AUTOPILOT phase artifacts pending formal Studio storage. Content available at task output paths today.
All 5 AUTOPILOT phase artifacts (4 passes + this build plan) were rejected by write_studio_artifact with invalid_artifact_type. Five new artifact types must be registered in scripts/lib/artifact-registry.js before artifacts can be written to studio_artifacts.
Pass artifact content at tasks/0.0.8895509/output.md, tasks/0.0.8895516/output.md, tasks/0.0.8895520/output.md, tasks/0.0.8895526/output.md — available for implementation reference immediately.
- trust-boundary-operational-pass
- local-pocket-screen-flow-pass
- local-data-ai-boundary-pass
- local-prototype-safety-privacy-test-plan
- pocket-prototype-autopilot-build-plan
| role | uuid | artifact type |
|---|---|---|
| AI agent boundaries and generation pipeline | 9783e2c4-7623-4324-8aaa-86ee7dd77733 | architecture/MVP-01 |
| PVA Advocacy Ops visual language — all UI must conform | fbf81752-0fba-415e-a6f5-a5c98d2e989c | design-system-spec/PVA-SLICE-01 |
| Prepared visit loop UX specification | 83da736a-0f52-42f0-bad5-c0e4a61cef06 | feature-ux-spec/MVP-01 |
| Primary prototype scope, screens, and offline behavior | ae4aafaa-7ac7-4054-9b0a-fa443a7c8d94 | local-pocket-prototype-spec/PVA-SLICE-01 |
| Free/paid boundary definitions | 715faee0-4267-4a7f-b992-91e1e2839aac | monetization-strategy/strategy-001 |
| Data handling and AI boundary contract | 1d0623fa-7b89-46d2-ab35-4b5223f17507 | patient-data-ai-contract/PVA-SLICE-02 |
| Project policy | aa8207c4-0603-45b1-be10-a04061d8cc8a | policy/project |
| Current routing source and slice exit conditions | 17a8249c-f8f0-42e5-aef1-1c9dd7e0c784 | revised-decomposition-plan/PVA-AUTOPILOT-01 |
| Safety/privacy QA gate matrix | c7bdfa1d-890a-4c5e-b88a-e3cffca55505 | safety-privacy-qa-matrix/PVA-SLICE-01 |
| Screen map v1 | d79c11f2-f033-4037-89d1-dee5697e30df | screen-map/design-001 |
| Screen map v2 | 0bd533b6-b5d5-4758-bcce-4ff97b72cb33 | screen-map/design-002 |
| Hard trust boundary rules TB-001 through TB-008 | 78ca477c-cd9c-4ba8-84ed-db0944e88702 | trust-boundary-charter/PVA-SLICE-00 |
| id | owner | impact | decision | default assumed | must resolve before |
|---|---|---|---|---|---|
| OD-A | Justin / Product | Option B or C requires model infrastructure in BUILD-01 and resolves BLK-001 | AI option for first prototype (A/B/C)? | Option A — manual/stubbed | REVIEW-GATE-01 |
| OD-B | Content / Legal | SPB-005 blocks all patient-facing testing until approved | Escalation copy version (ESC-V1 token and exact copy text)? | ESC-V1 placeholder token in BUILD-03 | Alpha gate for patient-facing testing |
| OD-C | Justin / platform operator | 5 AUTOPILOT phase artifacts pending formal Studio storage | Register 5 new Studio artifact types in scripts/lib/artifact-registry.js? | Pass artifact content accessible via task output paths as workaround | REVIEW-GATE-01 exec sign-off |
exec_gate
Justin
REVIEW-GATE-01
Mindy via post_to_exec
- This build plan (pocket-prototype-autopilot-build-plan/PVA-AUTOPILOT-02 — tasks/0.0.8895529/output.md)
- Alpha QA gate pass report (QA-ALPHA output)
- OD-A resolution (AI option)
- OD-B resolution (ESC-V1 copy version)
- OD-C resolution (artifact registry update)
- Pass artifact outputs at tasks/0.0.8895509, 0.0.8895516, 0.0.8895520, 0.0.8895526
- APPROVE — dispatch Beta build tasks
- APPROVE WITH CONDITIONS — dispatch with specific items resolved first
- HOLD — specific blockers must be resolved before any dispatch