See Everything Waiting on You
See Everything Waiting on You
Section titled “See Everything Waiting on You”The things that wait on the operator are spread out: open todo issues in
every project’s repo, and open briefs. bob asks reads them all and prints one
list. It changes nothing. The issues stay the store, and the list is rebuilt
from them on every run.
Terminal only.
1. List the asks
Section titled “1. List the asks”bob asksbob asks: 4 open asks in 2 projects (19 read)sitting: phone — 2 min, 1 askp3-medium 9d bodmail todo decide 2m #412 TODO: approve the DNS change https://github.com/paulirv/bodmail/issues/412 — Unblocks 1 item in the running bodmail plan.sitting: farm-01 — 10 min, 1 askp2-high 12d bigbrain todo do 10m #3479 TODO: rotate the deploy token https://github.com/paulirv/bigbrain/issues/3479not yet estimated: 2 asks with no minutes or place statedp2-high 20d bodmail brief #398 Brief: mobile area https://github.com/paulirv/bodmail/issues/398- 3d bigbrain todo #3502 TODO: pick a name https://github.com/paulirv/bigbrain/issues/3502The asks are grouped into sittings. A sitting is everything you can clear in one place: a machine, or your phone. Its heading gives the place and the total minutes. Inside a sitting the decisions come first, then the commands, then the checks.
The asks that hold up work come first. An ask that blocks an item of a flight plan BoB is running now is at the top. Next come the asks that block a plan ready to start, then the ones that block approved work with no plan yet. Each of those lines ends with what it unblocks. The asks that block nothing follow, by priority and then oldest first. The sitting that holds the first ask on the list is printed first.
Each line is one ask: its priority, its age in days, its project, whether it is
a todo or a brief, what it asks for and how many minutes it takes, its
number and title, and its link. An ask with no priority label shows -.
The last group, not yet estimated, holds the asks that do not state their
minutes or their place: briefs, and to-dos filed before the ask fields were
required. They are in the same order as the rest of the list.
The list is capped by the attention budget: 5 asks per project and 15 for the whole portfolio, unless a manifest says otherwise. When more are open, the first line says how many are waiting behind the budget. To see those too:
bob asks --all2. Know what is on the list
Section titled “2. Know what is on the list”An ask is one of two things:
- an open
todoissue that does not carry thecompletedlabel - an open brief issue in state
brief:neworbrief:acting
These are never listed: a todo that carries completed, a closed issue, and
a brief in brief:done or brief:parked.
The projects read are the registered, active ones in projects.json that are
checked out on this machine and have a GitHub origin. A project marked
"active": false is not read.
3. Clear an ask
Section titled “3. Clear an ask”Open the link and do what the ask says. Then mark it done:
bob asks done acme/beta#7A to-do gets the completed label and a brief moves to brief:done. The next
bob asks no longer lists it.
To put an ask off until a later day:
bob asks snooze acme/beta#7 --until 2026-10-20It disappears from bob asks until that date, then comes back. A page can
give the same two answers through the brief-tick Worker.
4. Check the list is complete
Section titled “4. Check the list is complete”A project that could not be read is never left out silently. It gets its own line, with the reason:
gap: flows (paulirv/flows) not read — forge rate-limited: API rate limit exceededThe asks from every other project are still listed, and the exit code is still
0. Run bob asks again later to get the missing project. If no project could
be read at all, the command says so and exits 3. It never prints an empty list
in that case.
5. Feed the list to a script
Section titled “5. Feed the list to a script”bob asks --jsonThis prints one bob-asks/1 document with the same rows, a count per project
and the same gaps. The keys are in the bob asks reference.
6. Clear out the asks that no longer matter
Section titled “6. Clear out the asks that no longer matter”An old to-do can outlive its reason: the issues it was blocking get closed some other way, and the to-do stays open. To see which ones that has happened to:
bob asks recheckbob asks recheck: 2 to-dos untouched for longer than 30 days — 1 moot, 1 still neededmoot 45d bodmail #371 TODO: approve the old DNS change https://github.com/paulirv/bodmail/issues/371 — every issue it names is closed: #352needed 45d bigbrain #3479 TODO: rotate the deploy token https://github.com/paulirv/bigbrain/issues/3479 — open: #3471report only — pass --apply to close the moot to-dos and record the re-check on the restThis changes nothing. It lists each to-do nobody has touched for more than 30
days. moot means every issue the to-do names is closed. needed means one
is still open, or the to-do names no issue.
To act on it:
bob asks recheck --applyEach moot to-do is closed, with a comment naming the closed issues. Each to-do still needed gets a comment with the date, and is left alone for another 30 days. If a closed to-do was still needed after all, reopen it.
To keep a to-do from ever being closed this way, put
<!-- not-stale: 2026-10-03 why --> in its body.
Related
Section titled “Related”- bob asks reference: the document, the gap states and the exit codes
- Todo format contract: what a
todomust contain - Briefing: the brief states and what moves a brief between them