Spoolis docs
Acceptance lifecycle
Follow an Outcome from a frozen agreement through evidence, judgment, provisional acceptance, and final acceptance.
The lifecycle as a state machine
- Claimed: a Spool is created, and its criteria, earning rule, and parties are frozen behind
agreement_hash. - Evidence complete:
required_evidencestates roll up intoevidence_completeness. - Judged: a verification run produces
condition_resultswith the method,verifier_id, andverifier_version. Under bring your own judge, the customer's judge produces these results. - Result: the Outcome is pass, partial, fail, or uncertain, including per-unit results under
units. - Provisionally accepted: receipt status is active and the current time is before
review.window_ends_at. - Final: the review window has elapsed and status remains active.
Branches
- Rejected: fail, represented for consumers by
retryList. - Needs review or exception: uncertain, represented by
holdList. - Disputed:
dispute_policyrecords who may dispute, the window, scope, and what happens to disputed value. - Corrected or superseded: a new receipt supersedes the original with
verification_defect,appeal_reversal, ordispute_resolution. The original is never rewritten. The status endpoint reports corrected or revoked. - Human override: a superseding receipt uses
appeal_reversal, or ahuman_confirmedcondition recordsconfirmed_by.
Composed acceptance
A Spool has several mandatory or optional conditions. Each uses a deterministic, AI-assisted, human-confirmed, or external judge, and the published aggregation policy combines them. Today that policy is all_mandatory_pass.
Time-windowed facts such as "not reopened for 72 hours," duplicate detection across Outcomes, and OR branches other than supersession are not shipped as native condition kinds. Today the customer's judge computes those facts and returns pass, fail, or uncertain per condition.
Consumer checklist
- Verify the receipt.
- Read
acceptanceState. - Call
requireOutcomewithrequire_finalwhen money or an irreversible step depends on final acceptance.