# Mẫu thực hành của Đũa Thần AI — không phải tiêu chuẩn hay bảo đảm an toàn/reliability.
policy_id: "FP-YYYY-NNN"
version: "1.0"
owner: ""
reviewer: ""
review_by: "YYYY-MM-DD"
workflow:
  name: ""
  consequence_if_duplicated: "low | medium | high"
  max_runtime_seconds: null
tool:
  name: ""
  operation: "read | create | update | send | delete"
  documented_timeout_seconds: null
  side_effect_possible: false
  idempotency:
    supported: "yes | no | unknown"
    key_or_method: ""
    validity_window: ""
  reconciliation:
    status_check: ""
    authoritative_source: ""
failure_classes:
  transient_dependency:
    retry_eligible: false
    provider_signal: ""
  rate_limit:
    retry_eligible: false
    retry_after_source: ""
  invalid_input:
    retry_eligible: false
  authentication_or_permission:
    retry_eligible: false
  outcome_unknown:
    retry_eligible: false
    required_next_step: "reconcile_before_replay"
retry_budget:
  max_attempts: null
  max_elapsed_seconds: null
  backoff_source: "provider documentation | tested policy"
  jitter: "on | off | unknown"
fallback:
  route: ""
  acceptance_criteria:
    same_permission_scope: false
    freshness_requirement: ""
    output_contract_check: ""
circuit_breaker:
  open_condition: ""
  cool_down_or_probe_rule: ""
approval:
  required_for: []
  approver_role: ""
handoff:
  owner: ""
  response_expectation: ""
  exact_resume_condition: ""
logging:
  receipt_fields:
    - run_id
    - tool_and_operation
    - attempt_id
    - error_class
    - side_effect_state
    - decision
    - observed_outcome
    - next_owner
  redact_or_omit: ["secrets", "access_tokens", "unnecessary_personal_data"]
tests:
  test_pack: "/downloads/ai-agent-failure-handling/bo-test-loi-ai-agent-v1.csv"
  last_run: ""
  result_link: ""
