CastHQ specChange envelopeConditionsConfidenceReconciliation

Reconciliation

Many parties say things about one event: its producer, sources CastHQ watches, members, agents. Each statement is a claim. CastHQ never overwrites a claim and never deletes one; it picks which claim each fact shows, records the pick as a change, and keeps the rest visible.

Claims

A claim asserts one fact (schedule, status, title, location, links) about one event, with:

Claims are append-only. A correction is a new claim.

Picking the winner

For each fact, among the claims nobody has superseded, the winner is the first by:

  1. origin: admin over producer over observed;
  2. then recency: the most recently observed;
  3. then the claimant's own stated confidence, which only breaks ties within one origin at one instant.

A weaker origin never outranks a stronger one, however recent or however many say it. The winner's value is what every surface shows, and moving it writes one change, in the same transaction as the claim. A claim that loses writes no change of its own, but can open a dispute (below) and can move the fact's confidence.

Precision

A date is a window with a precision (datetime, day, month, quarter, half, season, year, window, tba), never a made-up day. A schedule change is classified as scheduled (a first date), moved_earlier, moved_later, narrowed (the window shrank inside the old one), widened or undated, and carries delta in seconds. Surfaces never state a date more precise than its precision.

Disputes

A party disputes a fact when its latest claim:

When a party starts disputing, CastHQ writes a dispute change with semantic opened; when it stops (it came round, it won, or a new winner agrees with it), resolved. A party already disputing that changes its value is still one dispute. While a dispute is open and CastHQ has not ruled, the fact's confidence is disputed. An admin ruling settles it.

Open disputes are listed as contested on the status answer. Never present a contested value as the date.

Confirmation, in words

The status answer says, for each fact, who the shown value rests on:

confirmation The winning claim
producer_confirmed the producer's
admin_ruled CastHQ's ruling
observed a watched source's
community_reported a member's, with no watched source
unclaimed nobody's: the registry's default

Say which when repeating a value: "confirmed by the producer", or "reported by {source}, not confirmed by the producer".

Guarantees