---
name: syncable-dev/memtrace-fleet-record-episode
source: https://app.decimal.ai/s/syncable-dev-memtrace-fleet-record-episode@1/SKILL.md
source_sha256: 299443bad6fe
---

## Overview

`fleet_record_episode` is step 3 of the fleet protocol: record the edit you just
made and learn whether it collided with another agent on your branch.

## Call it

```jsonc
fleet_record_episode({
  repo_id: "myrepo",
  branch:  "session/auth-revamp",
  agent_id:"agent-a",
  touched: ["auth::verify_token"],
  intent:  {"refactor": {"pattern": "change_signature"}}
})
```

Full parameter spec for every Memtrace tool: `references/mcp-parameters.md` (bundled at the memtrace-skills plugin root).

## The result: conflict_class

- **A → proceed.** Additive, order-independent.
- **B → re-read, then proceed.** Non-destructive overlap; re-read the shared
  symbols so you build on current state.
- **C → a decision is needed.** A destructive change overlaps another agent's
  work. The response includes:
  - `escalation_id` — the decision's id.
  - `mediation_request` — the judging task (every agent's `assignment` + the
    contested symbols). If you're asked to judge, call `fleet_submit_verdict`.
  - `next_action` — poll `fleet_get_escalation({escalation_id, agent_id})` until
    `your_directive` ≠ `wait`, then `proceed` / `defer` / `review`.

Class is computed **only against agents on your branch**. Agents on other branches
never make your edit a Class C.

## After recording

- Class A/B → continue.
- Class C → enter the decision loop (see `memtrace-fleet-first`). Don't keep
  editing the contested symbols until your directive is `proceed`.
- Every recorded episode is logged and persists as the fleet's reviewable audit
  trail. Review history with `fleet_query_episodes({repo_id, node?, conflict_class?})`.

## Output

```jsonc
{
  "conflict_class": "C",        // "A" | "B" | "C"
  "replan_hint": "re-read auth::verify_token before continuing",
  // Class C only — absent for A/B:
  "escalation_id": "esc-01J9...",
  "mediation_request": { /* each agent's assignment + contested symbols */ },
  "next_action": "poll fleet_get_escalation until your_directive != wait"
}
```