diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-15 17:24:05 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-15 17:24:05 -0500 |
| commit | 2eab96fb92a1a83f902911e1ed21d09f1cc80f88 (patch) | |
| tree | 20e955b9097783bc962ac55ca88cfda5b157f3d0 | |
| parent | d364cf2a8520f733d9438fa1e32cb3010c655ee2 (diff) | |
| download | rulesets-2eab96fb92a1a83f902911e1ed21d09f1cc80f88.tar.gz rulesets-2eab96fb92a1a83f902911e1ed21d09f1cc80f88.zip | |
docs(todo): close fold-epic test plan, file edge-case follow-up
Audit and install-ai both pass their core test paths (report-only, --apply convergence, idempotency, fresh install, refusal-on-existing, GITIGNORE mode, doctor 36/0/0, pytest 296+1 skipped). Three destructive edge cases (--force on dirty, missing .ai/ FAIL, install-ai fzf-pick form) were deferred to a [#C] sibling task that proposes a self-contained test harness rather than running them against real projects.
| -rw-r--r-- | todo.org | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -1890,7 +1890,8 @@ make install-ai # no args → fzf-pick from # without an existing .ai/ #+end_example -*** TODO [#A] Test plan for audit + install-ai before propagating to ratio +*** DONE [#A] Test plan for audit + install-ai before propagating to ratio +CLOSED: [2026-05-15 Fri] Test against the current state of this machine before pushing changes to ratio. @@ -1939,6 +1940,20 @@ After local fold + audit + install-ai are working, propagate to ratio. The =[#A] DOING= memory-sync investigation (todo.org:10) is adjacent. Both involve "make my Claude setup portable across machines." Coordinate so the memory-sync stow approach (if approved) doesn't conflict with this fold's symlink mechanics. +** TODO [#C] Test harness for =make audit= + =make install-ai= edge cases :test: + +Three edge cases from the fold-epic test plan were not exercised because they're destructive on real projects: + +- =audit --force= clobbers uncommitted =.ai/= work — needs a project with intentionally dirty =.ai/= to verify the override path. +- =audit= reports =FAIL= when =.ai/= is missing — needs a project where the directory was deleted to verify the loop continues past the failure. +- =install-ai= fzf-pick form (no =PROJECT= arg) — needs interactive testing. + +Build a self-contained test harness under =.ai/scripts/tests/= that spins up =/tmp/audit-test-projects/= with a known matrix of project states (clean, dirty, missing =.ai/=, pristine, etc.), runs the audit + install-ai targets against it, and asserts expected outputs. The harness should clean up after itself. + +Pattern reference: bats or shell-based assertions (similar to the elisp ERT suites for =todo-cleanup= and =lint-org=, but for shell scripts). + +Triggered by: 2026-05-15 fold-epic, child 4 test plan; commits =94782ee= (audit) + =d364cf2= (install-ai). + ** TODO [#C] Consolidate =claude-templates/Makefile= after fold :chore: Sibling follow-up from the fold child (2026-05-15). After the subtree merge, =rulesets/claude-templates/Makefile= still has its standalone =install= / =uninstall= / =list= / =test-scripts= targets. The =install= target's =bin/ai= logic is now duplicated in =rulesets/Makefile=. Both work; the redundancy is harmless but worth cleaning up. |
