---
name: snipara-proof-gates
description: "Define and run proof gates before an agent calls Snipara-enabled work done, including local tests, lint/type-checks, code impact, package surface checks, deploy smoke tests, registry verification, and task commit evidence. Use for releases, package updates, production changes, risky edits, and user-visible workflow changes."
---

# Snipara Proof Gates

## Done Means Proven

Do not call work complete just because code was edited. Match proof to blast radius and report gaps honestly.

## Common Gates

- Small code change: focused unit test, lint/type-check for touched package, and local behavior check.
- Route/service/job/auth/billing/schema/deploy change: code impact, focused tests, type-check, and environment-specific smoke.
- Package change: package tests, build, pack dry-run or pack smoke, registry comparison if publishing, and `npx` or clean install verification after publish.
- Production deploy: health checks, route-specific probes, live version marker when available, and log scan for the changed behavior.
- Documentation/template change: generated artifact inspection plus the smallest test proving the generator still emits the expected files.

## Snipara-Specific Gates

Use context and impact before risky conclusions:

```bash
npx -y snipara-companion@latest brief --task "<task>" --changed-files <files...> --diff-summary "<summary>"
npx -y snipara-companion@latest code impact --changed-files <files...> --diff-summary "<summary>"
```

Use managed workflow commits for durable proof:

```bash
npx -y snipara-companion@latest workflow phase-commit <phase_id> --summary "<outcome>" --files <files...>
npx -y snipara-companion@latest final-commit --summary "<final outcome>" --files <files...>
```

If Companion is unavailable, use hosted `snipara_code_impact` when exposed and `snipara_end_of_task_commit` for durable closeout.

## Reporting

Report commands run, files changed, published or deployed versions, smoke results, and anything not verified. Keep package-release status separate from app-deploy status.
