{
  "schema": "ashlight.focus.RepositoryCapabilityContractV1",
  "version": 1,
  "build": "31.9F3M2",
  "doctrine": {
    "target": "DEEPEST_LAWFUL_CAPABILITY_PARITY",
    "fabricateUnsupportedCapability": false,
    "providerIdentityIsNotAuthority": true
  },
  "capabilityLevels": [
    "PROBE",
    "HYDRATE",
    "STRUCTURE",
    "EVIDENCE",
    "MEDIA",
    "EXPORT",
    "AGENT",
    "AUTH_POLICY"
  ],
  "hydrationModes": [
    "DIRECT",
    "RESOLVER",
    "METADATA_ONLY",
    "NONE"
  ],
  "evidenceModes": [
    "BLOCK",
    "SECTION",
    "PAGE",
    "ANCHOR",
    "NONE"
  ],
  "authModes": [
    "OPEN",
    "API_KEY",
    "OAUTH",
    "SUBSCRIPTION",
    "CUSTOM_SERVER_SIDE"
  ],
  "requiredRegistrationFields": [
    "id",
    "label",
    "category",
    "region",
    "homepage",
    "access",
    "status",
    "capabilities",
    "policy"
  ],
  "secretPolicy": {
    "serverSideOnly": true,
    "publicReceiptSecrets": false,
    "promptSecrets": false,
    "aliasSupported": true
  },
  "systemSurfaces": [
    "REPOSITORY_ATLAS",
    "FOCUS",
    "RABBIT",
    "DIRECTOR",
    "EXPORT",
    "AGENT_DISCOVERY"
  ],
  "acceptanceTests": [
    "FIXTURE_QUERY",
    "CUSTOM_QUERY",
    "RATE_LIMIT",
    "FAILURE",
    "HYDRATION_IF_SUPPORTED",
    "PROVENANCE",
    "EVIDENCE_LOCATOR_IF_SUPPORTED",
    "MEDIA_POLICY",
    "EXPORT",
    "AGENT_DISCOVERY"
  ],
  "adapterChangeMetadata": {
    "fields": [
      "changedInBuild",
      "adapterRevision",
      "adapterTechnique"
    ],
    "purpose": "Surface source-specific integration changes to humans and future agents; record successful remediation patterns for zero-yield or source-shape mismatch.",
    "changelog": "/protocol/REPOSITORY_ADAPTER_CHANGELOG_V1.json",
    "authoringGuide": "/docs/repository_adapter_authoring_v2.html"
  },
  "zeroYieldDoctrine": {
    "transportSuccessIsNotQueryFitness": true,
    "diagnosticSequence": [
      "TRANSPORT",
      "QUERY_SHAPE",
      "SOURCE_RESOLVER",
      "API_SEMANTICS",
      "AUTH_POLICY",
      "GENUINE_ZERO_YIELD"
    ],
    "sourceSpecificResolversAllowed": true,
    "mustBeReceipted": true
  }
}
