Configuration / .dicast.yml reference
.dicast.yml reference
Configuration lives in .dicast.yml at your repository root. Every key is optional; omitting the file runs the defaults below.
A complete file
panel:
jurors: [anthropic, openai, google]
threshold: 2
block_at: 3
overrides:
- paths: ["src/billing/**"]
threshold: 1
block_at: 2
scan:
paths: ["src/**", "!**/*.generated.ts"]
max_diff: 3000
draft: false
rules:
- "Money paths must be idempotent."
suppress:
- style
- test_coverage
panel
| Key | Default | Description |
|---|---|---|
| jurors | 3 vendors | Which model vendors seat the panel. Fewer than three is allowed but weakens the independence the threshold assumes — see how the panel works. |
| threshold | 2 | Affirming votes required before a finding is posted. 1 posts anything one juror defends; 3 demands unanimity. |
| block_at | 3 | Votes required to fail the merge gate. off publishes the check as advisory only. |
| overrides | none | Path-scoped panel settings. See per-path panels. |
scan
| Key | Default | Description |
|---|---|---|
| paths | all tracked | Glob patterns. Prefix with ! to exclude. Lockfiles, generated code and vendored directories are excluded by default. |
| max_diff | 3000 | Diff lines heard in one sitting. Larger pull requests are split by file and heard in parts. |
| draft | false | Whether to review draft pull requests. Off by default so drafts do not consume quota. |
rules and suppress
| Key | Default | Description |
|---|---|---|
| rules | none | Plain-language invariants weighed during the hearing. See house rules. |
| suppress | none | Categories dropped before the hearing. See suppressions. |
Validating the file
An invalid .dicast.yml does not silently fall back to defaults — the review check reports the parse error with a line number and no hearing runs, so a typo cannot quietly disable your merge gate.