REQUIRED=['label_template_id', 'template_version', 'printer_profile', 'dpi', 'media_size', 'locale', 'base_direction', 'field_direction_overrides', 'barcode_symbology', 'barcode_payload', 'identifier_type', 'application_identifiers', 'human_readable_text', 'quiet_zone_check', 'symbol_size_check', 'contrast_check', 'font_profile', 'raster_scale', 'print_job_id', 'scan_result', 'decoded_payload', 'roundtrip_match', 'layout_review', 'owner', 'evidence_ref']

def has_ltr_tracking(c):
    return 'tracking:ltr' in str(c.get('field_direction_overrides',''))

def evaluate(c):
    # Preserve typed non-success rather than forcing success.
    missing=[k for k in REQUIRED if k not in c or c[k] in (None,'')]
    if missing: return 'HOLD_UNKNOWN_EVIDENCE'
    if int(c.get('dpi')) != int(c.get('bound_dpi')) or c.get('media_size') != c.get('bound_media_size'):
        return 'HOLD_PROFILE_REBUILD'
    if c.get('base_direction')=='rtl' and not has_ltr_tracking(c):
        return 'REJECTED_BIDI_UNSAFE'
    if c.get('quiet_zone_check')=='UNKNOWN' or c.get('symbol_size_check')=='UNKNOWN' or c.get('contrast_check')=='UNKNOWN':
        return 'HOLD_UNKNOWN_EVIDENCE'
    if c.get('quiet_zone_check')!='PASS' or c.get('symbol_size_check')!='PASS' or c.get('contrast_check')!='PASS':
        return 'HOLD_REVERIFY_SYMBOL'
    if c.get('layout_review')!='PASS':
        return 'HOLD_LAYOUT_REVIEW'
    if c.get('scan_result')!='PASS' or c.get('roundtrip_match')!='MATCH' or c.get('decoded_payload')!=c.get('barcode_payload'):
        return 'REJECTED_ROUNDTRIP_MISMATCH'
    return 'PROMOTE_VERIFIED'

def controls(c):
    decision=evaluate(c)
    return {
      'dimension_contract': all(k in c for k in REQUIRED),
      'printer_binding_handled': (decision=='HOLD_PROFILE_REBUILD') if (int(c.get('dpi'))!=int(c.get('bound_dpi')) or c.get('media_size')!=c.get('bound_media_size')) else decision!='HOLD_PROFILE_REBUILD',
      'bidi_handled': (decision=='REJECTED_BIDI_UNSAFE') if (c.get('base_direction')=='rtl' and not has_ltr_tracking(c)) else decision!='REJECTED_BIDI_UNSAFE',
      'symbol_state_handled': (decision in ('HOLD_REVERIFY_SYMBOL','HOLD_UNKNOWN_EVIDENCE')) if (c.get('quiet_zone_check')!='PASS' or c.get('symbol_size_check')!='PASS' or c.get('contrast_check')!='PASS') else decision not in ('HOLD_REVERIFY_SYMBOL',),
      'roundtrip_handled': (decision=='REJECTED_ROUNDTRIP_MISMATCH') if (c.get('decoded_payload')!=c.get('barcode_payload') or c.get('roundtrip_match')!='MATCH' or c.get('scan_result')!='PASS') else decision!='REJECTED_ROUNDTRIP_MISMATCH',
      'expected_decision': decision==c.get('expected_decision')
    }
