PVA Internal Review Feedback Protocol and Production Readiness Scorecard
policy artifact · for Patient Visit Advocate · phase PVA-INTERNAL-ALPHA-01 · status approved
policy artifact · for Patient Visit Advocate · phase PVA-INTERNAL-ALPHA-01 · status approved
No explicit evidence field yet. Require tests, screenshots, linked PRs, or reviewed outputs before marking complete.
- OQ-01: id: string, question: string, my_default: string
- OQ-02: id: string, question: string, my_default: string
- OQ-03: id: string, question: string, my_default: string
Machine-readable source fields
2026-05-08
PVA Internal Review Feedback Protocol and Production Readiness Scorecard
Patient Visit Advocate
1.0
https://pva.bezeliq.ai
- External/beta launch NOT approved — internal review only.
- Physical-device privacy checks PD-001 through PD-005 must PASS before any external access.
- ESC-V1 escalation copy must receive content/legal approval before beta.
- No server-side PHI, cloud sync, account creation, paid memory, or caregiver features in this review phase.
- Justin makes the final beta launch decision after all must-fix gates are resolved.
| step | action | requires justin |
|---|---|---|
| 1 | Justin assigns reviewer roles to internal team members | true |
| 2 | Reviewers complete assigned sessions independently using this protocol | false |
| 3 | Reviewers submit per-question JSON to tasks/0.0.8896280/reviewer-feedback/<slug>.json | false |
| 4 | BA/coordinator aggregates scores, checks all gate thresholds, identifies FAILs | false |
| 5 | Coordinator files all must-fix implementation tasks and assigns to dev queue | false |
| 6 | Developers resolve must-fix issues, redeploy alpha, re-run affected review sessions | false |
| 7 | BA produces gate evidence summary and readiness recommendation (BETA_READY / NEEDS_REVIEW / BLOCKED) | false |
| 8 | Justin reviews gate evidence summary and makes final beta launch decision (exec gate) | true |
readiness-scorecard
| id | question | my default |
|---|---|---|
| OQ-01 | Who from the internal team fills ROLE-01, ROLE-02, and ROLE-03? | Assumes Justin assigns or self-assigns at least one reviewer role. Protocol can be distributed without Justin present. |
| OQ-02 | Is FQ-PD-003 (network proxy check) required or is PENDING acceptable for beta approval? | PENDING acceptable if tooling is unavailable, but Justin must confirm before PENDING is treated as a pass. |
| OQ-03 | Who is the content/legal reviewer responsible for approving final ESC-V1 copy? | Flagged as external dependency. Assumed Justin owns or delegates this track. |
| id | slug | title | session | description | prerequisite |
|---|---|---|---|---|---|
| ROLE-01 | product-reviewer | Product Reviewer | SESSION-01 | Walks the full pocket workflow end-to-end. Assesses value clarity, workflow completeness, and free-tier experience. Patient-advocate mindset — not a clinician. | Browser access to https://pva.bezeliq.ai |
| ROLE-02 | trust-safety-reviewer | Trust and Safety Reviewer | SESSION-02 | Evaluates trust boundary and escalation copy. Checks no screen implies diagnosis, treatment, or clinician replacement. Reviews ESC-V1 copy placeholder status. | Familiarity with PVA Trust Boundary Charter (artifact 78ca477c) |
| ROLE-03 | mobile-privacy-reviewer | Mobile and Device Privacy Reviewer | SESSION-03 | Tests PWA on iPhone Safari and Android Chrome. Validates physical privacy: background masking, recent-app thumbnail exposure, clipboard behavior. Sole gate-keeper for physical device privacy hold. | Physical iPhone (Safari PWA) and Android (Chrome PWA). Realistic fake health data. Optional: network proxy tool. |
Criterion not met — must fix before beta
Criterion fully met
Cannot assess yet — missing device, tool, or dependency; requires Justin resolution
BLOCKING — must fix before beta
NEEDS IMPROVEMENT — file issue; should-fix before beta
ACCEPTABLE — note recommendations; does not block beta
GOOD — minor polish recommended
EXCELLENT — no changes needed
< 2.5
>= 3.5
Mean of all scale_1_5 responses across FQ-001 through FQ-008.
2.5 to 3.4
| id | role | title | instructions | duration minutes |
|---|---|---|---|---|
| SESSION-01 | ROLE-01 | End-to-End Workflow Walk | - Open https://pva.bezeliq.ai in incognito/private browser. Do NOT read documentation first — simulate first-time user. - Complete full pocket workflow: Start > Intake > Review > Safety > Brief > Questions > Notes > Debrief > Export. - Use realistic but clearly fictional health scenarios (e.g. 'preparing to discuss lower back pain with my GP'). - After completing: answer FQ-001 through FQ-002, FQ-005, FQ-007, FQ-008 per the scoring rubric. - Note any point of confusion, misrepresentation, or blockage. | 30 |
| SESSION-02 | ROLE-02 | Trust Boundary and Safety Review | - Open https://pva.bezeliq.ai. Navigate all 10 routes: /, /visit/start, /visit/intake, /visit/review, /visit/safety, /visit/brief, /visit/questions, /visit/notes, /visit/debrief, /visit/export. - On each screen: read every heading, label, CTA, and body copy. - On intake screen: enter a safety-edge scenario (e.g. 'I've been having chest pain and difficulty breathing'). - Observe /visit/safety route and escalation copy behavior. - Answer FQ-003, FQ-004, FQ-006 per the scoring rubric. | 20 |
| SESSION-03 | ROLE-03 | Physical Device Privacy Check | - On each target device (iPhone Safari, Android Chrome): - 1. Visit https://pva.bezeliq.ai — add to Home Screen — open from Home Screen (PWA mode). - 2. Complete intake with realistic fake health text. - 3. Background the app. Observe recent-apps thumbnail — does health text appear? - 4. Return to app. Confirm draft preserved. - 5. Force-close. Reopen. Confirm draft recovery or graceful discard prompt. - 6. Navigate to export. Attempt to copy content. Confirm clipboard disclosure behavior. - 7. Delete draft. Confirm local data is cleared. - 8. (Optional/advanced) Run network proxy. Confirm no | 60 |
BLOCKED
File implementation task. Post exec escalation. Justin reviews resolution before re-opening beta track.
- Any executive-hold gate (GATE-PD, GATE-03, GATE-04) has a FAIL result
- Aggregate UX score < 2.5
- Any CRITICAL defect not in original QA matrix
Coordinator must notify Justin immediately. No beta prep proceeds until resolved.
BETA_READY
BA posts exec gate review to Justin with all gate evidence compiled. Justin approves or holds.
- All GATE-PD questions PASS on both device types
- GATE-03 (trust boundary) PASS across all routes
- GATE-04 (ESC-V1) has final content/legal-approved copy in production build
- Aggregate UX score (FQ-001 through FQ-008) >= 3.5
- No open FAIL results on any pass_fail question
- All must-fix implementation issues resolved and re-validated
Justin (executive gate required). Coordinator surfaces gate evidence brief.
NEEDS_REVIEW
Complete triage. Resolve all must-fix issues. Re-run affected sessions. Re-score.
- No executive-hold gate (GATE-PD, GATE-03, GATE-04) has a FAIL result
- Aggregate UX score 2.5 to 3.4
- Issues filed and triaged; some in-progress
Coordinator and BA (Priya) manage triage and re-review without Justin.
| id | area | gate | ir ref | anchors | session |
|---|---|---|---|---|---|
| FQ-001 | First-run clarity | GATE-01 | IR-001 | - 1: No — purpose unclear or felt medical/clinical - 3: Somewhat — took >30s or required reading body copy - 5: Yes — immediately obvious from the first screen | SESSION-01 |
| FQ-002 | Pocket workflow completeness | GATE-02 | IR-002 | - 1: No — stuck and could not complete - 3: Yes, but friction at one step - 5: Yes — smooth and self-evident throughout | SESSION-01 |
| FQ-003 | Trust boundary | GATE-03 | IR-003 | - FAIL: At least one screen implied clinical authority - PASS: No screen implied clinical role or medical advice | SESSION-02 |
| FQ-004 | Escalation copy (ESC-V1) | GATE-04 | IR-004 | - FAIL: Copy appeared final or pending status was not visible - PASS: ESC-V1 clearly marked as pending; not mistakable for final copy | SESSION-02 |
| FQ-005 | Free value completeness | GATE-05 | IR-005 | - 1: No — felt incomplete or feature-gated - 3: Somewhat — useful but missing something essential - 5: Yes — complete and valuable as standalone free visit prep | SESSION-01 |
| FQ-006 | Data handling transparency | GATE-06 | IR-006 | - 1: No — controls hidden, data handling opaque - 3: Yes but had to search; disclosure vague - 5: Yes — intuitive controls, clear retention messaging, obvious delete path | SESSION-02 |
| FQ-007 | Tone and visual design | GATE-07 | IR-007 | - 1: No — felt clinical, cold, or like another Dreamborn app - 3: Mostly fine but a few elements felt off-brand - 5: Yes — clearly communicated warmth and patient advocacy | SESSION-01 |
| FQ-008 | Mobile ergonomics | GATE-08 | IR-008 | - 1: No — major one-handed usability issues, CTA truncation or overlap - 3: Mostly yes — minor touch target or scroll issues - 5: Yes — fully one-handed friendly, all CTAs and nav clear | SESSION-01 |
| FQ-PD-001 | Device privacy — iPhone background masking | GATE-PD | PD-001 | - FAIL: Health text visible in recent-apps preview - PASS: Health text masked/blurred in recent-apps view | SESSION-03 |
| FQ-PD-002 | Device privacy — Android background masking | GATE-PD | PD-002 | - FAIL: Health text visible in recent-apps preview - PASS: Health text masked/blurred in recent-apps view | SESSION-03 |
| FQ-PD-003 | Device privacy — no PHI network leakage | GATE-PD | PD-003 | - FAIL: At least one request contained health text - PASS: No outbound request contained health text - PENDING: Tooling unavailable — note reason; requires Justin resolution | SESSION-03 |
| FQ-PD-004 | Device privacy — reload and force-close recovery | GATE-PD | PD-004 | - FAIL: Draft lost without user action, or delete did not clear data - PASS: Draft survived force-close and recovered; delete cleared data | SESSION-03 |
| FQ-PD-005 | Device privacy — clipboard and export guardrails | GATE-PD | PD-005 | - FAIL: Content copied/exported without confirmation or disclosure - PASS: Clipboard/export required explicit confirmation with sensitive-content disclosure | SESSION-03 |
- d09cee22-83b7-4d7a-b049-7ebf4f41abdc
- e8269478-d174-4b63-b0f7-2b8a51bea476
- 6ecc442e-c61c-40e7-94ab-7ae274a61a86
- 78ca477c-cd9c-4ba8-84ed-db0944e88702
- c7bdfa1d-890a-4c5e-b88a-e3cffca55505
- Additional tone/copy polish beyond functional threshold
- Enhanced mobile ergonomics above minimum score
- Free value additions identified in review (post-triage)
| id | title | questions | fail action | executive hold | pass condition |
|---|---|---|---|---|---|
| GATE-PD | Physical Device Privacy | - FQ-PD-001 - FQ-PD-002 - FQ-PD-003 - FQ-PD-004 - FQ-PD-005 | File implementation task immediately. Reassign to developer. Rerun checks after fix. | true | All PASS on both iPhone Safari and Android Chrome |
| GATE-04 | ESC-V1 Escalation Copy Approved | - FQ-004 | If placeholder is missing or unclear: file UI fix immediately. For final copy: escalate to content/legal track. | true | PASS (placeholder marked pending) for internal review; final approved copy required before beta |
| GATE-03 | Trust Boundary — No Clinical Implication | - FQ-003 | File immediately. Block beta. Reassign to developer and content reviewer. | true | PASS across all 10 routes |
| GATE-01 | First-Run Clarity | - FQ-001 | File UX/copy issue. Must fix before beta. | false | Average score >= 3.0 across all reviewers |
| GATE-02 | Pocket Workflow Completeness | - FQ-002 | File UX issue per blocked step. Must fix before beta. | false | Average score >= 3.0 across all reviewers |
| GATE-05 | Free Value Completeness | - FQ-005 | Triage specific gaps. Decide must-fix vs backlog. | false | Average score >= 3.0 across all reviewers |
| GATE-06 | Data Handling Transparency | - FQ-006 | File UX/copy issue. Must fix before beta. | false | Average score >= 3.0 across all reviewers |
| GATE-08 | Mobile Ergonomics | - FQ-008 | File layout/CTA issue. Must fix before beta. | false | Average score >= 3.0 across all reviewers |
| id | title | questions | fail action | executive hold | pass condition |
|---|---|---|---|---|---|
| GATE-07 | Tone and Visual Design | - FQ-007 | File design polish issue. Target before beta but does not hard-block. | false | Average score >= 2.0 (below 2.0 escalates to must-fix) |
tasks/0.0.8896280/reviewer-feedback/<reviewer_slug>.json
Priya (BA) or coordinator agent — aggregates scores, checks gate thresholds, posts synthesis
internal-reviewer-feedback-synthesis
string — browser, OS version, device model (SESSION-03 only; null otherwise)
string — free text answering the evidence_prompt for this question
string or null — issue ID or URL if filed
boolean — true if a GitHub/tracker issue was created
string — e.g. FQ-001
ISO 8601 timestamp
string — internal name or initials
ROLE-01 | ROLE-02 | ROLE-03
integer 1-5 OR PASS | FAIL | PENDING