PVA Pocket Prototype Autopilot Build Plan
internal prototype · canonical JSON + Dreamborn Forge HTML
internal generated
pocket-prototype-autopilot-build-plan · supabase_json

PVA Pocket Prototype Autopilot Build Plan

pocket-prototype-autopilot-build-plan artifact · for Patient Visit Advocate · phase PVA-AUTOPILOT-02 · status approved

Planning Surface

Use this to decide what happens next.

Status

approved

Phase

PVA-AUTOPILOT-02

Agent Handoff
Start Here

pocket-prototype-autopilot-build-plan artifact · for Patient Visit Advocate · phase PVA-AUTOPILOT-02 · status approved

Completion Evidence

No explicit evidence field yet. Require tests, screenshots, linked PRs, or reviewed outputs before marking complete.

Implementation Plan
  • 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.]
Structured Payload

Machine-readable source fields

date

2026-05-08

phase
id

PVA-AUTOPILOT-02

label

Autopilot Build Plan — Local-Only Pocket Prototype

status

draft

title

PVA Pocket Prototype Autopilot Build Plan

product

Patient Visit Advocate

version

1.0

exclusions
  • 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
task graph
idrolelayertitledepends onhard stops
BUILD-01developerL0Project scaffold + PVA Advocacy Ops theme tokens- Do not ship with Dreamborn visual language - No caregiver or account-creation screens at this stage
BUILD-02developerL0Local 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-03developerL1Free 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-04developerL2Resilience: 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-05developerL3Analytics 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-ALPHAreviewerQAAlpha 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-01execGATEExec 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
authored by

mindy

artifact type

pocket-prototype-autopilot-build-plan

schema version

1.0

product direction
output target

Studio artifacts only. No canonical repo docs.

visual language

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).

customer product

The pocket app. Period. Free = genuinely useful single-visit prep. Paid = memory, history, continuity. Caregiver/family is later.

dispatch restriction

Do NOT dispatch implementation tasks from this artifact. This plan is the exec gate input.

implementation plan
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
layerhard stopsdescriptionfiles artifactsdepends 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 runtimeProject 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-006All 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-010Offline 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-008Analytics 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
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.]

pass artifact status
authorstatuspass taskpass typeoutput refdeliverables
priyacomplete — registry write blocked0.0.8895509BA — Trust Boundary Operational Passtasks/0.0.8895509/output.md8 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
zaracomplete — registry write blocked0.0.8895516UX — Screen Flow Passtasks/0.0.8895516/output.mdFull 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
vikramcomplete — registry write blocked; exec escalation complete0.0.8895520Architect — Local Data and AI Boundary Passtasks/0.0.8895520/output.mdLocalVisitDraft 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
lunacomplete — registry write blocked0.0.8895526QA — Safety and Privacy Test Plantasks/0.0.8895526/output.md74 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
sequencing hard stops
  • 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
registry action required
owner

Justin / platform operator

blocks

All 5 AUTOPILOT phase artifacts pending formal Studio storage. Content available at task output paths today.

summary

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.

workaround

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.

types to register
  • 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
approved source artifacts
roleuuidartifact type
AI agent boundaries and generation pipeline9783e2c4-7623-4324-8aaa-86ee7dd77733architecture/MVP-01
PVA Advocacy Ops visual language — all UI must conformfbf81752-0fba-415e-a6f5-a5c98d2e989cdesign-system-spec/PVA-SLICE-01
Prepared visit loop UX specification83da736a-0f52-42f0-bad5-c0e4a61cef06feature-ux-spec/MVP-01
Primary prototype scope, screens, and offline behaviorae4aafaa-7ac7-4054-9b0a-fa443a7c8d94local-pocket-prototype-spec/PVA-SLICE-01
Free/paid boundary definitions715faee0-4267-4a7f-b992-91e1e2839aacmonetization-strategy/strategy-001
Data handling and AI boundary contract1d0623fa-7b89-46d2-ab35-4b5223f17507patient-data-ai-contract/PVA-SLICE-02
Project policyaa8207c4-0603-45b1-be10-a04061d8cc8apolicy/project
Current routing source and slice exit conditions17a8249c-f8f0-42e5-aef1-1c9dd7e0c784revised-decomposition-plan/PVA-AUTOPILOT-01
Safety/privacy QA gate matrixc7bdfa1d-890a-4c5e-b88a-e3cffca55505safety-privacy-qa-matrix/PVA-SLICE-01
Screen map v1d79c11f2-f033-4037-89d1-dee5697e30dfscreen-map/design-001
Screen map v20bd533b6-b5d5-4758-bcce-4ff97b72cb33screen-map/design-002
Hard trust boundary rules TB-001 through TB-00878ca477c-cd9c-4ba8-84ed-db0944e88702trust-boundary-charter/PVA-SLICE-00
open decisions blocking dispatch
idownerimpactdecisiondefault assumedmust resolve before
OD-AJustin / ProductOption B or C requires model infrastructure in BUILD-01 and resolves BLK-001AI option for first prototype (A/B/C)?Option A — manual/stubbedREVIEW-GATE-01
OD-BContent / LegalSPB-005 blocks all patient-facing testing until approvedEscalation copy version (ESC-V1 token and exact copy text)?ESC-V1 placeholder token in BUILD-03Alpha gate for patient-facing testing
OD-CJustin / platform operator5 AUTOPILOT phase artifacts pending formal Studio storageRegister 5 new Studio artifact types in scripts/lib/artifact-registry.js?Pass artifact content accessible via task output paths as workaroundREVIEW-GATE-01 exec sign-off
review gate before implementation dispatch
type

exec_gate

owner

Justin

gate id

REVIEW-GATE-01

routed by

Mindy via post_to_exec

inputs required
  • 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
decision options
  • APPROVE — dispatch Beta build tasks
  • APPROVE WITH CONDITIONS — dispatch with specific items resolved first
  • HOLD — specific blockers must be resolved before any dispatch