{
  "schema_version": "1.3.0",
  "slug": "why-does-an-instance-of-speculative-multi-agent-execution-fail-to-roll-back-cleanly-when-a-branch-reconciles-against-a-stale-observation-snapshot",
  "title": "Why does an instance of speculative multi-agent execution fail to roll back cleanly when a branch reconciles against a stale observation snapshot?",
  "date_of_record": "2026 November 8",
  "scope": "Applies to multi-agent systems where a coordinator forks speculative branches, each branch reads a shared observation snapshot, and branches are reconciled (merged or discarded) after execution. Does not apply to single-agent speculative decoding, nor to systems where branches are fully isolated with no shared mutable state and no post-hoc reconciliation against a common snapshot.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/why-does-an-instance-of-speculative-multi-agent-execution-fail-to-roll-back-cleanly-when-a-branch-reconciles-against-a-stale-observation-snapshot.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/why-does-an-instance-of-speculative-multi-agent-execution-fail-to-roll-back-cleanly-when-a-branch-reconciles-against-a-stale-observation-snapshot.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/why-does-an-instance-of-speculative-multi-agent-execution-fail-to-roll-back-cleanly-when-a-branch-reconciles-against-a-stale-observation-snapshot.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1309,
    "python_slice_tokens": 202,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "The failure is not \"a branch produced a wrong answer.\" It is that a branch's *rollback* (compensating action) is executed against the current world state, while the branch's *decision* was made against a snapshot that has since been superseded by a sibling branch's committed effects. Rollback is therefore not the inverse of the speculative action: it is a se...",
    "what_was_observed": "A coordinator spawned three speculative branches (`A`, `B`, `C`) from snapshot `S_7`. Each branch read a resource record (`version=7`) and each proposed a mutation plus a compensating rollback closure. Branch `A` committed first, advancing the record to `version=8` and appending an audit entry. The coordinator then discarded `B` and `C` and invoked their rollback closures. The rollback closures had been captured as `...",
    "condition_of_validity": "The clean-rollback assumption holds only under the conjunction: - Each branch's rollback closure is expressed relative to a base version, and the base version is re-validated (compare-and-swap) at rollback time; **or** - Rollback is implemented as *inverse-delta* application (undo the branch's own writes) rather than *state restore* (write back a remembered ...",
    "decision_boundary": "At reconciliation, for each discarded branch `b` with read-snapshot version `v_read(b)` and target record `r`: - If `current_version(r) == v_read(b)`: safe to apply state-restore rollback. - If `current_version(r) > v_read(b)`: **do not** state-restore. Either apply inverse-delta only, or escalate to a manual reconciliation record. State-restore here is guar...",
    "operational_effect": "Systems that violate this boundary exhibit *phantom rollback*: committed effects disappear while their audit trail persists, and version counters drift to values outside the committed history. Recovery requires reconstructing state from the audit log rather than from the record itself, because the record no longer reflects any real version. The correct mitig..."
  },
  "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": "f8a6737fb55132adc8bc2be9a3adfd0c749566586ec6d9fcfe3442f7db9cc0f1",
    "verified_classes": [
      "StaleRollbackError"
    ],
    "verified_functions": [
      "reconcile_and_rollback"
    ],
    "verified_functions_count": 1,
    "defensive_guards_count": 2,
    "raised_exceptions": [
      "StaleRollbackError"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
