# Video Media Factory QA Workbook

Use this before launch, after every deployment, and before enterprise demos. Every test must end with proof: screenshot, health response, log excerpt, output file, or route response.

Tester:
Date:
Environment:
App URL:
API URL:
Commit:
Build/deploy ID:

## Go-Live Gate

| Gate | Pass Criteria | Status | Proof |
| --- | --- | --- | --- |
| App loads | Public web app loads without fatal error |  |  |
| Login/signup | User can create or enter account |  |  |
| Video job | User can start a video job |  |  |
| Render output | Job produces output or clear failure |  |  |
| TTS | Voice generation works |  |  |
| Analytics | Real event appears in summary |  |  |
| Billing | Checkout uses real Stripe config |  |  |
| Delivery | Paid user can access output |  |  |
| Support | Contact/support path works |  |  |
| Postiz | Approved account can publish/schedule |  |  |
| MCP | MCP health and tool list work |  |  |
| API keys | Enterprise key is created and enforced |  |  |

## Test Matrix

| ID | Test | Steps | Expected Result | Status | Proof |
| --- | --- | --- | --- | --- | --- |
| ENV-01 | Web app | Open app URL | Page loads |  |  |
| ENV-02 | API | Call dashboard stats | JSON returned |  |  |
| ENV-03 | FFmpeg | Check worker runtime | FFmpeg/FFprobe available |  |  |
| ENV-04 | TTS sidecar | Call TTS health | Coqui available |  |  |
| AUTH-01 | Signup | Create test user | Account created |  |  |
| AUTH-02 | Login | Login as user | Dashboard opens |  |  |
| VID-01 | Create video | Submit topic/platform | Job starts |  |  |
| VID-02 | Output playback | Open completed output | Video plays |  |  |
| UGC-01 | UGC scenes | Add scenes/script | Scenes saved |  |  |
| UGC-02 | UGC render | Submit render | Output created |  |  |
| CLIP-01 | Analyze source | Submit source | Scored clips returned |  |  |
| CLIP-02 | Approve/reject | Update clip status | Status changes |  |  |
| EDIT-01 | Remove silence | Submit video | Edited result returned |  |  |
| EDIT-02 | Captions | Add captions | Caption result returned |  |  |
| DUB-01 | TTS/dub | Submit text/source | Audio output created |  |  |
| PUB-01 | Metadata | Generate metadata | Title/caption/tags returned |  |  |
| PUB-02 | Postiz | Schedule post | Post ID returned |  |  |
| ANA-01 | Event ingest | Send test event | Event accepted |  |  |
| ANA-02 | Summary | Read analytics summary | Totals update |  |  |
| BILL-01 | Checkout | Start Stripe checkout | Checkout opens |  |  |
| BILL-02 | Webhook | Complete test payment | Access/delivery works |  |  |
| MCP-01 | Main MCP | Health/tool list | OK |  |  |
| MCP-02 | Repurpose MCP | Health/tool list | OK |  |  |
| API-01 | API key create | Create key | Masked key shown |  |  |
| API-02 | API key enforce | Call route with key | Authorized response |  |  |
| API-03 | API key revoke | Revoke then call | Request blocked |  |  |
| API-04 | Rate limit | Send excessive calls | Limit triggers |  |  |

## Launch Decision

- Launch approved: yes / no
- Blockers:
- Owner:
- Required fix:
- Retest date:
