UmweltDocs
Reference/Queries/contradictions
contradictionsquerysince 0.1

A holder’s beliefs that contradict canon or each other. They are reported, never corrected.

Request
umwelt call story.umw contradictions '{
  "projectId": "ball",
  "holder": "duchess",
  "at": { "tick": 3 }
}'
Request
const result = await client.contradictions({ projectId: 'ball', holder: 'duchess', at: { tick: 3 } });
Request
var result = engine.Contradictions(new HolderAt
{
    ProjectId = "ball",
    Holder = "duchess",
    At = new At { Tick = 3 },
});
Response
[
  {
    "kind": "vs-canon",
    "holdingId": "duchess-told",
    "otherRecordId": "theft",
    "reason": "opposite-polarity"
  }
]

Payload

FieldTypeDescription
projectIdrequiredstringThe project to read.
holderrequiredstringThe agent or group asked about.
atAtdefault {}Where to read: tick, an optional axis, and asOfVersion. Defaults to the latest.
timelineIdstringdefault "main"The timeline to read.

Result

A list of Contradiction, each with:

FieldTypeDescription
holdingIdalwaysstringThe holder’s Holding.
kindalways"vs-canon" | "vs-self"vs-canon: against a Fact. vs-self: against another of their own Holdings.
otherRecordIdalwaysstringThe Fact or the Holding it contradicts.
reasonalways"opposite-polarity" | "different-value-in-functional-slot"opposite-polarity, or different-value-in-functional-slot for two values of a predicate of cardinality one.

Rules

The engine never corrects a belief. A Holding that contradicts canon stays held. It is only reported here.

What counts as a contradiction. The same claim with the opposite polarity, or another value in a functional slot. Two values of a many predicate never contradict.

Errors

VALIDATION_FAILEDThe payload is malformed.
NOT_FOUNDThe project, holder or timeline does not exist, or the draft read was purged.
INVALID_STATEThe timeline read is a draft that was promoted. details.promotedInto names the timeline to read instead.
HANDSHAKE_REQUIREDOver the protocol, hello was not sent first.

Every code is listed in Errors.

See also

Was this page helpful?