diff --git a/docs-ai/047-cross-agent-handoff/000-plan.md b/docs-ai/047-cross-agent-handoff/000-plan.md index 4b1a3474..9208d728 100644 --- a/docs-ai/047-cross-agent-handoff/000-plan.md +++ b/docs-ai/047-cross-agent-handoff/000-plan.md @@ -88,3 +88,11 @@ cwd, which is weaker than the pid-anchored, ambiguity-safe native session identi entry points before UI work — shared `HandoffCoordinator`, one `handoffSourceContext` capture, registry-driven palette targets, `qodercli` catalog parity — see [003-plan-calibration](003-plan-calibration.md). +- Updated 2026-07-20: `current.md` adopted **snapshot semantics** — each + preparation rewrites it entirely from the source session's own knowledge, + superseding 047.002's "reply with the complete updated document / + carry forward still-relevant notes" instruction. Carry-forward degraded + into unverified copying (the source has no real memory of earlier rounds' + text) and let stale sections mislead the receiver; history flows through + the receiver's takeover read and the `archive/` chain instead. Decision + record: [049 amendments](../049-agents-toolbar-entry/000-plan.md#amendments). diff --git a/docs/components/cli.md b/docs/components/cli.md index 8838883c..0bf6f75c 100644 --- a/docs/components/cli.md +++ b/docs/components/cli.md @@ -261,8 +261,10 @@ prowl handoff status [target] - **`save`** — when Prowl has an exact or high-confidence native session for the detected outgoing Claude Code or Codex process, it first resumes that session non-interactively (read-only, bounded to 2 minutes) and asks it to - **reply** with the updated agent-authored `current.md`; Prowl validates the - reply and transcribes it into the file. It then refreshes + **reply** with a fresh agent-authored `current.md` snapshot, written + entirely from that session's own knowledge; Prowl validates the + reply and transcribes it into the file (the previous version is backed up + to `archive/` first). It then refreshes `.prowl/handoff/context.md` from live git state (per-repo branch + change counts, changed-file list, detected outgoing agent, and captured session excerpt). The single `save` log line records whether source preparation diff --git a/docs/components/handoff.md b/docs/components/handoff.md index b99d5ade..730847f6 100644 --- a/docs/components/handoff.md +++ b/docs/components/handoff.md @@ -99,8 +99,8 @@ prowl handoff status [target] ``` - **`save`** first asks the detected outgoing Claude Code or Codex session to - reply with an updated `current.md` when its native session identity is exact - or high confidence; Prowl validates and transcribes the reply. The resume is + reply with a fresh `current.md` snapshot when its native session identity is + exact or high confidence; Prowl validates and transcribes the reply. The resume is read-only (no permission flags) and bounded to **2 minutes** — a stalled or unusable reply is logged as `preparation=failed` and the existing artifact stays in place. It then refreshes generated context from live git state and @@ -128,9 +128,11 @@ The outgoing agent is detected automatically (the same signal as Prowl also auto-saves an initialized handoff artifact from the same detection chain. Once `.prowl/handoff/current.md` exists for a runnable target, Prowl -refreshes it when a detected agent moves from **working** to **done** or -**blocked**. Auto-save is throttled per pane and does not create handoff files -for targets that have never run `prowl handoff save` or `prowl handoff to`. +refreshes the generated `context.md` and session excerpt when a detected +agent moves from **working** to **done** or **blocked** (`current.md` itself +is never touched by auto-save). Auto-save is throttled per pane and does not +create handoff files for targets that have never run `prowl handoff save` or +`prowl handoff to`. ## In the app: the Agents capsule and the Hand Off HUD diff --git a/docs/components/workspaces.md b/docs/components/workspaces.md index bab60677..850fdb8a 100644 --- a/docs/components/workspaces.md +++ b/docs/components/workspaces.md @@ -216,6 +216,6 @@ where they are on disk, and what role each repo plays in the task. A workspace is the natural unit for handing a task from one detected agent to another. Prowl keeps a durable handoff artifact under -`.prowl/handoff/current.md` and ships `prowl handoff to ` plus -command-palette actions for the common Claude Code/Codex path. See -[handoff](handoff.md). +`.prowl/handoff/current.md` and ships `prowl handoff to ` plus the +toolbar Agents capsule and its Hand Off HUD (also reachable from the command +palette). See [handoff](handoff.md).