zap-heavy template (or an overlay of one). Zap drives every harness through one of three run adapters — http-runs, cli-exec, or openai-compat — and normalizes all output to the shared RunEvent union, redacted before it leaves the runtime.
Invariants for every harness:
- Snapshots and manifests never contain keys. BYOK env is injected per box at create time; managed mode receives only the gateway proxy URL (
ZAP_API_URL/v1/runtimes/{id}/gateway). - Inbound channel adapters (Discord, Telegram, Slack, email, …) are disabled by default.
- Ports are hosted private unless a harness explicitly needs public exposure.
Catalog
CLI
bake.sh, doctor.sh, a warm stop→resume→doctor cycle, and a secret sweep before snapshotting.