| <article class="doc" id="doc-reference-delivery-plan" aria-hidden="true"><div class="strip"><span class="path">reference/delivery-plan.md</span><span class="tag">Engineering, reference</span><span class="meta">~3 min read</span></div> |
| <h1>19. Delivery Plan</h1> |
| <div style="background:var(--forest-pale);border:1px solid var(--border-dark);border-radius:10px;padding:14px 18px;margin:0 0 22px;font-size:13.5px;line-height:1.55;"><strong>Which plan applies?</strong> This page is the <em>team-scale</em> delivery plan (5.75 FTE, 12 sprints) from the architecture spec, kept as the post-seed hiring blueprint and for its phase-gate criteria and partner-ratification items (§21), which design partners review. The <em>operative schedule</em> for the current build is the <a href="#doc-engineering-start">14-phase development track</a>, which resequences these same gates for the founding team.</div> |
| <h2 id="doc-reference-delivery-plan--h1">19.1 Team</h2> |
| <div class="tbl-wrap"><table class="col-table compact"><colgroup><col class="col-auto"/><col class="col-xs"/><col class="col-md"/></colgroup> |
| <thead> |
| <tr> |
| <th>Role</th> |
| <th>FTE</th> |
| <th>Focus</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td data-label="Role">Tech lead / backend</td> |
| <td data-label="FTE">1</td> |
| <td data-label="Focus">Architecture holder; episode + identity modules</td> |
| </tr> |
| <tr> |
| <td data-label="Role">Backend engineers</td> |
| <td data-label="FTE">2</td> |
| <td data-label="Focus">Compiler+gates; agents+notifications</td> |
| </tr> |
| <tr> |
| <td data-label="Role">Full-stack engineer</td> |
| <td data-label="FTE">1</td> |
| <td data-label="Focus">PWA patient/caregiver + brief UI</td> |
| </tr> |
| <tr> |
| <td data-label="Role">Integration engineer</td> |
| <td data-label="FTE">1</td> |
| <td data-label="Focus">EHR adapter, ADT, Terraform, CI/CD</td> |
| </tr> |
| <tr> |
| <td data-label="Role">Founding physician (clinical)</td> |
| <td data-label="FTE">0.5</td> |
| <td data-label="Focus">Gate criteria, templates, review queue, golden labels</td> |
| </tr> |
| <tr> |
| <td data-label="Role">Security (fractional)</td> |
| <td data-label="FTE">0.25</td> |
| <td data-label="Focus">Β§15 controls, SOC 2 evidence, pen-test liaison</td> |
| </tr> |
| </tbody> |
| </table></div> |
| <h2 id="doc-reference-delivery-plan--h2">19.2 Phase Gates</h2> |
| <div class="tbl-wrap"><table class="col-table compact"><colgroup><col class="col-xs"/><col class="col-sm"/><col class="col-lg"/></colgroup> |
| <thead> |
| <tr> |
| <th>Phase</th> |
| <th>Window</th> |
| <th>Entry β Exit Criteria</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td data-label="Phase">0 Foundations</td> |
| <td data-label="Window">Sprints 1β2</td> |
| <td data-label="Entry β Exit Criteria">BAAs + accounts + CI/CD + skeleton deploy β GATED ADRs ratified w/ partner; FakeEHR live; audit writer + identity core merged.</td> |
| </tr> |
| <tr> |
| <td data-label="Phase">1 Core loop</td> |
| <td data-label="Window">Sprints 3β5</td> |
| <td data-label="Entry β Exit Criteria">β ActivationβTodayβtask response E2E on synthetic data; state machines property-tested; outbox suppression proven β€60 s.</td> |
| </tr> |
| <tr> |
| <td data-label="Phase">2 Compiler & safety</td> |
| <td data-label="Window">Sprints 6β8</td> |
| <td data-label="Entry β Exit Criteria">β Seven gates live; extraction thresholds met on corpus v1; GS-01β¦GS-06 green; review queue UI.</td> |
| </tr> |
| <tr> |
| <td data-label="Phase">3 Agents, briefs, notifications</td> |
| <td data-label="Window">Sprints 9β10</td> |
| <td data-label="Entry β Exit Criteria">β Six agents in envelopes; kill switches drill; brief precompute+staleness; GS-07β¦GS-12 green; load test passed.</td> |
| </tr> |
| <tr> |
| <td data-label="Phase">4 Enterprise & hardening</td> |
| <td data-label="Window">Sprint 11</td> |
| <td data-label="Entry β Exit Criteria">β Admin console, reports w/ denominators, pen-test criticals closed, DR drill, WCAG audit clean.</td> |
| </tr> |
| <tr> |
| <td data-label="Phase">5 Pilot readiness</td> |
| <td data-label="Window">Sprint 12</td> |
| <td data-label="Entry β Exit Criteria">β Stage soak on Epic sandbox; usability exits (Β§17.4); runbooks rehearsed; go/no-go review vs investor thresholds (β₯60% activation instrumentation live, β€10 min/episode ops dashboard).</td> |
| </tr> |
| </tbody> |
| </table></div> |
| <h2 id="doc-reference-delivery-plan--h3">19.3 Definition of Done (MVP, release-blocking)</h2> |
| <ul> |
| <li>Every Section-20 requirement row has passing verification evidence linked in CI.</li> |
| <li>All 12 golden scenarios green on the pinned model registry row; extraction thresholds met field-by-field.</li> |
| <li>Security: threats 1β13 controls verified; zero critical/high pen-test findings open; break-glass drill logged.</li> |
| <li>Ops: dashboards + 12 runbooks live; on-call rota staffed; kill-switch + rollback drills β€10 min each.</li> |
| <li>Partner: GATED ADR sign-offs recorded (or amendments implemented); Epic production interface approved by hospital IT.</li> |
| </ul> |
| <h2 id="doc-reference-delivery-plan--h4">19.4 Top Delivery Risks</h2> |
| <div class="tbl-wrap"><table class="col-table compact"><colgroup><col class="col-md"/><col class="col-xs"/><col class="col-lg"/></colgroup> |
| <thead> |
| <tr> |
| <th>Risk</th> |
| <th>Sev</th> |
| <th>Mitigation</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td data-label="Risk">Epic interface approval slips</td> |
| <td data-label="Sev"><span class="pill p-h">HIGH</span></td> |
| <td data-label="Mitigation">Start paperwork in Phase 0; ADR-007 poll fallback keeps build unblocked; FakeEHR for all dev.</td> |
| </tr> |
| <tr> |
| <td data-label="Risk">Extraction misses thresholds on real docs</td> |
| <td data-label="Sev"><span class="pill p-h">HIGH</span></td> |
| <td data-label="Mitigation">Corpus grows in stage with partner de-identified docs by Phase 2; uncertain-class bias is the safety valve; review queue absorbs tail.</td> |
| </tr> |
| <tr> |
| <td data-label="Risk">Elderly activation friction</td> |
| <td data-label="Sev"><span class="pill p-m">MEDIUM</span></td> |
| <td data-label="Mitigation">Β§17.4 usability gate; large-type QR handout; caregiver-assisted activation path.</td> |
| </tr> |
| <tr> |
| <td data-label="Risk">Notification fatigue β disengagement</td> |
| <td data-label="Sev"><span class="pill p-m">MEDIUM</span></td> |
| <td data-label="Mitigation">Tier caps + least-burden ladder + adaptive timing; weekly engagement review in pilot.</td> |
| </tr> |
| <tr> |
| <td data-label="Risk">Scope creep from partner requests</td> |
| <td data-label="Sev"><span class="pill p-m">MEDIUM</span></td> |
| <td data-label="Mitigation">Change control: anything touching Β§1.2 exclusions requires CTO+clinical sign-off and a governance review.</td> |
| </tr> |
| </tbody> |
| </table></div> |
| <h1>21. Partner Ratification Items (Phase 0)</h1> |
| <p>The seven GATED defaults below are the <strong>only</strong> open governance items. Each is implemented behind the named boundary; ratification (or amendment) is a configuration/adapter change with the stated maximum blast radius. Owner convenes the design-partner review in Sprint 1; decisions recorded as ADR amendments.</p> |
| <div class="tbl-wrap"><table class="col-table compact"><colgroup><col class="col-auto"/><col class="col-auto"/><col class="col-auto"/><col class="col-md"/></colgroup> |
| <thead> |
| <tr> |
| <th>ADR</th> |
| <th>Item</th> |
| <th>Owner / Due</th> |
| <th>If Amended β Blast Radius</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td data-label="ADR">007</td> |
| <td data-label="Item">Epic mode (ADT+FHIR vs poll-only)</td> |
| <td data-label="Owner / Due">Integration eng / Sprint 2</td> |
| <td data-label="If Amended β Blast Radius"><code>ehr.trigger_mode</code> flag; trigger latency only</td> |
| </tr> |
| <tr> |
| <td data-label="ADR">008</td> |
| <td data-label="Item">Identity factors</td> |
| <td data-label="Owner / Due">Clinical + Security / Sprint 1</td> |
| <td data-label="If Amended β Blast Radius"><code>identity.factors</code> config; activation UI copy</td> |
| </tr> |
| <tr> |
| <td data-label="ADR">009</td> |
| <td data-label="Item">Hierarchy levels 4β7 order</td> |
| <td data-label="Owner / Due">Clinical lead / Sprint 2</td> |
| <td data-label="If Amended β Blast Radius"><code>provenance.hierarchy</code> config; reprocess rule</td> |
| </tr> |
| <tr> |
| <td data-label="ADR">010</td> |
| <td data-label="Item">Export artifact enablement & fields</td> |
| <td data-label="Owner / Due">CMIO / pre-INT-008 only</td> |
| <td data-label="If Amended β Blast Radius">Flag + CDA section map; no MVP impact</td> |
| </tr> |
| <tr> |
| <td data-label="ADR">011</td> |
| <td data-label="Item">Ops tier (1 vs 2) + queue endpoint</td> |
| <td data-label="Owner / Due">CMIO + CEO / Sprint 2</td> |
| <td data-label="If Amended β Blast Radius"><code>ops.tier</code> + endpoint config; router targets</td> |
| </tr> |
| <tr> |
| <td data-label="ADR">013</td> |
| <td data-label="Item">Silent thresholds (48/72 h)</td> |
| <td data-label="Owner / Due">Clinical lead / Sprint 2</td> |
| <td data-label="If Amended β Blast Radius">Two config keys; detector unchanged</td> |
| </tr> |
| <tr> |
| <td data-label="ADR">016</td> |
| <td data-label="Item">Coverage flag/suppress (80/50%)</td> |
| <td data-label="Owner / Due">CMIO + analytics / Sprint 3</td> |
| <td data-label="If Amended β Blast Radius">Two config keys; report footers</td> |
| </tr> |
| </tbody> |
| </table></div> |
| <div class="pn"><a class="pn-prev" href="#"></a><a class="pn-next" href="#"></a></div></article> |
|
|