Policy file (.sieve.yml)
Commit a .sieve.yml at the repo root to turn Sieve from advisory into policy. Read at the PR's head commit, so a PR can change its own policy and have it apply to itself.
Live keys
json
# .sieve.yml — both keys optional, safe defaults shown
blockOn: critical # never | critical | high | medium
autofix: false # open a corrected-migration PR for unsafe changesblockOn— the lowest risk level that fails the required check. With branch protection requiringSieve / migration safety, that risk level can no longer merge.neverkeeps Sieve purely advisory. Defaults tocritical.autofix— whentrue, Sieve opens a follow-up PR with the corrected, phased migration whenever it rewrites an unsafe change. Off by default.
Forgiving by design
A missing or malformed config falls back to safe defaults — Sieve never fails a review because the file didn't parse.
.yaml and .json are accepted too, and snake_case (block_on) is normalized.Planned keys
The fields below are on the roadmap and are not parsed yet — paths, custom rule toggles, numeric thresholds, required reviewers, backfill tuning, and Slack/Linear hooks.
json
# planned — not parsed today
paths:
schema: prisma/schema.prisma
migrations: prisma/migrations/
src: src/
thresholds:
approve: 24
review: 50
block: 80
require_review_from:
- "@your-org/db-stewards"
backfill:
batch_size: 1000
max_lock_ms: 200
slack:
channel: "#db-changes"
notify_on: ["blocked", "review"]