## Video production: documentation site using Django

### Summary
A documentation site blueprint for video production built with Django on Ample. Domain schema:  
- **customer_workspaces** (client_name, project_count): client organizations;  
- **projects** (workspace_id, title, stage, delivery_due_at): productions in flight;  
- **cuts** (project_id, version, object_key, review_status, reviewed_at): versioned cuts for review;  
- **customer_assets** (workspace_id, project_id, object_key, visibility): final deliverables and raw footage access;  
- **state_transitions** (record_type, from_state, to_state): the allowed state machine.

Public information: showreel and services, production process, contact. Kept out of scope until handling is reviewed: unreleased footage, talent releases and contracts, client brand material.

Footage is large and confidential; the storage checks here use small objects, so verify large-file behavior separately. Technical basis verified on Django: a workspace-scoped table, an explicit state machine (draft to review to published) that rejects invalid transitions, and a cross-workspace read that returns nothing (transitions=true isolation=true).

### Framework
- **Framework**: Django  
- **Workload**: Documentation site  
- **Industry**: Video production

### Infrastructure Requirements
1. **Compute**:  
   - **Status**: verified  
   - **Summary**: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request;
2. **Postgres**:  
   - **Status**: verified  
   - **Summary**: Managed PostgreSQL 16 runs in its own microVM and is auto-provisioned when an app needs a database;
3. **CDN**:  
   - **Status**: verified  
   - **Summary**: The CDN host serves objects from published buckets.

### Prerequisites
- A Django project (setup using pip and waitress);  
- A PostgreSQL driver reading DATABASE_URL;  
- Bucket credentials from `ample bucket create` passed as encrypted environment variables;  
- A review of which video production data classes may be handled at all; this blueprint models public information only.

### Workflow Steps
1. **Model the video production domain**: Create the tables customer_workspaces, projects, cuts, customer_assets, state_transitions.
2. **Publish assets for released versions to the CDN bucket**.
3. **Serve only published versions publicly**.
4. **Deploy and verify the version list and a published page**.
5. **Deploy**: Run the synchronous deploy once and read the result.  
   Command: `ample deploy . --name [app_name] --public --start "python3 run.py" --env S3_ENDPOINT=...`  
6. **Verify**: Run self-tests and acceptance checks for the video production workflow.

### Limitations
- Footage is large and confidential; storage checks use small objects; verify large-file behavior separately.

### Cost Estimate
- **Currency**: USD  
- **Monthly Amount**: $10.00  
- **Note**: Always-on monthly price of the tested sizes.

### Evidence Summary
- *Django pattern fixture deployed on Ample...*

### Next Actions
- [Browse the catalog index](https://api.example/catalog)  
- [Search published recipes by intent](https://api.example/search)  
- [Prepare a side-effect-free deployment plan](https://api.example/plan)  
- [Read the existing agent authentication setup](https://api.example/setup)  
- [Browse Video production](https://api.example/browse)  
- [Browse Documentation site](https://api.example/browse)  
- [Browse Django](https://api.example/browse)  
- [Browse Deploy web app](https://api.example/browse)
