Private alpha readiness

Alpha is gated, not implied.

This page surfaces the internal readiness model before any staging deploy, real customer records, or external sends. It is a status view, not an approval to launch.

Current status

Not ready for alpha

Private alpha remains approval-gated. Live client records stay blocked until every approval and blocker clears.

4
ready
5
need approval
1
blocked
Next safe action

Do this before widening access.

Get approval/evidence for: Backup/restore drill scheduled before live records

  • No live client records until auth, tenant isolation, Postgres, backup/restore and explicit approval are evidenced.
  • No app-side external sends; alpha stays copy/manual-send only.
  • Run npm run gate on the release commit and wait for CI green before review.

Readiness checks

Each row maps to src/application/privateAlphaReadiness.ts.

CheckStatusEvidence
Local gate passes on release commit
local_gate
Ready npm run gate
GitHub CI green on release commit
ci_green
Ready GitHub Actions main workflow
External sends disabled; manual-copy only
manual_copy_only
Ready noExternalSend tests and config contract
Tenant isolation enforced at command boundary
tenant_isolation
Ready tenant isolation gate and command validation
Backup/restore drill scheduled before live records
backup_restore
Needs approval backup restore plan
Staging deploy target approved
staging_deploy
Needs approval staging readiness contract
Friendly pilot company selected and briefed
pilot_company
Needs approval pilot day plan and support runbook
Release notes and rollback pack reviewed
release_pack
Needs approval release notes template and rollback drill
Alex approves private alpha start
alex_alpha_go
Needs approval alpha acceptance checklist
Live client records admitted
live_records
Blocked requires auth, staging, backup and explicit approval

Operator boundary

Alex approval is a separate readiness check; the app cannot self-approve private alpha.

Data boundary

Live client records remain blocked by default; demo fixtures and screenshots must stay synthetic.

Send boundary

Outbound remains manual-copy only. Any app-side send path is outside this alpha gate.