> ## Documentation Index
> Fetch the complete documentation index at: https://docs.highailabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Certification Gates

> Release gates required before High IQ friends/family, paid beta, and public launch.

# Certification Gates

Launch readiness means a feature is proven, not merely built.

## Gate 0: Local Code Health

Required before any candidate build:

```bash theme={null}
pnpm --filter @highiq/mobile typecheck
pnpm --filter @highiq/mobile test
pnpm --filter @highiq/mobile lint
pnpm test:revyl:validate
pnpm test:react-doctor:mobile:json
```

Current known state from 2026-08-01:

* Typecheck and lint: pass.
* Mobile unit tests: 279 files / 2,196 tests pass.
* Convex tests: 42 files / 566 tests pass.
* Mobile UI tests: 28 suites / 77 tests pass.
* Safari extension tests: 23 tests pass.
* Production Expo web export: pass; 8,852 modules and 74 bundled assets.
* Mobile design-system and geometry validators: pass. The color ratchet remains at its intentional baseline (72/72), with no raw spacing, typography, radius, shadow, z-index, or border-curve regressions.
* Revyl YAML validation: not runnable in this environment because `REVYL_API_KEY` is absent.
* React Doctor: 272 diagnostics (46 error-level compiler findings and 226 warnings). The largest error group is 28 unsupported `try/finally` compiler cases; remaining findings require focused review rather than an unsafe mechanical rewrite.
* Argent/device QA: intentionally not run during this code-hardening pass.

## Gate 1: Access + Tier Certification

Required before friends/family:

* Guest cannot reach protected user-data routes by direct link.
* Free signed-in users can reach free signed-in features.
* Pro-only features show a paywall or locked state.
* Disabled production features are inaccessible by direct route.
* Lapsed subscribers retain data but see upgrade/restore flows.

Minimum automated tests:

* `useFeatureAccess` unit coverage for guest, free, Pro, lapsed, disabled, debug override.
* Revyl/Argent direct-route checks for representative gated screens.

## Gate 2: P0 Revyl Smoke

Required before friends/family:

* App launch
* Bottom tabs
* Public browse/search
* High Family / discovery
* Strain detail tabs
* Deep link to strain detail
* Clerk login
* Clean-new-user empty stash
* Profile settings/sign-out

Additional route smokes opened in PR #813 for nightly/regression and release-gate proof:

* Music / now playing
* Subscription billing
* Edit profile
* Consumption preferences
* Analytics/stats
* Dispensary list/add
* Daily stories
* Notebook video
* Professor High gated state

Remaining Gate 2 proof:

* Run the expanded route-smoke set against the current candidate build.
* Convert any route-smoke failures into product bug, test definition issue, fixture/data issue, mobile app/API dependency, or Revyl artifact/flake.
* Add direct access/tier route checks after PR #806 lands.

## Gate 3: P1 Critical Journeys

Required before paid beta:

* New user to first stash entry
* Add strain from search/detail to stash
* Discovery to favorite/collection
* Manual order upload and review
* Image receipt parsing
* Notebook generation and detail
* Gmail recent sync with controlled test account
* Label scanner with fixture/permission proof
* Subscription purchase, restore, lapsed state

Notebook proof includes more than opening detail tabs:

* preserve known, alias, ambiguous, placeholder, duplicate, and unknown order lines;
* show honest fresh, stale, conflicting, no-data, failed, and waiting research states;
* minimize, dismiss, reopen, background, cancel, and recover generation;
* keep a readable publication available while an update runs;
* compare, fail, cancel, retry, promote, and browse immutable versions;
* keep Report V2/research writes and all companion executors off until their separate activation gates pass.

See the [Notebook launch runbook](/planning/notebooks/launch-runbook).

## Gate 4: Manual Device QA

Required before TestFlight expansion:

* iPhone small screen and large screen screenshots
* Dark/light mode where supported
* Real camera/permission prompts
* Apple/Google OAuth if used
* StoreKit purchase and restore
* Push/notification prompts if enabled
* Strain detail scroll and content density review

## Gate 5: Public Promise Consistency

Required before public launch:

* App behavior, website, docs-site, pricing, App Store copy, and paywall all agree.
* No public copy promises hidden, disabled, beta, or unverified features.
* No “first free AI” copy if Pro-only AI is the decision.
* No inconsistent $4.99 / $9.99 / \$12.99 pricing.
