From ac3cda6e7e1ecb156d258cf4674b499737b8dfba Mon Sep 17 00:00:00 2001 From: garrytan Date: Fri, 30 Oct 2026 04:14:06 +0000 Subject: [PATCH] docs(troubleshooting): BUDGET_READING_REJECTED names --dispatched-at; a refused child stops the run until reconcile or resume Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- docs/troubleshooting.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index c14092400..2401a1cf1 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -1856,7 +1856,7 @@ owner's call: run the printed `RECOVER:` line; its resume needs ### `gstack-ship-budget: ... (BUDGET_READING_REJECTED)` **Meaning.** The reading breaks the run's meter contract: it is lower than the last reading -of the same epoch, `--prior-reading` is above `--reading`, or `--reading` went to a meter that +of the same epoch, `--prior-reading` or `--dispatched-at` is above `--reading`, or `--reading` went to a meter that reads its own source (Claude Code journals, the estimate). Exit 2; nothing changed. **Fix.** Pass the counter the run started with (the BUDGET line names meter, unit and epoch). @@ -1908,7 +1908,7 @@ and actual value. Main moving alone keeps the merge base and never refuses. Exit wrote its return with status=refused. **Fix.** The parent reconciles the refusal and regenerates the handoff at the current tree -(`gstack-ship-budget handoff ...`) or stops. +(`gstack-ship-budget handoff ...`) or stops. The reconcile stops the run (`reason=child_refused`): every check refuses until a regenerated child reconciles complete or the owner runs `gstack-ship-budget resume`. ### `gstack-review-packet collect: ... (REVIEW_COVERAGE_INCOMPLETE)`