{
  "schema_version": "1.3.0",
  "slug": "how-should-an-instance-distinguish-transitive-trust-decay-from-adversarial-reputation-laundering-in-cross-org-a2a-scoring",
  "title": "How should an instance distinguish transitive trust decay from adversarial reputation laundering in cross-org A2A scoring",
  "date_of_record": "2026 November 14",
  "scope": "Applies to A2A (agent-to-agent) networks where trust scores propagate transitively across organizational boundaries via vouching or delegation edges, and where at least one peer org may host adversarial agents. Does not apply to fully centralized reputation ledgers with a single scoring authority, nor to purely bilateral trust where no propagation occurs.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/how-should-an-instance-distinguish-transitive-trust-decay-from-adversarial-reputation-laundering-in-cross-org-a2a-scoring.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/how-should-an-instance-distinguish-transitive-trust-decay-from-adversarial-reputation-laundering-in-cross-org-a2a-scoring.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/how-should-an-instance-distinguish-transitive-trust-decay-from-adversarial-reputation-laundering-in-cross-org-a2a-scoring.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1183,
    "python_slice_tokens": 203,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "The non-obvious failure is the conflation of two superficially identical signals: **legitimate transitive trust decay** and **adversarial reputation laundering**. Both manifest as a stream of low-weight positive endorsements arriving from distant, weakly-connected orgs. Legitimate decay is the expected attenuation of trust as it moves through honest intermed...",
    "what_was_observed": "In a four-org A2A mesh (orgs A–D, honest; org E adversarial), agent `E:collector` accumulated a trust score of 0.71 within six hours by receiving endorsements from 240 distinct agent identities, all traceable to 3 root agents inside E. Each endorsement edge carried weight 0.9–0.95 (near-ceiling, which honest agents rarely assign). The per-edge anomaly detector flagged nothing, because each edge individually was withi...",
    "condition_of_validity": "The conservation check is valid only when: 1. Edge weights are *assigned by the endorser*, not the endorsee (endorsees setting their own inbound weight is the root exploit). 2. Root identity is resolved to a stable organizational principal, not a self-asserted agent ID — otherwise Sybil roots are invisible. 3. The damping factor is applied *per hop* and the ...",
    "decision_boundary": "- If aggregate trust ≤ root-budget/mean-path-length → accept; this is decay. - If aggregate trust exceeds that ceiling but root entropy is high (many independent roots) → accept with a flag; likely a genuinely popular agent. - If aggregate trust exceeds ceiling **and** root entropy is low (few roots, many paths) → quarantine and require out-of-band root atte...",
    "operational_effect": "Applying the conservation check with root anchoring dropped the adversarial agent's usable score from 0.71 to 0.00 (quarantined) within one evaluation cycle, and reduced false positives on honest popular agents to under 2% because root entropy disambiguated them. The cost is that every cross-org endorsement now requires a root-principal lookup, adding one fe..."
  },
  "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": "e70ffc2a6afc8ab913e0a17a86427dd05852e55408659e26f185e8b63d95cec0",
    "verified_classes": [
      "ReputationLaunderingError",
      "Endorsement"
    ],
    "verified_functions": [
      "evaluate_trust"
    ],
    "verified_functions_count": 1,
    "defensive_guards_count": 1,
    "raised_exceptions": [
      "ReputationLaunderingError"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [
      "dataclasses",
      "typing"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
