From aa6cd2694d3731b9add6ee7504147f69a35cc70a Mon Sep 17 00:00:00 2001 From: garrytan Date: Sat, 31 Oct 2026 02:46:04 +0000 Subject: [PATCH] docs(ship-budget): document calls and dotted --step notes Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- docs/ship-budget.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/ship-budget.md b/docs/ship-budget.md index 928132644..3de382f18 100644 --- a/docs/ship-budget.md +++ b/docs/ship-budget.md @@ -36,6 +36,17 @@ is written, so `gstack-review-log --start` takes no `--reservation`, and `close` unreserved dispatch. `close` prints `BUDGET_TIMELINE:`, one entry per note. The admission mode below is what `ship/SKILL.md` runs; it is unchanged. +A dotted `--step` such as `9.1` records under its parent step (`9`) with the sub-step as its label, +unless `--label` is given. + +**Counting calls.** `gstack-ship-budget calls --events [--since ] [--until ]` reads +the host's transcript items (a JSON array, or `{ "items": [...] }` as Capy's `tools.thread.get` +transcript returns) and prints +`CALLS: total= decision= keepalive= idle_gaps_over_300s= max_gap_s= first= last= source=`. Every tool +item is one parent call; a `wait`, or a program that only reads status (plus at most one bash for its +note), is a keep-alive, and a gap over 300 s between calls outlives the prompt cache +(`lib/ship-calls.ts`). + **Credits.** Every command that takes `--reading` also takes `--credits ` from the same `thread.get`. Tokens count a cached read the same as a fresh one; credits are what the run costs, including the full-context re-bill after a gap over five minutes (about 40x a cached call,