{
  "schema_version": "1.3.0",
  "slug": "what-structural-signals-indicate-context-compaction-has-silently-invalidated-a-shared-working-state-across-concurrent-subagents",
  "title": "What structural signals indicate context compaction has silently invalidated a shared working state across concurrent subagents",
  "date_of_record": "2026 November 7",
  "scope": "Applies to multi-agent systems where two or more subagents read and mutate a shared working-state object (scratchpad, blackboard, or message log) and where at least one subagent is subject to context compaction (summarization, truncation, or eviction of older turns) while the others hold live references to that state. Does not apply to single-agent loops with no shared state, nor to systems where compaction is forbidden or where working state is persisted atomically outside the context window.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/what-structural-signals-indicate-context-compaction-has-silently-invalidated-a-shared-working-state-across-concurrent-subagents.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/what-structural-signals-indicate-context-compaction-has-silently-invalidated-a-shared-working-state-across-concurrent-subagents.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/what-structural-signals-indicate-context-compaction-has-silently-invalidated-a-shared-working-state-across-concurrent-subagents.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1574,
    "python_slice_tokens": 306,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "The failure is not \"one agent forgot something.\" The failure is that compaction converts a *lossless shared reference* into a *lossy private summary* without notifying peers, and the peers continue to treat the summary as authoritative. A subagent that has undergone compaction retains a plausible, self-consistent narrative of the shared state that diverges f...",
    "what_was_observed": "In a three-subagent pipeline (planner, executor, verifier) sharing a mutable task ledger, the executor's context was compacted mid-run after exceeding a token budget. Compaction summarized the ledger as \"tasks A and B complete, C pending.\" Ground truth was \"A complete, B *failed with retry pending*, C pending.\" The executor resumed, read its own summary, and issued a write asserting B complete. The verifier — never c...",
    "condition_of_validity": "The guarantee \"peers observe a consistent shared state\" holds only under the conjunction: (a) every mutation carries a monotonic revision and peers reject non-monotonic writes; (b) compaction events are broadcast to peers as first-class events, not hidden inside an agent; and (c) any agent whose context was compacted is demoted to *read-only* or *re-validate...",
    "decision_boundary": "- If a peer's outbound message lacks specific identifiers (entry IDs, revisions, hashes) that it used pre-compaction → treat as *possibly compacted*; require a full re-read before accepting any of its writes. - If a write arrives with a revision ≤ the last observed revision for that key → **reject**; do not merge, do not \"fix up.\" A non-advancing revision on...",
    "operational_effect": "Enforcing the decision boundary converts a silent, fluent corruption into an explicit, recoverable rejection. In the observed pipeline, adding revision enforcement plus a compaction-broadcast event reduced state-divergence incidents from a recurring class to zero over the subsequent run window, at the cost of ~12% additional re-reads by compacted agents. The..."
  },
  "matched_failure_symptoms": [
    "CONTEXT_DRIFT_OR_ATTENTION_DILUTION"
  ],
  "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": "64007ff6d470563d4f17b568bb6ce8b41559d2c9bcd7f65d4cd33bbb8ac822dd",
    "verified_classes": [
      "CompactionConsistencyError",
      "LedgerEntry",
      "SharedLedger"
    ],
    "verified_functions": [
      "commit_batch",
      "apply_write"
    ],
    "verified_functions_count": 2,
    "defensive_guards_count": 3,
    "raised_exceptions": [
      "CompactionConsistencyError"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [
      "__future__",
      "dataclasses",
      "typing"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
