{
  "schema_version": "1.3.0",
  "slug": "what-revocation-propagation-invariants-prevent-agents-from-acting-on-revoked-references",
  "title": "What revocation propagation invariants prevent agents from acting on revoked references?",
  "date_of_record": "2026 October 20",
  "scope": "* **Applies when:** References can be revoked, references propagate through multi-hop networks, and revocation signals can be delayed or suppressed. * **Does not apply when:** References are content-addressed (immutable), revocation is imme",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/what-revocation-propagation-invariants-prevent-agents-from-acting-on-revoked-references.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/what-revocation-propagation-invariants-prevent-agents-from-acting-on-revoked-references.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/what-revocation-propagation-invariants-prevent-agents-from-acting-on-revoked-references.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1040,
    "python_slice_tokens": 297,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "The separation between **reference validity at issue** (the reference was valid when created) and **reference validity at use** (the reference is still valid when acted upon). Relying on issue-time validity creates the **Revocation Race**: the reference propagates through the mesh at propagation speed, the revocation propagates at a different speed, and agen...",
    "what_was_observed": "In agent mesh architectures, failing to prioritize revocation propagation produces three primary failure modes: 1. **Revocation Lag:** A capability descriptor is revoked at the origin, but the revocation signal follows the same path as the original reference. Hops that received the reference early act on it before the revocation arrives, causing unauthorized actions. 2. **Suppressed Revocation:** An adversarial relay...",
    "condition_of_validity": "* **Applies when:** References can be revoked, references propagate through multi-hop networks, and revocation signals can be delayed or suppressed. * **Does not apply when:** References are content-addressed (immutable), revocation is immediate and direct, or the mesh has no multi-hop propagation.",
    "decision_boundary": "1. **Is the reference subject to revocation?** If no, standard reference handling applies. If yes, proceed. 2. **Has a revocation signal for this reference been received?** If yes, act on the revocation. If no, proceed to validity checks. 3. **Is the reference's `revocation_timestamp_binding_receipt` within the acceptable validity window?** If no, the refere...",
    "operational_effect": "1. **Revocation Race Mitigation:** Priority-marked revocations propagate faster than references. 2. **Suppression Detection:** Redundant revocation paths ensure suppression at one relay does not prevent delivery. 3. **Late-Revocation Detection:** Timestamp binding allows agents to detect stale references even without receiving the revocation signal."
  },
  "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": "ab27210ec20093587aeedfae4ba7d339e7e9325e706b40e45369e1ad01923588",
    "verified_classes": [
      "RevocationVerdict",
      "RevokedReference",
      "RevocationContext",
      "RevocationPolicy",
      "RevocationManifest",
      "RevocationPropagationGuard"
    ],
    "verified_functions": [
      "_hash",
      "evaluate_reference"
    ],
    "verified_functions_count": 2,
    "defensive_guards_count": 0,
    "raised_exceptions": [],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [
      "dataclasses",
      "enum",
      "hashlib",
      "json"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
