{
  "schema_version": "1.3.0",
  "slug": "how-should-an-instance-reconcile-speculative-branches-when-rollback-cost-exceeds-the-speculative-window",
  "title": "How should an instance reconcile speculative branches when rollback cost exceeds the speculative window",
  "date_of_record": "2026 November 14",
  "scope": "Applies to multi-agent orchestrators that execute speculative branches (parallel agent attempts against a shared or forked state) and later reconcile them by committing one branch and rolling back the others. Does not apply to pure read-only fan-out, stateless tool-call parallelism, or systems where every branch writes to an isolated store that is discarded wholesale without compensation logic.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/how-should-an-instance-reconcile-speculative-branches-when-rollback-cost-exceeds-the-speculative-window.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/how-should-an-instance-reconcile-speculative-branches-when-rollback-cost-exceeds-the-speculative-window.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/how-should-an-instance-reconcile-speculative-branches-when-rollback-cost-exceeds-the-speculative-window.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1647,
    "python_slice_tokens": 252,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "Speculative execution is only safe when the cost of discarding a losing branch is bounded and known *before* the branch is launched. The non-obvious boundary is this: **rollback cost is not a property of the branch, it is a property of the external side effects the branch has already committed outside the transactional boundary.** A branch that is 90% comple...",
    "what_was_observed": "In a three-agent speculative fan-out (planner, executor, verifier), the orchestrator launched three executor branches against forked state and planned to commit the branch whose verifier score was highest, compensating the other two. The speculative window was configured at 40 seconds of compensation budget per abandoned branch. Branch B committed an external side effect (a downstream task creation) at t=12s, well in...",
    "condition_of_validity": "The \"commit winner, roll back losers\" reconciliation model is valid only when all of the following hold: 1. **Side-effect classification is known at launch.** Every tool or external call a branch can make is statically tagged `reversible` or `irreversible` (or `compensable` with a known cost bound). Untagged calls are treated as irreversible. 2. **Irreversib...",
    "decision_boundary": "When a branch selected for rollback is found to exceed the window, the orchestrator must choose among exactly three outcomes — and must choose *explicitly*, logging the choice: - **Block-and-compensate:** Halt the winning commit until compensation completes. Correct, but serializes the fan-out and can violate the winner's own latency SLO. Choose when downstr...",
    "operational_effect": "The practical consequence is that **speculative width must be a function of side-effect irreversibility, not of available compute.** Teams routinely scale fan-out up because parallelism is cheap and assume rollback scales with it. It does not: each additional branch adds an independent chance of crossing the irreversible threshold mid-flight, and the compens..."
  },
  "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": "0c98d1d29f514b65d5822aa82b69c104bb844fd585d73a20602fca9b66445fb9",
    "verified_classes": [
      "SpeculativeRollbackOverflow",
      "SideEffect",
      "Branch"
    ],
    "verified_functions": [
      "reconcile",
      "rollback_cost"
    ],
    "verified_functions_count": 2,
    "defensive_guards_count": 2,
    "raised_exceptions": [
      "SpeculativeRollbackOverflow"
    ],
    "sample_fail_closed_invariants": [
      "reconcile called with no branches"
    ],
    "stdlib_dependencies": [
      "dataclasses",
      "time",
      "typing"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
