version: "2"

# Registro canônico de observabilidade + compatibilidade de guardrails do Contas.
#
# Formas aceitas:
#   guardrail.x: GRL.999                   # somente label externo (compatível com v1)
#   guardrail.x: {action: retry}           # somente política de execução
#   guardrail.x:                           # ambos + aliases
#     label: GRL.999
#     action: retry
#     aliases: [X, OUTRO_X]
#
# Precedência para ação quando um rail nega a resposta:
#   1) terminal_action explícito retornado pelo rail
#   2) on_deny do guardrails.yaml
#   3) action deste arquivo
#   4) BLOCK (fail-safe)
#
# Códigos sem entrada passam pela observabilidade sem alteração.
mappings:
  # Contrato externo solicitado para este agente.
  guardrail.dlex_in:
    label: GRL.004
    aliases: [DLEX_IN]

  guardrail.tox:
    label: GRL.005
    aliases: [TOX]

  # Compatibilidade histórica de ações do framework. Sem label: o nome
  # observável continua sem alteração, mas a ação é resolvida pelo registry.
  guardrail.revprec:
    action: retry
    aliases: [REVPREC, TIM_REVPREC]

  guardrail.cmp:
    action: retry
    aliases: [CMP]

  guardrail.sco:
    action: retry
    aliases: [SCO]

  guardrail.gnd:
    action: retry
    aliases: [GND]

  guardrail.handover:
    action: handover
    aliases: [HANDOVER, ATH, HUMAN]
