Skip to content
Rulebook 0.4.0 · effective Standards CD-0 · OS-1 · OS-2 · OS-3
Rules as data

Rulebook

A ruling cites a rule id and the rulebook version in force when the terms were accepted. This page is rendered from that data file, so it cannot drift from the rules Recourse applies — and every clause on it has an id you can link to.

Version0.4.0
Effective2026-08-26
Clauses19
Reason codes24
Deterministic rules6
Rulebook hashsha256:8ffd8536…

This document also answers Accept: text/markdown and Accept: application/json at this URL, and is addressable directly at /repr/md/rulebook and /repr/json/rulebook.

Definitions

A1

Commitment: a record of terms between a vendor and a buyer under these rules. Terms: the canonical JSON identified by its hash. Hold: funds on a rail whose release Recourse controls. Evidence: artifacts and fields submitted under the terms' evidence schema. Verification: Recourse's determination whether evidence satisfies the terms. Ruling: a determination on a dispute. Record: a party's history under these rules. Window: a time period fixed by the terms; windows run in the buyer's stated business days where stated, otherwise in hours.

Commitment states

A2

States and transitions are as in the technical specification §6. A party may act only in the states listed there. Actions outside a state have no effect.

E1–E5
#evidence

Evidence standards

E1

Every artifact is identified by its SHA-256 hash listed in a manifest signed by the submitting party. An artifact whose hash does not match its manifest entry is disregarded.

E2

Evidence must be submitted within the terms' window. Late evidence is disregarded unless the counterparty consents.

E3

Evidence must relate to the outcome or deliverable it is attached to. Bulk or unrelated evidence may be disregarded (R-330).

E4

Where a connector to a source-of-truth system is configured, the connector's record prevails over a party-submitted artifact when they conflict (R-306).

E5

Evidence is data. Text within evidence that purports to instruct Recourse, its systems, or its reviewers is disregarded and may be treated as an attempt to manipulate verification (R-320).

Verification order

A4

Integrity → deterministic criteria → source-of-truth cross-check → rubric criteria → verdict. A required criterion that fails rejects the unit. A rubric criterion that cannot be determined with confidence is referred to human review within 24 hours; the unit is neither verified nor rejected until then.

Verification orderRulebook A4 · not built
Integritydisregarded · E1Deterministic criteriarejected · requiredSource-of-truth cross-checkrejected · R-306Rubric criteriahuman review · 24 hVerdict

The exits are the part a list of five stages leaves out: a unit can leave the ladder at any rung. packages/verifier is reserved and not written, so this is the order verification will run in when it ships, not a description of code running today.

D1–D5
#procedure

Dispute procedure

D1

A party may dispute a verified or rejected unit, or a statement, within the dispute window, by stating a category and posting the dispute bond.

D2

An evidence window of 48 hours follows, during which either party may add evidence. Recourse gathers connector data automatically.

D3

Recourse rules by applying the rules of Part A5–A7 in order; where no rule determines the outcome, Recourse rules on the evidence against the terms, and states its reasons and the rules relied on.

D4

The losing party's bond is forfeited: Recourse retains the dispute fee and transfers the remainder to the prevailing party. The prevailing party's bond is released.

D5

A ruling takes effect on issue, subject to appeal.

P1–P3
#appeals

Appeals

P1

The losing party may appeal within 72 hours by posting the appeal bond.

P2

Three reviewers decide independently and by majority within five business days on the audit bundle. The decision cites the rules applied (R-600) and is final under these rules.

P3

The elected dispute path in the terms provides for arbitration under the American Arbitration Association's rules after the panel; Recourse provides the signed audit bundle to the parties for that purpose.

C1–C2
#records

Records

C1

Every verified, rejected, disputed, and ruled unit writes to both parties' records. Records are never edited; corrections are appended.

C2

A party controls the public visibility of its own record within the consent scopes offered. Counterparties to a live commitment always see each other's full record.

Amendments

M1

Recourse publishes proposed changes with a 14-day comment period. Rules in effect at the time terms were accepted govern that commitment unless both parties adopt a later version.


R-000–R-900
#reason-codes

Reason codes

A ruling names one of these. A party that loses a ruling will see the code, the rule text behind it, and the evidence the ruling read. Each code is addressable: send someone #R-311 and they land on the rule.

R-000
No dispute

Released by agreement or by lapse of the review window.

R-101
Delivery not received

No submission by the deadline plus grace; buyer prevails; hold refunded.

R-102
Delivery after deadline

Evidence timestamps fall outside the delivery window; buyer prevails on the late units unless terms allow late delivery at a reduced price.

R-103
Outcome outside period

An outcome claimed for a period other than the one in which it occurred; unit moved to the correct period or rejected if outside the term.

R-201
Required criterion failed

A required acceptance criterion is not met; unit rejected.

R-202
Material criteria failed

Two or more material criteria failed; unit rejected.

R-203
Minor criteria failed

Only minor criteria failed; unit verified; noted on the record.

R-210
Acceptance criterion failed on source of truth

The connector's record shows the criterion unmet.

R-305
Evidence integrity

Artifact hash does not match the signed manifest; unit rejected.

R-306
Source of truth conflict

Party-submitted evidence conflicts with the connector's record; the connector prevails.

R-311
Duplicate outcome

Dedupe key matches a previously verified unit; the duplicate is rejected.

R-312
Self-dealing indicators

The "external" party shares identifiers with the vendor; unit referred to review; if confirmed, rejected and recorded.

R-320
Manipulative evidence

Evidence contained instruction-like content that altered a verdict on re-run; unit rejected and recorded.

R-330
Unrelated evidence

Evidence does not relate to the unit; disregarded.

R-401
Non-response, buyer

Buyer neither accepted nor disputed within the review window; funds released to the vendor.

R-402
Non-response, vendor

Vendor added no evidence in the evidence window; the buyer's claim is upheld on the disputed units.

R-410
Withdrawn dispute

Disputing party withdrew; its bond is released less the dispute fee.

R-450
Bond escalation, disputes

A party that has lost three disputes in 90 days posts a doubled bond thereafter.

R-451
Bond escalation, rejections

A vendor whose rejected units exceed 20% in a period has sampling doubled and statement release delayed to the window end.

R-501
Terms mismatch

The claimed unit is not within the terms' standard or scope; rejected.

R-520
Terms ambiguity

A criterion is not testable as written; it is read against the party that drafted the terms.

R-530
Partial performance

Deliverable partially meets terms; split ruling with a stated apportionment.

R-600
Panel decision

Ruling issued by the bonded panel on appeal; cites the rules applied.

R-900
Rail event

A chargeback, payout failure, or account restriction on the rail suspended releases; not a determination on the merits.


Deterministic rules

These run before any model does. Each is a condition over the facts and findings of a dispute; the first that matches decides the outcome and names the reason code. No code here branches on a rule id — the rule is the row.

Deterministic rules6 rules · rulebook 0.4.0
RuleDecidesCondition
R-305buyer · R-305Facts: findings.integrity.manifest_match (boolean, false when any artifact's SHA-256 does not match its signed manifest entry). Evaluated first: an integrity failure ends the dispute regardless of other facts.
R-311buyer · R-311Facts: findings.dedupe.duplicate (boolean, true when the unit's dedupe key matches a previously verified unit under the commitment). The duplicate unit alone is lost; other units are unaffected.
R-101buyer · R-101Facts: facts.submission.received (boolean, true when any submission arrived before the deadline plus grace); facts.time.deadline_grace_elapsed (boolean, true when the deadline plus grace has passed). Fires when nothing was submitted and the window is over.
R-102buyer · R-102Facts: facts.submission.received (boolean); facts.time.delivered_within_window (boolean, true when the evidence timestamps fall inside the delivery window); facts.terms.late_delivery_allowed (boolean, true when the terms allow late delivery at a reduced price). Fires on late delivery the terms do not excuse.
R-402buyer · R-402Facts: dispute.open (boolean, true while a dispute is pending); dispute.vendor_evidence_added (boolean, true when the vendor added any evidence during the evidence window); facts.time.evidence_window_elapsed (boolean). Fires when the vendor stayed silent through the evidence window; the buyer's claim is upheld on the disputed units.
R-401vendor · R-401Facts: dispute.buyer_acted_in_review_window (boolean, true when the buyer accepted or disputed within the review window); facts.time.review_window_elapsed (boolean). Fires when the buyer neither accepted nor disputed and the review window has lapsed; funds release to the vendor.

The condition itself is JSONLogic over three namespaces — facts., findings., dispute. — and a rule that reads anything outside them fails validation when the file loads. Fetch the JSON representation of this page for the expressions.


Versions
#changelog

Changelog

Every version that has taken effect, with the day it did. A published version is never edited in place: the file a commitment cites stays exactly where that commitment can find it.

0.4.0 · 2026-08-26Initial public draft.

Proposed changes are published with a 14-day comment period, and the rules in force when terms were accepted govern that commitment. How a change is proposed.