feat/backlog audit script - #604
Merged
Merged
Conversation
swares
commented
Sep 20, 2026
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.