Docs
Everything you need to run Bracel.
Start with the quickstart, or jump to the reference. Every verdict comes with a reason code; all of them are listed below.
Last updated 1 October 2026
Coming soon
Next · Quickstart
Start here
- StartQuickstartFrom an empty repository to a first verdict on a pull request.
- ConceptsHow it worksRules, the base commit, execution, verdicts and limits.
- ReferenceRule templatesExact steps and conditions for each template.
- CheckCompatibilityThe supported profile, as twelve questions.
- ReferenceIntegrationsWhat is required, validated, supported or recommended.
- TrustSecurity and dataEvery data path and the customer-ci threat model.
Reason codes
Every result carries one reason code. It tells you why the verdict follows, and for UNKNOWN, what to change.
| Verdict | Reason | Meaning |
|---|---|---|
| PASS | over-refund-rejected | The over-refund got a 4xx and the refunded total did not change. |
| PASS | all-requests-denied | Every request without credentials was denied. |
| FAIL | over-refund-accepted | A refund beyond the remaining captured amount succeeded. |
| FAIL | refunded-total-changed-after-rejection | The over-refund was rejected, but the refunded total changed anyway. |
| FAIL | unauthenticated-request-succeeded | A request without credentials succeeded. |
| UNKNOWN | policy-review-required | The pull request changes Bracel’s rules, code owners or workflows. Review and merge it; later pull requests are judged by it. |
| UNKNOWN | unsupported-profile | The repository is outside the supported profile. The summary says what to change. |
| UNKNOWN | setup-failed | The synthetic payment could not be created, or no usable payment ID came back. |
| UNKNOWN | refunded-total-unreadable | The refunded total could not be read from the configured route and pointer. |
| UNKNOWN | control-refund-rejected | The valid control refund was rejected, so the cap could not be tested. |
| UNKNOWN | control-refund-not-observed | The control refund did not show in the refunded total. |
| UNKNOWN | over-refund-inconclusive | The over-refund got a response that is neither a success nor a client error. |
| UNKNOWN | unexpected-response | A request without credentials got neither a denial nor a success. |
| UNKNOWN | template-withdrawn | The rules file names a template version that a release has withdrawn. |