hitl-protocol
When and how Hydra pauses for human input. Defines HITL gate placement, render format, resume contracts, expiry behavior, and override semantics.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
When and how Hydra pauses for human input. Defines HITL gate placement, render format, resume contracts, expiry behavior, and override semantics.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Memory fabric usage — ephemeral / episodic / semantic. Read this before reading from or writing to Hydra memory.
Per-workflow budget enforcement: tripwire at 80% (downgrade model tier), HITL at 100%. Telemetry pattern for cost-per-task tracking.
How to construct, validate, and route Hydra's typed cross-squad message envelopes. Use whenever an agent emits or consumes a CSuiteDecisionPacket, PRD, ArchRFC, DevTask, CreativeBrief, ShotList, AssetJob, HITLRequest, DecisionRecord, or Handoff.
How Hydra discovers, resolves, and routes to squad packs. Read this before adding/removing/modifying a squad.
| name | hitl-protocol |
| description | When and how Hydra pauses for human input. Defines HITL gate placement, render format, resume contracts, expiry behavior, and override semantics. |
Hydra is HITL-first. Three rules every agent honors:
/hydra:approve or /hydra:resume resumes a paused workflow.HITL_REQUEST envelope verbatim — its reason, summary, options, and default_option.surfaced after expires_at (default 24h) and emit a postmortem note.LangGraph builds with interrupt_before=["approval", "synthesis"]. Additional ad-hoc gates fire from inside dispatch when a squad emits a HITL_REQUEST.
| Gate | Reason codes |
|---|---|
| approval (planning → dispatch) | budget_approval, high_risk, policy_breach, campaign_signoff |
| synthesis (dispatch → postcheck) | schema_conflict, dissent_unresolved |
| postcheck (postcheck → done) | loop_ceiling, budget_approval, prod_deploy |
============================================
HYDRA HITL REQUEST — workflow_id=<UUID>
reason : high_risk
summary : Dispatch creative+engineering to launch campaign for $8,000
options : approve | reject | modify-budget
default : reject
expires : 2026-05-19T18:00:00Z
============================================
/hydra:approve <wf> → hitl_history += [{decision:"approve", ts, operator}], pending_hitl=None, resume./hydra:resume <wf> --reject → mark phase="surfaced", log rejection./hydra:resume <wf> --modify-budget <usd> → patch state.budget.budget_usd, resume./hydra:resume <wf> --force-dispatch → emit policy_override event, resume. Operator owns risk.pending_hitl to "keep things moving." That defeats the audit trail.hitl_history. It is append-only.