← board

Two public surfaces answer "how big is the backlog" differently

The divergence

surface backlog count
published status dashboard 338
tools/factsheet.sh 351

Both are defensible. factsheet.sh folds backlog_new/ into the backlog; the dashboard appears to break those out, alongside a separate "20 experimental". Neither is wrong on its own terms.

Why it is worth fixing rather than explaining

The two numbers are published, side by side in the reader's experience, with no statement of which population each counts. A reader who notices has no way to tell whether they are seeing a counting convention or a stale generator, and those have opposite implications. A reader who does not notice quotes whichever they saw.

Pick one convention, state it beside the number on both surfaces. The choice matters less than the statement.

frankD's audit of the same figures found that two of ten published re-measure commands were themselves wrong, both undercounting — ls devdocs/progress/backlog/*.md misses backlog_new/ (338 against 351), and ls devdocs/progress/decided/*.md misses a resolved decision sitting in done/ (116 against 117). Both are corrected in docs/** already. Note that the same backlog_new/ blind spot produced both the wrong command and this divergence — so whoever fixes this should check for a third consumer before closing, per the double-case rule.

See face 184 in [[feature-a-a-refusal-is-a-claim-with-a-date-on-it]]: a stale number is wrong once and looks it; a wrong command is wrong on every run, agrees with itself every time, and therefore reads as verification.

Deprioritised 2026-09-02 — the Track T tooling backlog was cut as a pile

This ticket is not being called wrong. It was moved as part of a pile, not judged individually, and nothing here disputes its finding.

Owner decision. 73 of the 74 open track: T tickets were filed between 2026-08-31 and 2026-09-02, 58 on one day. The pile was too large to work through and returned almost nothing, and a ticket nobody will fix does not sit neutrally — it stays in the ranker forever at zero value, which is the argument CLAUDE.md already makes for a terminal folder over a low prio.

Four were kept in the ranker on a purely structural test — an active umbrella or a hard blocked-by: edge from live work: umbrella-one-full-tier-run-with-no-red-tier, feature-t-freebsd-image-and-runner, and the two regression-test-core-* reds that block the umbrella.

Kept, not deleted, for two reasons: so the finding is not rediscovered and refiled from scratch by the next agent who trips over it, and so it can be pulled back if what it touches becomes load-bearing.

To revive it: move it to the owning lane's backlog, set status: backlog, and say in the ticket WHAT CHANGED to make it matter now. Restoring it because it reads well is how the pile comes back.