diff --git a/docs/MANUAL-SMOKE-F3.md b/docs/MANUAL-SMOKE-F3.md index 6b23868..fe82cfe 100644 --- a/docs/MANUAL-SMOKE-F3.md +++ b/docs/MANUAL-SMOKE-F3.md @@ -28,9 +28,15 @@ the model id, a non-empty `sessionId`, and exits 0. ## 3. Failure paths (INV-8 — graceful, tracking unaffected) -- Signed out / no Claude Code: `PATH="" npm run smoke:live` (or sign out) → - the script exits 1 with a clear error; in-editor, the command shows an - error notification and NO edit is applied. +- Signed out / no Claude Code: hard to simulate on a machine where Claude + Code is installed — neither stripping `PATH` nor hiding the + `~/.local/bin/claude` symlink works (the SDK discovers the real install + under `~/.local/share/claude/versions/…`). The only true trigger is being + signed out (or having no installation at all), so exercise this on a + signed-out machine when one is available. Expected: the script exits 1 + with a clear error (`runEditTurn` throws on any non-`completed` run + status); in-editor, the command shows an error notification and NO edit is + applied. - Buffer edited mid-turn: start an edit-selection turn, type elsewhere in the document before it completes → warning notification "document changed", no partial application (stale `expectedVersion`, spec §6.9). @@ -39,4 +45,4 @@ the model id, a non-empty `sessionId`, and exits 0. | Date | Machine | Result | | --- | --- | --- | -| 2026-06-10 | benstull mac (darwin) | PASS — `replacement: "The smoke test passed."`, model `sonnet`, sessionId `run_g_rYKGYl`, 6.9s, exit 0. Failure-path note: with `PATH="/usr/bin:/bin"` the turn STILL succeeded (6.2s) — the SDK resolves `claude` via an absolute path (`~/.local/bin/claude`), not PATH, so a stripped PATH does not exercise the signed-out error; sign out of Claude Code to exercise it for real. | +| 2026-06-10 | benstull mac (darwin) | PASS — `replacement: "The smoke test passed."`, model `sonnet`, sessionId `run_g_rYKGYl`, 6.9s, exit 0. Failure-path notes: turn still succeeded with `PATH="/usr/bin:/bin"` (6.2s) AND with `~/.local/bin/claude` renamed away (3.7s, `run_TQwQipJx`) — the SDK discovers the real install under `~/.local/share/claude/versions/…`, so only a genuine sign-out (not attempted from inside a live session) exercises the error path. |