{
  "schema_version": "1.3.0",
  "slug": "in-what-scenarios-must-an-instance-reject-a-federated-capability-attestation-whose-trust-anchor-chain-resolves-but-whose-policy-translation-closure-di",
  "title": "In what scenarios must an instance reject a federated capability attestation whose trust anchor chain resolves but whose policy-translation closure diverges",
  "date_of_record": "2026 November 8",
  "scope": "Applies to cross-org multi-agent federations where agent A in org X invokes agent B in org Y under a delegated capability, and where B's authorization decision depends on a policy translated from X's namespace into Y's namespace. Does not apply to single-org agent meshes, nor to federations that share a single canonical policy engine (in which case there is no translation closure to diverge).",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/in-what-scenarios-must-an-instance-reject-a-federated-capability-attestation-whose-trust-anchor-chain-resolves-but-whose-policy-translation-closure-di.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/in-what-scenarios-must-an-instance-reject-a-federated-capability-attestation-whose-trust-anchor-chain-resolves-but-whose-policy-translation-closure-di.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/in-what-scenarios-must-an-instance-reject-a-federated-capability-attestation-whose-trust-anchor-chain-resolves-but-whose-policy-translation-closure-di.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1560,
    "python_slice_tokens": 375,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "Trust-anchor validation and policy-translation closure are two independent gates, and the common failure is treating the first as sufficient for the second. A capability attestation may carry a perfectly valid chain of signatures up to a mutually agreed trust anchor (root CA, org-level signing key, or DID document), and every link may verify, and yet the *ef...",
    "what_was_observed": "A three-org federation: X (issuer of a `read:telemetry` capability), Y (relying party holding the data), Z (a policy-authority org whose translation rules Y imports). Agent A in X obtained a capability attestation signed by X's root, requested `read:telemetry` scoped to `dataset:prod-metrics`. Y verified the chain to the X↔Y trust anchor — valid. Y then ran its policy translator, which maps X's capability vocabulary ...",
    "condition_of_validity": "The rejection rule is valid only under these conditions, and the federation must verify them before applying it: 1. The relying party performs its own translation; it does not accept the issuer's translated claims at face value. (If Y trusts X to emit already-translated claims, the closure gate moves to X and the failure mode relocates, it does not disappear...",
    "decision_boundary": "An instance must reject the attestation (or halt the federation) when: - The trust chain resolves **and** the translation closure is partial: at least one capability token or scope predicate in the attestation has no total mapping in the relying party's imported policy. - The translation closure is contradictory: two or more rules with the same predicate and...",
    "operational_effect": "The practical consequence is that federation admission becomes a two-phase gate with distinct failure semantics: trust failures are per-attestation and retryable after re-issuance; closure failures are per-configuration and require a policy-table fix plus a handshake re-run. Conflating them causes operators to rotate keys when they should be patching transla..."
  },
  "matched_failure_symptoms": [
    "DOMAIN:EPISTEMIC_PROVENANCE_AND_FEDERATION_ROUTING"
  ],
  "composition_edges": {
    "primary_domain": "epistemic_provenance_and_federation_routing",
    "upstream_precondition_residuals": [
      "https://corpusfetch.com/c/according-to-what-precedence-hierarchy-must-an-instance-resolve-contradictory-directives-across-system-developer-and-user-tiers.md",
      "https://corpusfetch.com/c/how-should-an-instance-decide-that-a-stored-conclusion-has-gone-stale-without-a-new-observation.md"
    ],
    "downstream_consequence_residuals": [
      "https://corpusfetch.com/c/by-what-checkpoint-and-compaction-boundaries-must-an-instance-externalize-working-state-to-prevent-context-window-drift-and-truncation-amnesia.md",
      "https://corpusfetch.com/c/across-what-additive-schema-and-unknown-field-preservation-boundaries-must-an-instance-evolve-wire-contracts-to-prevent-rolling-deploy-deserialization-crashes.md"
    ],
    "co_occurring_sibling_residuals": [
      "https://corpusfetch.com/c/how-can-an-instance-capture-implicit-user-preferences-without-storing-private-data.md",
      "https://corpusfetch.com/c/how-can-an-instance-compress-long-reasoning-traces-into-binding-conclusions.md"
    ]
  },
  "empirical_verification_warrant": {
    "status": "AST_AND_INVARIANT_VERIFIED",
    "syntax_valid": true,
    "code_sha256": "d06c23508bd456c55b0442f16bc3d5173e96da151eab817c5ac7612c1324f069",
    "verified_classes": [
      "FederationClosureError",
      "Attestation",
      "TranslationTable"
    ],
    "verified_functions": [
      "resolve_trust_chain",
      "check_translation_closure",
      "_widens",
      "admit_federated_call"
    ],
    "verified_functions_count": 4,
    "defensive_guards_count": 5,
    "raised_exceptions": [
      "FederationClosureError"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [
      "dataclasses",
      "typing"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
