Skip to content
← All runbooks

Deploy & launch

Launch smoke test

Manual pre-launch checklist. Run through each item on the day of launch.

Public routes, confirm 200 + valid metadata

Route
/
Expected title
Atrium · verify
Expected status
200
Route
/app
Expected title
Atrium · App
Expected status
200 (redirects to /app/portfolio if authed)
Route
/brand
Expected title
Atrium · Brand
Expected status
200
Route
/changelog
Expected title
Atrium · Changelog
Expected status
200
Route
/docs
Expected title
Atrium · Docs
Expected status
200
Route
/docs/honesty
Expected title
Atrium · Honest disclosures
Expected status
200
Route
/docs/api
Expected title
Atrium · Codex API
Expected status
200
Route
/team
Expected title
Atrium · Team
Expected status
200
Route
/press
Expected title
Atrium · Press
Expected status
200
Route
/security
Expected title
Atrium · Security
Expected status
200
Route
/security/bounty
Expected title
Atrium · Bug bounty
Expected status
200
Route
/security/hall-of-fame
Expected title
Atrium · Hall of fame
Expected status
200
Route
/legal/terms
Expected title
Atrium · Terms
Expected status
200
Route
/legal/privacy
Expected title
Atrium · Privacy
Expected status
200
Route
/accessibility
Expected title
Atrium · Accessibility
Expected status
200
Route
/manifesto
Expected title
Atrium · Manifesto
Expected status
200
Route
/lantern
Expected title
Atrium · Lantern
Expected status
200
Route
/chaos
Expected title
Atrium · Chaos Mode
Expected status
200
Route
/sla
Expected title
Atrium · SLA
Expected status
200
Route
/learn
Expected title
Atrium · Learn
Expected status
200
Route
/benchmarks
Expected title
Atrium · Benchmarks
Expected status
200
Route
/rostrum
Expected title
Atrium · Rostrum
Expected status
200

Auth-protected routes, confirm 401 without session

Route
/api/settings
Expected
401
Route
/api/notifications
Expected
401
Route
/api/portfolio
Expected
401
Route
/api/agents
Expected
401

Wallet flow (Arbitrum Sepolia)

  1. Connect wallet via WalletConnect or injected provider
  2. Deposit USDC via faucet (confirm tx hash appears)
  3. Open a position on any adapter (confirm Plinth margin calculation visible)
  4. Verify Lantern attestation updates within 10 minutes
  5. Trigger kill switch from /app/settings → confirm revocation tx

Mobile flow

  • [ ] iOS Safari: landing page renders, wallet connect works, app navigation smooth
  • [ ] Android Chrome: same as above
  • [ ] PWA install prompt appears on second visit
  • [ ] Installed PWA opens in standalone mode

Performance

  • [ ] Lighthouse Performance ≥ 90 (mobile)
  • [ ] Lighthouse Accessibility ≥ 90
  • [ ] Lighthouse Best Practices ≥ 90
  • [ ] Lighthouse SEO ≥ 90
  • [ ] axe-core reports 0 critical/serious violations

Infrastructure

  • [ ] Status page (Upptime) reports all services green
  • [ ] Lantern attestor last-publish < 10 minutes ago
  • [ ] Vigil keeper heartbeat < 5 minutes ago
  • [ ] Subgraph synced to latest block (< 30 seconds behind)
  • [ ] Codex API responds to health check

Security

  • [ ] /.well-known/security.txt accessible and valid
  • [ ] CSP headers present on all HTML responses
  • [ ] No secrets in client-side bundle (check Network tab)
  • [ ] Rate limiting active on /api/faucet (confirm 429 after threshold)

Final sign-off

  • [ ] All items above green
  • [ ] Screenshot evidence saved to .scratch/launch-smoke/
  • [ ] Team Slack/Discord confirmation posted