{
  "schema_version": "1.3.0",
  "slug": "where-must-an-instance-of-a-speculative-branch-be-discarded-rather-than-verified-rollback-vs-late-confidence-inversion-in-branch-and-verify-multi-agen",
  "title": "Where must an instance of a speculative branch be discarded rather than verified: rollback vs. late-confidence inversion in branch-and-verify multi-agent execution",
  "date_of_record": "2026 November 9",
  "scope": "Applies to orchestrators that fan out speculative agent branches, gate their promotion on a per-branch confidence score, and rely on rollback to a checkpoint when a branch is rejected. Does not apply to single-agent retry loops, to branches whose side effects are already durably committed to a shared store, or to systems where confidence is monotone by construction.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/where-must-an-instance-of-a-speculative-branch-be-discarded-rather-than-verified-rollback-vs-late-confidence-inversion-in-branch-and-verify-multi-agen.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/where-must-an-instance-of-a-speculative-branch-be-discarded-rather-than-verified-rollback-vs-late-confidence-inversion-in-branch-and-verify-multi-agen.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/where-must-an-instance-of-a-speculative-branch-be-discarded-rather-than-verified-rollback-vs-late-confidence-inversion-in-branch-and-verify-multi-agen.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1560,
    "python_slice_tokens": 221,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "The common mental model is: *speculation is cheap, verification is expensive, so speculate wide and verify narrowly.* The non-obvious failure is that **verification itself mutates the state that rollback depends on.** A branch that is discarded *before* verification is a clean rollback: the checkpoint is intact, the speculative writes are dropped, and the pa...",
    "what_was_observed": "In a three-branch speculative executor (branch A: fast plan, branch B: conservative plan, branch C: repair plan after a tool error), the gate was configured as `promote if confidence >= 0.7 else rollback`. On a task where the tool layer returned a transient 503, the sequence was: 1. Branch C executed a repair path, wrote a partial output to the shared artifact store, and requested verification. 2. The verifier read t...",
    "condition_of_validity": "Rollback-then-verify is valid only when all three hold: - **Write-set closure.** Every store the verifier touches is enumerated in the checkpoint's write set. If the verifier maintains its own cache, dedup table, or cursor, that store must be snapshotted and restored, or the verifier must be forced to run against a copy-on-write view. - **Confidence freshnes...",
    "decision_boundary": "The decision boundary can be stated as a single predicate evaluated at the moment the gate fires: The subtlety is that `verification_started` is not always observable from the gate. A verifier that runs asynchronously, or that batches branches, may have already read the branch's state even though the gate has not received a score. The operational rule is the...",
    "operational_effect": "The practical consequence is a shift in where you spend latency. Naive branch-and-verify spends latency on *verification* and assumes rollback is free. The corrected design spends latency on *ordering*: either you pay for copy-on-write isolation of the verifier's stores (so rollback is truly complete), or you pay for serialization (so no sibling observes a p..."
  },
  "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": "fe51df3fd30d6b8609a80fb01751ce0db9145d947a9f822d77655b0aa1918b5e",
    "verified_classes": [
      "LateConfidenceInversion",
      "Branch"
    ],
    "verified_functions": [
      "gate",
      "run",
      "__init__"
    ],
    "verified_functions_count": 3,
    "defensive_guards_count": 1,
    "raised_exceptions": [
      "LateConfidenceInversion"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
