From f6937bb86266e2822b66a5d5ae16e78d0113ea78 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 25 Aug 2026 08:22:16 +0000 Subject: [PATCH] =?UTF-8?q?artifact-audit:=202026-08-25=20pass=20=E2=80=94?= =?UTF-8?q?=20editorial=20drift=20fixes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Monthly artifact-audit pass (4-agent fan-out vs knowledge/ + primary docs read this pass). Applies only editorial, High-confidence corrections; every hard-stop-touching finding is flagged in the PR body for a human, not edited. - templates/ralph/run.sh: cost-meter comment pointed at a nonexistent `claude cost` subcommand (cli-reference: no such subcommand; /cost is in-session only) — now names real wiring options. - templates/goal/recipes.md: /goal clear alias list missing `none`; noted /clear also removes the active goal (goal docs read directly). - templates/loop/loop.md: /review → /code-review (alias since v2.1.223). - templates/ui-audit/PROMPT.md: dead RUN.md cross-reference (file doesn't exist) — caps live in the runbook's launch invocation. - runbooks/overnight-build.md: --remote is now a deprecated alias of --cloud (claude-code-on-the-web docs read directly). - runbooks/first-loop.md + guardrails/checklist.md: stop command for /goal is `/goal clear`; Ctrl+C only stops a non-interactive goal (goal docs). - runbooks/staying-current.md: Routines have no Monthly schedule preset — closest preset + `/schedule update` cron (routines docs read directly). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01ERMTeuPfKdgfgMTCVgdRpK --- guardrails/checklist.md | 3 ++- runbooks/first-loop.md | 3 ++- runbooks/overnight-build.md | 3 ++- runbooks/staying-current.md | 2 +- templates/goal/recipes.md | 3 ++- templates/loop/loop.md | 2 +- templates/ralph/run.sh | 6 ++++-- templates/ui-audit/PROMPT.md | 4 ++-- 8 files changed, 16 insertions(+), 10 deletions(-) diff --git a/guardrails/checklist.md b/guardrails/checklist.md index 53a239b..5abda2c 100644 --- a/guardrails/checklist.md +++ b/guardrails/checklist.md @@ -24,7 +24,8 @@ it. Don't start until every box is checked. - [ ] You know the **expected cost order-of-magnitude** and where to watch it. ## Operational -- [ ] You know the **stop command** (`Esc` for `/loop`, `Ctrl+C` for `/goal`, +- [ ] You know the **stop command** (`Esc` for `/loop`, `/goal clear` for + `/goal` — `Ctrl+C` only stops a non-interactive `claude -p` goal — `/cancel-ralph`, or kill the bash process). - [ ] For laptop-closed runs: using a **cloud Routine / Claude Code on the web**, not session-scoped `/loop`. diff --git a/runbooks/first-loop.md b/runbooks/first-loop.md index 9855d1f..521e227 100644 --- a/runbooks/first-loop.md +++ b/runbooks/first-loop.md @@ -39,7 +39,8 @@ or the fully-headless `templates/ralph/run.sh` (caps in its CONFIG block). ## 4. Watch the first runs The first few runs are where cost surprises happen. Watch the meter; stop with -`Esc` (`/loop`), `Ctrl+C` (`/goal`), or `/cancel-ralph`. +`Esc` (`/loop`), `/goal clear` (`/goal` — `Ctrl+C` only stops a non-interactive +`claude -p` goal), or `/cancel-ralph`. ## 5. Capture what you learned diff --git a/runbooks/overnight-build.md b/runbooks/overnight-build.md index 2f79edd..2e892ac 100644 --- a/runbooks/overnight-build.md +++ b/runbooks/overnight-build.md @@ -28,7 +28,8 @@ Edit the CONFIG block in `run.sh`: ## 4. Run it where it can run unattended - **Headless local/sandbox:** `bash loops//run.sh` -- **Cloud (laptop closed):** Claude Code on the web with `--remote`, or the +- **Cloud (laptop closed):** Claude Code on the web with `claude --cloud ""` + (`--remote` still works as a deprecated alias), or the in-session `/ralph-loop` plugin. Cloud VMs are ephemeral and isolated; state must be committed to git to survive. diff --git a/runbooks/staying-current.md b/runbooks/staying-current.md index a88e351..7f22221 100644 --- a/runbooks/staying-current.md +++ b/runbooks/staying-current.md @@ -139,7 +139,7 @@ weekly, with these differences: | Field | Value | |---|---| | **Name** | Monthly loops artifact audit | -| **Trigger** | Schedule → Monthly (e.g. 1st of the month, 08:00 local) | +| **Trigger** | Schedule → there is no Monthly preset (presets are hourly / daily / weekdays / weekly): pick the closest preset (Weekly), then run `/schedule update` from a local CLI session to set a monthly cron (e.g. 1st of the month, 08:00 local) | | **Everything else** | Same as the weekly (repo `espi/loops`; env with `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION=12`; **Full/Custom** network for primary-doc checks; `claude/`-only branch pushes; overage off). See "Budget & caps" above. | Prompt (paste verbatim — points at the skill file, same anti-staleness reason as diff --git a/templates/goal/recipes.md b/templates/goal/recipes.md index 3bb7e2a..5937801 100644 --- a/templates/goal/recipes.md +++ b/templates/goal/recipes.md @@ -38,7 +38,8 @@ own output**, not from hidden state. ## Operating it -- Status: `/goal` · Stop: `/goal clear` (aliases: stop, off, reset, cancel) +- Status: `/goal` · Stop: `/goal clear` (aliases: stop, off, reset, none, + cancel; `/clear` also removes the active goal) - Interrupt a run: `Ctrl+C` - Headless: `claude -p "/goal CHANGELOG.md has an entry for every PR merged this week"` - Requires the trust dialog accepted; unavailable if `disableAllHooks` / diff --git a/templates/loop/loop.md b/templates/loop/loop.md index b532887..c2fb7b8 100644 --- a/templates/loop/loop.md +++ b/templates/loop/loop.md @@ -31,5 +31,5 @@ no-op change repeatedly. ``` /loop babysit all my PRs. Auto-fix build issues, and when comments come in, use a worktree agent to fix them. /loop 30m run the test suite on this branch and fix any failures, then stop when green. -/loop 15m /review 1234 +/loop 15m /code-review 1234 ``` diff --git a/templates/ralph/run.sh b/templates/ralph/run.sh index 60a2115..84eb98d 100755 --- a/templates/ralph/run.sh +++ b/templates/ralph/run.sh @@ -27,8 +27,10 @@ stall=0 last_head="$(git rev-parse HEAD 2>/dev/null || echo none)" cost_so_far() { - # Hook your real cost meter here (e.g. parse `claude cost`, or an SDK - # max_budget_usd run). Returns a dollar figure. Default 0 = meter not wired. + # Hook your real cost meter here (e.g. parse total_cost_usd from + # `claude -p --output-format json` output, read your gateway's spend API, or + # an SDK max_budget_usd run). Returns a dollar figure. Default 0 = meter not + # wired. (There is no `claude cost` subcommand; /cost is in-session only.) echo "${LOOP_COST_USD:-0}" } diff --git a/templates/ui-audit/PROMPT.md b/templates/ui-audit/PROMPT.md index ce480d2..6c82104 100644 --- a/templates/ui-audit/PROMPT.md +++ b/templates/ui-audit/PROMPT.md @@ -3,7 +3,7 @@ Self-contained: re-fed each iteration. The agent advances by reading on-disk state (PAGES.md, FINDINGS.md, PROGRESS.md) and the live app via the browser MCP. Copy this dir into your PROJECT repo (e.g. ./ui-audit/), fill PAGES.md, and run - per RUN.md / runbooks/ui-audit-overnight.md. Edit the [bracketed] parts. + per runbooks/ui-audit-overnight.md. Edit the [bracketed] parts. --> # Goal @@ -104,4 +104,4 @@ When all of that holds, write `COMPLETE` and stop. commits are only for re-verified deterministic bugs. UX changes go in `ux(standard):` (doc-backed) or `ux(judgment):` (flagged, no backing). - Cost: this runs unattended. Stay efficient; one page per iteration; stop at the - caps set in RUN.md. + caps set in the launch invocation (see runbooks/ui-audit-overnight.md).