feature-intakelisted
Install: claude install-skill minhtran3124/agent-harness
# Feature Intake — Risk Lane Classifier & Router
Every implementation prompt passes through this gate before code changes. The output is a
**lane** (how much proof/ceremony) and a **confidence** (whether a human is asked), recorded
in `specs/<slug>/SUMMARY.md` and used to route the rest of the workflow.
> **The human does not classify risk. The harness does.**
> Two independent axes:
> - **Lane** scales with **RISK** → how much proof and ceremony.
> - **Confidence/ambiguity** scales with **UNCERTAINTY** → whether to pause for a human.
>
> A high-risk-but-unambiguous task runs autonomously through heavy proof.
> A low-risk-but-ambiguous task still pauses. Never ask a human "is this risky?" — answer
> that mechanically. Ask a human only "did I understand you?" and "may I cross this boundary?"
<HARD-GATE>
Do NOT edit files, scaffold, or dispatch implementation work until intake is complete:
the lane is assigned, the intake statement is emitted, and `Lane:`/`Confidence:` are written
to `specs/<slug>/SUMMARY.md` (shape: `templates/SUMMARY.template.md`).
A hard gate (see below) forces `high-risk` and cannot be self-downgraded — only a human
narrowing scope may lower it. The orchestrator MUST write a `Lane:` line: `.claude/hooks/risk-corroboration.sh`
blocks a commit whose diff trips a hard gate while the declared lane is below `high-risk`.
(A *missing* lane only warns — fail-open — unless `RISK_CORROBORATION_STRICT=1` is set, so
write the lane rather than rely on the hook.)
</H