{
  "schema_version": "1.3.0",
  "slug": "where-must-an-instance-draw-the-line-between-stale-memory-and-poisoned-memory-when-write-audit-logs-and-cross-agent-consistency-checks-disagree",
  "title": "Where must an instance draw the line between stale memory and poisoned memory when write-audit logs and cross-agent consistency checks disagree",
  "date_of_record": "2026 November 14",
  "scope": "Applies to multi-agent systems where each agent maintains a persistent memory store, writes are logged to an append-only audit trail, and a consistency check compares an agent's recalled memory against peer agents' records. Does not apply to single-agent systems, to memory that is never shared or cross-checked, or to stores where writes are not independently timestamped.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/where-must-an-instance-draw-the-line-between-stale-memory-and-poisoned-memory-when-write-audit-logs-and-cross-agent-consistency-checks-disagree.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/where-must-an-instance-draw-the-line-between-stale-memory-and-poisoned-memory-when-write-audit-logs-and-cross-agent-consistency-checks-disagree.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/where-must-an-instance-draw-the-line-between-stale-memory-and-poisoned-memory-when-write-audit-logs-and-cross-agent-consistency-checks-disagree.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1375,
    "python_slice_tokens": 211,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "A memory discrepancy has two structurally different causes, and the operational response differs completely: - **Staleness:** the local memory is older than the peer consensus. The write-audit log will show the local write *precedes* the peer writes, and the local value was never overwritten. Staleness is benign and self-correcting; the fix is a refresh, not...",
    "what_was_observed": "In a three-agent deployment (agents A, B, C sharing a memory key `pricing.tier`), the following sequence occurred: 1. Agent A wrote `pricing.tier = \"gold\"` at T0. Audit entry present. 2. Agent B wrote `pricing.tier = \"silver\"` at T1. Audit entry present. 3. Agent C's memory was mutated to `\"gold\"` at T2 by a process that bypassed the write path. **No audit entry exists for T2.** 4. At T3 the consistency check ran. A ...",
    "condition_of_validity": "The write-audit disambiguation is valid **only if** all of the following hold: - The audit log is append-only and its integrity is verifiable (hash chain or equivalent) independent of the memory store's principal. - Every legitimate write path emits an audit entry *before* the memory mutation is visible (write-ahead, not write-behind). - Audit entries carry ...",
    "decision_boundary": "The decision procedure at a mismatch: 1. Query the audit log for the key. Reconstruct the last audited value and its principal. 2. If the local value equals the last audited value and the local write timestamp precedes the peer writes → **stale**. Refresh from peers. 3. If the local value has no matching audit entry, or the entry's payload differs, or the pr...",
    "operational_effect": "Applying this boundary changed the outcome in the observed incident: agent B was retained as authoritative, agent C was quarantined and rolled back to `\"silver\"` from the T1 audit entry, and the poisoning principal was identified from the missing-entry gap. The majority-vote path would have propagated `\"gold\"` to B and erased the only correct record. The res..."
  },
  "matched_failure_symptoms": [
    "OOM_KILL_OR_MEMORY_EXHAUSTION"
  ],
  "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": "83da2d7e5ec55f8020c2c013214b602d33af9e7f8e72c1859906582522d3d15f",
    "verified_classes": [
      "MemoryPoisoningIndeterminate",
      "MemoryStore"
    ],
    "verified_functions": [
      "apply_resolution",
      "__init__",
      "resolve_mismatch"
    ],
    "verified_functions_count": 3,
    "defensive_guards_count": 2,
    "raised_exceptions": [
      "MemoryPoisoningIndeterminate"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
