# hao0321/video-autopilot-kit architecture

> Architecture diagram of the GitHub repository hao0321/video-autopilot-kit, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/hao0321/video-autopilot-kit
- Repository: https://github.com/hao0321/video-autopilot-kit

## Overview

video-autopilot-kit is a framework for producing long-form, vertical short-form, and interview videos, with an Editkin v4 execution contract shared across those workflows. The principal path is creator planning and material preparation, followed by evidence-backed plan audit, atomic apply, render, and QA; delivery and outcome tracking extend the workflow. The README documents several subsystems whose source was not sampled, so those are represented only at their documented module paths, without inferred internal wiring.

Main entry points: [`src/workflow_contract.py`](https://github.com/hao0321/video-autopilot-kit/blob/main/src/workflow_contract.py) (Durable workflow), [`src/shorts_autopilot.py`](https://github.com/hao0321/video-autopilot-kit/blob/main/src/shorts_autopilot.py) (Shorts autopilot), [`src/longform_maker`](https://github.com/hao0321/video-autopilot-kit/tree/main/src/longform_maker) (Long-form support), [`src/interview_autopilot.py`](https://github.com/hao0321/video-autopilot-kit/blob/main/src/interview_autopilot.py) (Interview autopilot)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_production["Production workflows"]
  node_longform["Long-form support"]
  node_shorts["Shorts autopilot"]
  node_silentvlog["Vlog support<br/>[pipeline.py]"]
  node_interview["Interview autopilot"]
  node_interviewgate["Interview gate<br/>[interview_gate.py]"]
  node_context["Context routing<br/>[context_router.py]"]
end

subgraph group_execution["Editkin execution"]
  node_workflow["Durable workflow"]
  node_state[("Workflow state<br/>[workflow_state.py]")]
  node_receipts["Workflow receipts"]
  node_auditbinding["Audit binding"]
end

subgraph group_media["Media and QA"]
  node_filter["Filter runtime<br/>[filter_runtime.py]"]
  node_assets[("Asset registry<br/>[asset_registry.py]")]
  node_mediaqa["Media delivery QA"]
  node_deliveryops["Delivery operations"]
end

subgraph group_operations["Delivery and learning"]
  node_publish["Publish hub<br/>[publish_hub.py]"]
  node_tracker[("Channel tracking<br/>[channel_tracker.py]")]
  node_learning["Outcome learning"]
end

node_creator(("Creator"))
node_editkin{{"Editkin environment"}}

node_creator -->|"plans long-form"| node_longform
node_creator -->|"builds Shorts"| node_shorts
node_creator -->|"plans interview"| node_interview
node_creator -->|"requests context"| node_context
node_longform -->|"provides plan"| node_workflow
node_shorts -->|"provides plan"| node_workflow
node_silentvlog -->|"supports plan"| node_workflow
node_interview -->|"checks plan"| node_interviewgate
node_interview -->|"provides plan"| node_workflow
node_workflow -->|"dispatches execution"| node_editkin
node_editkin -->|"returns receipts"| node_workflow
node_workflow -->|"persists progress"| node_state
node_workflow -->|"records evidence"| node_receipts
node_workflow -->|"binds audit"| node_auditbinding
node_workflow -->|"requests QA"| node_mediaqa
node_shorts -->|"uses filters"| node_filter
node_longform -->|"uses filters"| node_filter
node_shorts -->|"uses assets"| node_assets
node_mediaqa -->|"informs delivery"| node_deliveryops
node_creator -->|"publishes package"| node_publish
node_publish -->|"tracks channel"| node_tracker
node_tracker -->|"supplies outcomes"| node_learning

click node_longform "https://github.com/hao0321/video-autopilot-kit/tree/main/src/longform_maker"
click node_shorts "https://github.com/hao0321/video-autopilot-kit/blob/main/src/shorts_autopilot.py"
click node_silentvlog "https://github.com/hao0321/video-autopilot-kit/blob/main/src/silent_vlog_maker/pipeline.py"
click node_interview "https://github.com/hao0321/video-autopilot-kit/blob/main/src/interview_autopilot.py"
click node_interviewgate "https://github.com/hao0321/video-autopilot-kit/blob/main/src/interview_gate.py"
click node_context "https://github.com/hao0321/video-autopilot-kit/blob/main/src/context_router.py"
click node_workflow "https://github.com/hao0321/video-autopilot-kit/blob/main/src/workflow_contract.py"
click node_state "https://github.com/hao0321/video-autopilot-kit/blob/main/src/workflow_state.py"
click node_receipts "https://github.com/hao0321/video-autopilot-kit/blob/main/src/workflow_receipts.py"
click node_auditbinding "https://github.com/hao0321/video-autopilot-kit/blob/main/src/workflow_audit_binding.py"
click node_filter "https://github.com/hao0321/video-autopilot-kit/blob/main/src/filter_runtime.py"
click node_assets "https://github.com/hao0321/video-autopilot-kit/blob/main/src/asset_registry.py"
click node_mediaqa "https://github.com/hao0321/video-autopilot-kit/blob/main/src/media_delivery_qa.py"
click node_deliveryops "https://github.com/hao0321/video-autopilot-kit/blob/main/src/delivery_media_ops.py"
click node_publish "https://github.com/hao0321/video-autopilot-kit/blob/main/src/publish_hub.py"
click node_tracker "https://github.com/hao0321/video-autopilot-kit/blob/main/src/channel_tracker.py"
click node_learning "https://github.com/hao0321/video-autopilot-kit/blob/main/src/outcome_learning.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_longform,node_shorts,node_silentvlog,node_interview,node_interviewgate,node_context toneBlue
class node_workflow,node_state,node_receipts,node_auditbinding toneAmber
class node_filter,node_assets,node_mediaqa,node_deliveryops toneMint
class node_publish,node_tracker,node_learning toneRose
class node_creator,node_editkin toneIndigo
```

## Components

### Production workflows

- [Long-form support](https://github.com/hao0321/video-autopilot-kit/tree/main/src/longform_maker): `src/longform_maker`
- [Shorts autopilot](https://github.com/hao0321/video-autopilot-kit/blob/main/src/shorts_autopilot.py): `src/shorts_autopilot.py`
- [Vlog support](https://github.com/hao0321/video-autopilot-kit/blob/main/src/silent_vlog_maker/pipeline.py): `src/silent_vlog_maker/pipeline.py`
- [Interview autopilot](https://github.com/hao0321/video-autopilot-kit/blob/main/src/interview_autopilot.py): `src/interview_autopilot.py`
- [Interview gate](https://github.com/hao0321/video-autopilot-kit/blob/main/src/interview_gate.py): `src/interview_gate.py`
- [Context routing](https://github.com/hao0321/video-autopilot-kit/blob/main/src/context_router.py): `src/context_router.py`

### Editkin execution

- [Durable workflow](https://github.com/hao0321/video-autopilot-kit/blob/main/src/workflow_contract.py): `src/workflow_contract.py`
- [Workflow state](https://github.com/hao0321/video-autopilot-kit/blob/main/src/workflow_state.py): `src/workflow_state.py`
- [Workflow receipts](https://github.com/hao0321/video-autopilot-kit/blob/main/src/workflow_receipts.py): `src/workflow_receipts.py`
- [Audit binding](https://github.com/hao0321/video-autopilot-kit/blob/main/src/workflow_audit_binding.py): `src/workflow_audit_binding.py`

### Media and QA

- [Filter runtime](https://github.com/hao0321/video-autopilot-kit/blob/main/src/filter_runtime.py): `src/filter_runtime.py`
- [Asset registry](https://github.com/hao0321/video-autopilot-kit/blob/main/src/asset_registry.py): `src/asset_registry.py`
- [Media delivery QA](https://github.com/hao0321/video-autopilot-kit/blob/main/src/media_delivery_qa.py): `src/media_delivery_qa.py`
- [Delivery operations](https://github.com/hao0321/video-autopilot-kit/blob/main/src/delivery_media_ops.py): `src/delivery_media_ops.py`

### Delivery and learning

- [Publish hub](https://github.com/hao0321/video-autopilot-kit/blob/main/src/publish_hub.py): `src/publish_hub.py`
- [Channel tracking](https://github.com/hao0321/video-autopilot-kit/blob/main/src/channel_tracker.py): `src/channel_tracker.py`
- [Outcome learning](https://github.com/hao0321/video-autopilot-kit/blob/main/src/outcome_learning.py): `src/outcome_learning.py`

### Other components

- **Creator**
- **Editkin environment**

## Connections

- Creator → Long-form support: plans long-form
- Creator → Shorts autopilot: builds Shorts
- Creator → Interview autopilot: plans interview
- Creator → Context routing: requests context
- Long-form support → Durable workflow: provides plan
- Shorts autopilot → Durable workflow: provides plan
- Vlog support → Durable workflow: supports plan
- Interview autopilot → Interview gate: checks plan
- Interview autopilot → Durable workflow: provides plan
- Durable workflow → Editkin environment: dispatches execution
- Editkin environment → Durable workflow: returns receipts
- Durable workflow → Workflow state: persists progress
- Durable workflow → Workflow receipts: records evidence
- Durable workflow → Audit binding: binds audit
- Durable workflow → Media delivery QA: requests QA
- Shorts autopilot → Filter runtime: uses filters
- Long-form support → Filter runtime: uses filters
- Shorts autopilot → Asset registry: uses assets
- Media delivery QA → Delivery operations: informs delivery
- Creator → Publish hub: publishes package
- Publish hub → Channel tracking: tracks channel
- Channel tracking → Outcome learning: supplies outcomes
