Skip to content

I3393 — Each fault is injected into real coding-agent sessions on one host, and each trial's recovery and conservation reading are committed

In a throwaway clone of the economics fixture with the pinned release installed, run the registered trials per fault kind with real agent sessions: kill a session by its exact pid mid-task, then majordomus recover closes the stranded episode and a second session resumes with handover --resolve; stop the shared server while a claim is announced and restart it; let two sessions take the same issue and the same lines, resolving through a merge of master, never a force-push. For each trial take the conservation reading and commit a T5 trial record under .ai/repo/benchmarks/trials/t5-resilience/.

BLOCKED wave 3 · p1 · implementation profile · parallel safe

Part of recovery-from-injected-faults-is-proven — A killed worker, a cut connection and a conflict are injected on purpose, and recovery is proven without lost work or duplicate completion.

Blocked. This issue cannot start until I3390, I3391 are done. The status is derived from that, not declared.

Objective

In a throwaway clone of the economics fixture with the pinned release installed, run the registered trials per fault kind with real agent sessions: kill a session by its exact pid mid-task, then majordomus recover closes the stranded episode and a second session resumes with handover --resolve; stop the shared server while a claim is announced and restart it; let two sessions take the same issue and the same lines, resolving through a merge of master, never a force-push. For each trial take the conservation reading and commit a T5 trial record under .ai/repo/benchmarks/trials/t5-resilience/.

Why

T5 of the owner's report of 2026-10-19 asks for recovery of real work. The lab proves the mechanism with scripted workers; this proves it with the agents the product is for.

Current state

Case 135 proves record-store recovery and case 113_shared_server_survives_a_crash proves server restart, neither as a work-level trial.

Desired state

The registered number of trials per kind is committed, failed ones included.

Scope

  • .ai/repo/benchmarks

Out of scope

  • Killing any process the trial did not start
  • Faults in this repository's own checkouts

Dependencies

What waits on this

Acceptance criteria

  • Each record passes the loader with the T5 digest
  • Each record names the pid it killed and the session that resumed
  • Each record carries its conservation reading
  • A failed trial is committed with what stopped it

Validation

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test economics
  • bash test/run.sh 135_session_store_recovery
  • majordomus economics proof

Evidence required

  • t5_agent_trials_committed

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Timeline

started
—
verified
—
completed
—

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I3393.yaml. Read it back with majordomus plan show I3393.

Searches the titles and descriptions of every page this site publishes.