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

KeyDefaultDescription
jurors3 vendorsWhich model vendors seat the panel. Fewer than three is allowed but weakens the independence the threshold assumes — see how the panel works.
threshold2Affirming votes required before a finding is posted. 1 posts anything one juror defends; 3 demands unanimity.
block_at3Votes required to fail the merge gate. off publishes the check as advisory only.
overridesnonePath-scoped panel settings. See per-path panels.

scan

KeyDefaultDescription
pathsall trackedGlob patterns. Prefix with ! to exclude. Lockfiles, generated code and vendored directories are excluded by default.
max_diff3000Diff lines heard in one sitting. Larger pull requests are split by file and heard in parts.
draftfalseWhether to review draft pull requests. Off by default so drafts do not consume quota.

rules and suppress

KeyDefaultDescription
rulesnonePlain-language invariants weighed during the hearing. See house rules.
suppressnoneCategories 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.