aboutsummaryrefslogtreecommitdiff
path: root/inbox
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-20 13:37:39 -0400
committerCraig Jennings <c@cjennings.net>2026-05-20 13:37:39 -0400
commit64b617e58a5e95c01b9c9662c8c8f5ba35909299 (patch)
treedcb9844091c218a3f1800eac1e402a853dd02611 /inbox
parentb3186104b1496a52b655ad1d2fd5c2d44445d572 (diff)
downloadrulesets-64b617e58a5e95c01b9c9662c8c8f5ba35909299.tar.gz
rulesets-64b617e58a5e95c01b9c9662c8c8f5ba35909299.zip
test(scripts): add task-review-staleness.sh + bats harness
First component of the daily task-review habit from docs/design/task-review.org. The staleness count is the shared primitive both the wrap-up health check (threshold 30) and the startup reminder (threshold 7) call, so it lives in one tested script rather than being reimplemented in each workflow. The script counts top-level todo.org tasks whose review has gone stale: depth-2 headings with a TODO/DOING/VERIFY keyword and an [#A]/[#B]/[#C] cookie, where LAST_REVIEWED is missing, unparseable, or older than the threshold. Age uses a strict greater-than, so a task reviewed exactly N days ago is still fresh. Today normalizes to local midnight before the diff, and the day count rounds to the nearest day, so a DST hour can't push a boundary task across the line. Twelve bats cases cover the normal, boundary, and error categories. Dates are generated relative to the current date rather than hardcoded. The script path resolves as the sibling-of-parent of the test file, so the suite runs identically from the canonical claude-templates tree and the rsync'd project mirror. Makefile test target now globs .ai/scripts/tests for bats alongside scripts/tests.
Diffstat (limited to 'inbox')
0 files changed, 0 insertions, 0 deletions