Skip to content

feat/backlog audit script - #604

Merged
swares merged 3 commits into
mainfrom
feat/backlog-audit-script
Sep 20, 2026
Merged

swares merged 3 commits into
mainfrom
feat/backlog-audit-script

Conversation

@swares

@swares swares commented Sep 20, 2026

Copy link
Copy Markdown
Owner
  • scripts: audit BACKLOG.md's own bookkeeping
  • docs: orphan sweep round 2 - eight checks run, seven close

A five-line throwaway script on 2026-09-20 found 49 open / 69 done in BACKLOG.md, of which 25 open items sat inside entries whose heading announced completion. Sweeping them closed nine, seven of which needed no work at all - they were already true and nobody had run the command. STANDUP.md carried 'unresolved H4 CRC fault' for weeks while all four disks reported zero CRC errors.

Reports three categories: orphans (open boxes in entries titled complete), unowned (checkboxes with no ### entry, which is why sections 5 and 9 made a naive count say 17 instead of 12), and unboxed (section-level prose bullets that can never be ticked - 17 of them, and section 9 is titled 'Small, live, cheap').

The entry-is-None test on unboxed is load-bearing: without it the rule matched every narrative bullet in every entry and reported 95, which is noise rather than a finding.

--strict exits 1 on orphans or unowned items so this can go in CI. Verified in both directions: rc=1 against the real file, rc=0 against a synthetic clean one, rc=2 on a missing file.
1.4's ARRAY lines were already pinned by UUID. 6.12's UDMA_CRC - carried in STANDUP.md for weeks as an unresolved hardware fault - is raw 0 on all four disks. 3.15's exporter is producing 45 backup-* series. 2.13's token appears 0 times in either shell history. 4.17's immich image publishes linux/arm64. busybox:1.38 has one reference. 2.1's kv v1 password key is read by nothing: dns.yml reads web-pwhash, and tofu/dns takes an env var and cannot be applied at all since the provider is Pi-hole v5 only.

Seven of eight were already true and never recorded. Two answered better than the entry proposed: k3s ctr images pull would have cached the image and changed what was being measured, and grep -n prints the token it looks for where grep -c does not.

The eighth is the lesson: measuring app_pwhash confirmed the problem rather than closing it, because the checkbox was phrased as a finding rather than an action. A backlog item phrased as an observation cannot be completed.

Drops SWEPT from the audit script's closed-marker list. It described an activity, not the entry's subject, so section 7.y counted as complete and its four follow-ups were reported as orphans - the prose said 13 while the script said 15. Every marker must describe the subject's state; a false orphan teaches people to ignore the report.
#603 landed the round-2 sweep while this branch carried a re-applied superset of it - I declared that work lost and rewrote it without checking git branch -r first, which CLAUDE.md warns about by name.

Resolved to HEAD in all six hunks. Five were wording differences between two drafts of the same text; one was factual - the measured sdd flags are 0x003e, and #603 had 0x0032 truncated. Folded back the one thing only #603 had: the arithmetic showing how a hand count read 17 orphans where 12 remained, kept as the worked example that justifies the script.
@swares
swares merged commit b9598e2 into main Sep 20, 2026
4 checks passed
@swares
swares deleted the feat/backlog-audit-script branch September 20, 2026 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant