Guide 03 · DISSENT

CONTRACT REVIEW · TEST_ONLYReview-candidate contract and local fixture evidence only · no distributed SDK, operational API, publisher parity, or decision authority

Record dissent and the next check.

Use Dissent for a challenge, EvidenceRequest for missing evidence, and Task for review work. Keep the counterevidence and responsibility for follow-up together.

01

Dissent is a review record, not an error message

Dissent records a human challenge to an option, assumption, or recorded Decision. Preserve who raised it and the target node so later versions retain the lineage.

  • statement and raisedBy
  • DISSENTS_FROM target
  • occurredAt and sourceNodeIds
  • Explicit OPEN, RESOLVED, or SUPERSEDED state
02

Turn an unverified assumption into an EvidenceRequest

  1. 01
    Expose the assumption

    Represent the proposition as an Assumption node.

  2. 02
    Create a verifiable question

    Use RAISES from the Assumption to an EvidenceRequest.

  3. 03
    Connect accountable review work

    Use ASSIGNS to a Task while keeping it a review record, not an execution command.

  4. 04
    Update through lineage

    Preserve the old question and mark it fulfilled or superseded in the next version.

03

Dissent does not close automatically

New supporting evidence does not erase an existing Dissent. A human review record and explicit state transition are required, and unresolved disagreement stays visible.