{
  "schema_version": 1,
  "builder_plan": {
    "scenario": "Tool errors or unavailable services cause your agent to abandon recoverable tasks.",
    "change": "Inject repeatable tool failures and change only the recovery policy.",
    "baseline": "Your current retry and fallback behavior under the same injected failures.",
    "steps": [
      "Locate the paper's implementation and check its license, model support, data needs, and hardware requirements. Stop here if you cannot obtain the required artifacts.",
      "Save a small set of representative product tasks and expected outcomes. Keep evaluation tasks out of any training or tuning, and choose quality and cost limits before running.",
      "Run the baseline and the proposed change on identical inputs. Keep other settings fixed and repeat paired runs to expose variation.",
      "Save per-task outputs, failures, timings, and all usage costs. Review regressions before expanding the test."
    ],
    "measure": "Recovered tasks, duplicate side effects, retries, time to recovery, and total cost.",
    "decision": "Keep the change only if it meets your preselected quality and latency limits and improves the metric you care about after setup and operating costs. Otherwise retain the baseline. This is an exploration plan, not a validated recommendation."
  },
  "builder_review": null,
  "arxiv_id": "2609.35366",
  "title": "Planarian: Managing Agent State with Statepoints",
  "summary": "Planarian replaces manual, ad-hoc reversion of agent actions (git resets, re-running tasks, or hand-coordinated undo of API calls) with a runtime that snapshots local sandboxed state and records compensating actions for remote services, exposing snapshot, rollback, and fork primitives. It costs snapshot storage and bookkeeping complexity, adds roughly 3% runtime overhead, and requires running the agent inside the Planarian sandbox rather than an arbitrary harness. It can fail when remote side effects are not cleanly compensable (emails sent, payments, non-idempotent third-party APIs), when compensation logic is wrong, or when snapshotting does not capture hidden state such as external caches or sessions.",
  "rationale": "Error recovery and branched exploration address a real production pain for tool-using agents at small scale, but the system is a research runtime whose compensating-action correctness on real third-party APIs must be validated on the reader's specific workloads before adoption.",
  "technique": "Agent statepoints for snapshot, rollback, and fork",
  "family": "recuperacao_de_falha",
  "recommendation": "testar",
  "published": "2026-09-28",
  "as_of": "2026-10-18",
  "editorial_status": "indexed",
  "source_url": "https://arxiv.org/abs/2609.35366",
  "independent_implementations": 0,
  "total_implementations": 0,
  "stars": 0,
  "citations": null,
  "claims": [
    {
      "claim_id": "claim-01",
      "statement": "Planarian replaces manual, ad-hoc reversion of agent actions (git resets, re-running tasks, or hand-coordinated undo of API calls) with a runtime that snapshots local sandboxed state and records compensating actions for remote services, exposing snapshot, rollback, and fork primitives. It costs snapshot storage and bookkeeping complexity, adds roughly 3% runtime overhead, and requires running the agent inside the Planarian sandbox rather than an arbitrary harness. It can fail when remote side effects are not cleanly compensable (emails sent, payments, non-idempotent third-party APIs), when compensation logic is wrong, or when snapshotting does not capture hidden state such as external caches or sessions.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.35366",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "claim_id": "claim-02",
      "statement": "The paper reports up to 15x improvement in task quality when agents can undo mistakes and explore alternatives in parallel, with only 3% runtime overhead for user recovery scenarios.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.35366",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "exposure_map": [
    {
      "dimension": "quality",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compute",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "latency",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "operations",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compatibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "security",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "data_and_training",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "reproducibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "risks": [],
  "minimum_test": [],
  "open_questions": [],
  "independent_tests": [],
  "lab_reproductions": [],
  "report_available": false,
  "validation_tier": "unknown",
  "evidence_tier": "unknown",
  "infrastructure_basis": "unknown",
  "equations": [],
  "equations_status": "not_fetched",
  "core_kind": "",
  "equations_fetched_at": "",
  "equations_source_url": "",
  "equations_source_sha256": "",
  "exposures_reviewed_at": "",
  "exposures_source_sha256": ""
}