# Phase 2A Shell — Smoke Test (2026-07-26)

**Method:** PHP lint all modified files + route inventory. Full HTTP smoke requires staging/Bluehost after upload.

## PHP lint

All listed files: **No syntax errors detected.**

## Route inventory (files present)

| Route | File | Expected after upload |
|-------|------|------------------------|
| `/live/` | `index.php` | Public Live home + sign-in CTA |
| `/live/signin.php` | signin | App2 auth bridge |
| `/live/logout.php` | logout | Clears session |
| `/live/dashboard.php` | dashboard | Auth + verification gate |
| `/live/go-live.php` | go-live | Purpose / first use |
| `/live/schedule-live.php` | schedule | Auth + verification gate |
| `/live/video.php` | video | Business videos shell |
| `/live/watch.php` | watch | Watch shell |
| `/live/switch-business.php` | switch | POST only; redirects |
| `/live/admin/` | admin/index.php | **Requires login** (no public stub) |
| `/live/api/` | api/index.php | Live API stub |
| `/live/replays/` | replays/index.php | Replays shell |
| `/App2/dashboard.php` | App2 | **Go Live** card when managing a business |

## Post-upload checklist (Brad)

1. Sign in via App2 → open Dashboard → confirm **Go Live** card.
2. Open Live Dashboard → confirm business logo/name in header.
3. Scroll footer → confirm trust facts + `footer.ping` message (Confirmed when key/API healthy).
4. Visit `/live/admin/` logged out → redirect to sign-in; logged in → operator stub only.
5. Confirm no camera/mic prompts appear anywhere.

## Streaming guard

No `getUserMedia` / WebRTC / LiveKit / MediaRecorder in Phase 2A shell files.
