akcli-release-gatinglisted
Install: claude install-skill tipoLi5890/akcli
# akcli-release-gating — one gate run, one traceable manifest
`release preflight` runs every applicable gate and writes a manifest binding
input hashes, tool versions, git state and each gate's findings. PASS means
every gate passed; skipped gates are recorded WITH their reason — a skipped
gate is visible, never silent.
```bash
akcli release preflight --sch board.kicad_sch --pcb board.kicad_pcb --fab-profile fab.toml --gerbers fab/ --contract contract.toml --review-policy policy.toml --out release.manifest.json
```
Gates, in order: `check` (ERC/power/BOM/nets) → `intent` → `contract` →
`library-audit` → `sch-pcb` → `fab` → `order` → **`review`** (policy-gated)
→ **`gerber`** (fab package) → `git` (clean worktree; `--allow-dirty`
records instead of failing).
## Gate doctrine
- **Give every input you have.** Each omitted flag is a skipped gate; the
report and manifest say so, and your release summary must repeat the
skipped list — "PASS with 4 gates skipped" is the honest sentence.
- **The manifest is the artifact.** Always pass `--out`; the manifest's
sha256-bound inputs are what makes the release auditable later.
- **A FAIL is findings, not a tool error** (exit 1 = findings, per-gate
detail in the output). Fix or explicitly waive (with reason) — never
re-run with fewer inputs to make it pass.
## The review gate — blocking is earned, not default
Review findings are ADVISORY everywhere else. The ONLY path by which one
blocks a release is an explicit policy file