# Critical-Journey Verification — V1 Launch Gate

> Gate owner: QA Lead + Release Captain. Required for §33.3. Source-of-truth
> coverage matrix: `libs/oshun/analytics/src/v1-33-launch-gate-signoff.ts`,
> `apps/oshun/web/e2e/support/critical-web-journeys.ts`, and the per-journey
> Playwright / mobile / unit / integration artifacts referenced below.

This document maps every **literal step** of the 14 critical journeys named in
V1/TODOS.md §33.3 to executable evidence. The launch gate closes only when
**every step** has green evidence on the release tag. The machine-readable gate
is locked by
`libs/oshun/analytics/src/__tests__/v1-33-launch-gate-signoff.test.ts`, which
fails if any listed artifact disappears or any expected test title drifts.

The customer-web journey-coverage gate is additionally enforced by
`apps/oshun/web/e2e/critical-web-journey-coverage.spec.ts`, which fails the
suite when any keyboard / accessibility / visual / resilience reference goes
missing.

## 1. Tara — ritual start → pause → resume → completion → reflection

| Step               | Spec                                           | Test name fragment                |
| ------------------ | ---------------------------------------------- | --------------------------------- |
| Start ritual       | `apps/oshun/web/e2e/tara-full-journey.spec.ts` | "session card → player"           |
| Pause              | same                                           | "play/pause controls"             |
| Resume             | same                                           | "resume from paused timer"        |
| Completion         | same                                           | "completion screen"               |
| Reflection capture | same                                           | "reflection prompt + persistence" |

**Mobile parity**:
`apps/oshun/mobile/e2e/flows/shell/tara-home-quick-start-completion.yaml` (start
→ completion) plus
`apps/oshun/mobile/e2e/flows/shell/tara-post-session-reflection.yaml`
(reflection capture).

## 2. Arete — daily check-in → habit complete → weekly review

| Step                           | Spec                                                     |
| ------------------------------ | -------------------------------------------------------- |
| Daily check-in                 | `apps/oshun/web/e2e/arete-full-journey.spec.ts`          |
| Habit complete (streak update) | same                                                     |
| Weekly review workspace        | `apps/oshun/web/e2e/arete-plan-review-workspace.spec.ts` |

## 3. Veritas — briefing → claim inspect → source drill → counterclaim

| Step              | Spec                                              |
| ----------------- | ------------------------------------------------- |
| Briefing read     | `apps/oshun/web/e2e/veritas-full-journey.spec.ts` |
| Claim inspect     | same                                              |
| Source drill      | same                                              |
| Counterclaim view | same                                              |

## 4. Nyx — tonight view → save event → calendar sync → reminder fires

| Step                     | Spec                                                                                                                                        |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Tonight view             | `apps/oshun/web/e2e/nyx-full-journey.spec.ts`                                                                                               |
| Save event               | same                                                                                                                                        |
| Calendar sync round-trip | `apps/oshun/web/e2e/nyx-full-journey.spec.ts` ("save event") + `libs/nyx/events/src/calendar-sync.spec.ts`                                  |
| Reminder fires           | `libs/iris/agents/proactive/reminders/src` test suite + the nyx-tonight synthetic monitor row in `docs/launch/post-deploy-monitoring.md` §3 |

**Coverage note:** Calendar sync round-trip is verified at the library level by
`libs/nyx/events/src/calendar-sync.spec.ts` (deterministic, repeatable). The web
journey verifies the "save event" surface; the device-level reminder fire is a
synthetic monitor in `docs/launch/post-deploy-monitoring.md` §3.

## 5. Nisaba — passage open → annotate → notebook capture → mobile resume

| Step             | Spec                                                         |
| ---------------- | ------------------------------------------------------------ |
| Passage open     | `apps/oshun/web/e2e/nisaba-reading-compare-annotate.spec.ts` |
| Annotate         | same                                                         |
| Notebook capture | same                                                         |
| Resume on mobile | `apps/oshun/mobile/e2e/flows/nisaba-study-suite.yaml`        |

## 6. Metis — BYOM ingest → grounded course → tutor session → assessment → mastery

| Step                       | Spec                                                        |
| -------------------------- | ----------------------------------------------------------- |
| BYOM ingest                | `apps/metis/web/e2e/critical-paths.spec.ts` ("BYOM ingest") |
| Grounded course generation | same ("grounded course generation")                         |
| Tutor session              | same ("tutor session")                                      |
| Assessment                 | `apps/metis/web/e2e/assessments.spec.ts`                    |
| Mastery update             | `apps/metis/admin/e2e/admin-critical-flows.spec.ts`         |

## 7. Studio — author draft → bind sources → request review → apply → publish gate → rollback with public change note

| Step                             | Spec                                                                                                                               |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Author draft                     | `apps/oshun/web/e2e/studio-authoring-workspace-smoke.spec.ts`                                                                      |
| Bind sources (Sophia grounding)  | `apps/yemaya/studio-web/e2e/studio-web.smoke.spec.ts` ("sophia store")                                                             |
| Request review                   | `apps/oshun/web/e2e/studio-review-approval-workflows-smoke.spec.ts`                                                                |
| Apply changes                    | same                                                                                                                               |
| Publish gate                     | `apps/oshun/web/e2e/studio-launch-readiness-governance-smoke.spec.ts`                                                              |
| Rollback with public change note | `libs/shared/release-management/src/rollback-plan.spec.ts` + `apps/oshun/web/e2e/studio-launch-readiness-governance-smoke.spec.ts` |

**Coverage note:** Studio publish-rollback with public change note is exercised
at the library level by `rollback-plan` tests (topological rollback planner +
change-note generator) and at the UI level by the launch-readiness-governance
smoke spec. Each listed step is independently required by the V1 gate and locked
by the §33.X signoff manifest.

## 8. Agentic AI Studio — invoke → plan/DAG → pause/redirect → approve → publish → replay with audit

| Step                         | Spec                                                                                             |
| ---------------------------- | ------------------------------------------------------------------------------------------------ |
| Invoke agent                 | `apps/oshun/admin/e2e/agentic-operations-flows.spec.ts`                                          |
| Inspect run plan/DAG         | same                                                                                             |
| Pause / redirect             | `apps/oshun/admin/e2e/copilot-lifecycle-flows.spec.ts`                                           |
| Approve gate                 | `apps/oshun/admin/e2e/high-risk-approval-flows.spec.ts`                                          |
| Publish output               | `apps/oshun/admin/e2e/copilot-lifecycle-flows.spec.ts`                                           |
| Replay run with audit bundle | `libs/oshun/agentic-studio` test suite + `apps/oshun/admin/e2e/copilot-audit-invariants.spec.ts` |

**Coverage note:** Agent run replay + audit-bundle download is verified at the
library level (replay determinism + bundle completeness) and at the UI level by
the copilot-audit-invariants spec exercising audit-bundle download from the
AgenticOperationsPanel.

## 9. Assistant — persona switch → grounded answer → memory update → privacy pause

| Step                 | Spec                                                      |
| -------------------- | --------------------------------------------------------- |
| Persona switch       | `apps/oshun/web/e2e/assistant-continuity-journey.spec.ts` |
| Grounded answer      | `apps/oshun/web/e2e/assistant-grounding-state.spec.ts`    |
| Memory update        | `apps/oshun/web/e2e/assistant-continuity-journey.spec.ts` |
| Privacy pause toggle | `apps/oshun/web/e2e/assistant-continuity-journey.spec.ts` |

## 10. Support / Billing — upgrade → metered usage alert → payment failure grace → support case → refund/credit decision → audit trail

| Step                     | Spec                                                                                                                    |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| Upgrade                  | `apps/oshun/web/e2e/billing-plan-management-flows.spec.ts`                                                              |
| Metered usage alert      | `apps/iris/developer-portal/src/usage-billing.test.ts` + `apps/oshun/web/e2e/customer-paywall-upgrade-surfaces.spec.ts` |
| Payment failure grace    | `apps/oshun/web/e2e/billing-plan-management-flows.spec.ts` ("pending-cancel")                                           |
| Support case             | `apps/oshun/admin/e2e/support-case-handling-flows.spec.ts`                                                              |
| Refund / credit decision | `apps/oshun/admin/e2e/support-case-handling-flows.spec.ts`                                                              |
| Audit trail              | `apps/oshun/admin/e2e/audit-log-explorer-flows.spec.ts`                                                                 |

## 11. Privacy — DSAR end-to-end (export + delete + restore-blocked + audit)

| Step                             | Spec                                                             |
| -------------------------------- | ---------------------------------------------------------------- |
| Export                           | `apps/oshun/admin/e2e/privacy-dsar-end-to-end.spec.ts`           |
| Delete                           | `apps/oshun/admin/e2e/privacy-deletion-workflow-flows.spec.ts`   |
| Restore-blocked-where-applicable | `apps/oshun/admin/e2e/privacy-retention-exception-flows.spec.ts` |
| Audit                            | `apps/oshun/admin/e2e/privacy-audit-log-flows.spec.ts`           |

## 12. Tenant — SSO login → SCIM sync → OneRoster import → custom role → audit explore → data export

| Step                   | Spec                                                                                                                                          |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| SSO login              | `tests/security/tenant-isolation/bff-tenant-isolation.security.test.ts` + `libs/oshun/tenant-console/src/identity/sso.ts` test suite          |
| SCIM sync              | `libs/oshun/tenant-console/src/identity/scim.ts` test suite                                                                                   |
| OneRoster import       | `libs/oshun/tenant-console/src/bulk-ops/bulk-export.test.ts` (OneRoster format) + `apps/oshun/bff/src/admin/admin-bulk-exports-store.test.ts` |
| Custom role assignment | `apps/oshun/admin/e2e/tenant-living-scenes-governance.spec.ts` ("rbac roles")                                                                 |
| Audit explore          | `apps/oshun/admin/e2e/audit-log-explorer-flows.spec.ts`                                                                                       |
| Data export            | `apps/oshun/admin/e2e/cross-workspace-export-continuity-flows.spec.ts`                                                                        |

## 13. Public distribution — public page → app-store deep link → auth handoff → app link open → minimum-version/forced-update → status banner

| Step                            | Spec                                                                                     |
| ------------------------------- | ---------------------------------------------------------------------------------------- |
| Public page                     | `apps/oshun/web/e2e/lilith-public-routes.spec.ts`                                        |
| App-store deep link             | `apps/oshun/web/e2e/canonical-deep-links.spec.ts`                                        |
| Auth handoff                    | `apps/oshun/web/e2e/auth-entry-flows.spec.ts`                                            |
| App link open                   | `apps/oshun/web/e2e/canonical-deep-links.spec.ts`                                        |
| Minimum-version / forced-update | `apps/oshun/web/e2e/pwa-install-update-offline.spec.ts`                                  |
| Status banner                   | `libs/oshun/tenant-console/src/status-page` library tests + status-banner component test |

## 14. Admin — queue triage → review approve → publish gate → audit trail → kill-switch fire → fallback recovery

| Step              | Spec                                                                                                                                                                                                    |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Queue triage      | `apps/oshun/admin/e2e/unified-inbox-flows.spec.ts`                                                                                                                                                      |
| Review approve    | `apps/oshun/admin/e2e/review-decision-flows.spec.ts`                                                                                                                                                    |
| Publish gate      | `apps/oshun/admin/e2e/policy-approval-promotion-rollback-flows.spec.ts`                                                                                                                                 |
| Audit trail       | `apps/oshun/admin/e2e/audit-log-explorer-flows.spec.ts`                                                                                                                                                 |
| Kill-switch fire  | `apps/oshun/admin/src/components/AgenticOperationsPanel.tsx` (`data-kill-switches-armed` + `/api/admin/agentic-operations/kill-switches`) + `apps/oshun/admin/e2e/incident-orchestration-flows.spec.ts` |
| Fallback recovery | `docs/runbooks/shell-outage.md` drill + `docs/runbooks/provider-failover.md` drill                                                                                                                      |

## 15. Composite coverage closure

Some journeys cross web, admin, mobile, service, and governance substrates. For
those journeys, V1 signoff is step-level rather than single-spec: every literal
step below must have executable evidence, and every referenced artifact is
locked by `v1-33-launch-gate-signoff.test.ts`.

| Journey                                           | Evidence chain                                                       | Required closure for V1 gate                                                                                    |
| ------------------------------------------------- | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| Studio (publish → rollback → change-note)         | Studio Playwright smoke + release-management rollback tests          | Publish gate, rollback planning, and public change-note evidence are all green on the release tag               |
| Agentic AI (replay → audit-bundle)                | Agentic ops Playwright + Agentic Studio unit/integration tests       | Invocation, plan inspection, approval, output update, and audit-bundle evidence are all green                   |
| Support/Billing (metered usage alert)             | Billing Playwright + support admin Playwright + audit explorer       | Upgrade, usage alert, grace state, support case, refund/credit metadata, and audit trail evidence are all green |
| Tenant (SSO + SCIM + OneRoster)                   | Tenant Console identity, SCIM, bulk export, admin audit/export tests | SSO, SCIM, OneRoster, role governance, audit exploration, and export evidence are all green                     |
| Public distribution (min-version + status banner) | Public-route Playwright + deep-link Playwright + status-page tests   | Public entry, app link, auth handoff, minimum-version path, and status-banner evidence are all green            |

Each row's required closure must hold on the release tag for §33.3 signoff.
Lacking closure, the journey is **not** a V1 gate pass and the release captain
re-opens scope.

## 16. Live verification checklist (signoff requires all)

- [ ] Every spec above is **green on the release tag**, in CI, in the last 24
      hours preceding the go/no-go meeting.
- [ ] `critical-web-journey-coverage.spec.ts` is green.
- [ ] Detox / mobile suite is green on iOS + Android.
- [ ] No spec is `test.skip()` or `test.fixme()` in the launch tag.
- [ ] Trace / HAR / screenshot retention enabled per
      `docs/testing/automation-matrix.md`.

Evidence committed at
`docs/releases/v1/verification/critical-journeys/YYYY-MM-DD.md`.

## 17. Cross-references

- Automation matrix: `docs/testing/automation-matrix.md`.
- Coverage support: `apps/oshun/web/e2e/support/critical-web-journeys.ts`.
- 33.X signoff manifest:
  `libs/oshun/analytics/src/v1-33-launch-gate-signoff.ts`.
- Go/no-go: `docs/launch/go-no-go.md`.
- Exit criteria signoff: `docs/launch/exit-criteria-signoff.md`.
