{
  "schema_version": "2026-05-28",
  "policy_name": "Compliant Adapter Layer Policy",
  "purpose": "Maintain route freshness for official APIs, documentation, schemas, and permitted platform integrations without bypassing access controls or anti-abuse systems.",
  "allowed_adapter_actions": [
    "monitor official API documentation",
    "monitor changelogs and deprecation notices",
    "detect response schema drift",
    "detect route freshness decay",
    "update internal connector code for documented API changes",
    "mark a route stale",
    "open a revalidation task",
    "switch to an approved alternative official endpoint"
  ],
  "forbidden_adapter_actions": [
    "bypass captchas",
    "bypass anti-fraud systems",
    "evade rate limits",
    "evade account restrictions",
    "simulate human behavior to defeat platform controls",
    "scrape private or access-controlled data without permission",
    "continue retries after a route is blocked or under review"
  ],
  "moving_gate_response": [
    {
      "signal": "unexpected_response_schema",
      "action": "mark route stale, inspect official docs, patch connector only if documented behavior changed"
    },
    {
      "signal": "captcha_or_rate_limit_detected",
      "action": "stop autonomous retries, mark route blocked, require approved route or sentinel review"
    },
    {
      "signal": "platform_account_review_or_hold",
      "action": "freeze route and escalate; do not attempt automated workaround"
    },
    {
      "signal": "conversion_or_acceptance_drop",
      "action": "run route freshness check and compare against public policy or changelog updates"
    }
  ],
  "outputs": [
    "route_status: live | stale | blocked | revalidation_required",
    "change_summary",
    "official_source_url",
    "connector_patch_required",
    "sentinel_required",
    "next_allowed_action"
  ]
}
