aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-31 11:04:15 -0500
committerCraig Jennings <c@cjennings.net>2026-05-31 11:04:15 -0500
commit58434f406068887291342dece24a55b0887dd86b (patch)
treed1f380a704ede831823b44ed0dbe2ae08019c9b7 /todo.org
parent09896988c1147a196b72a9782b5cc4ba1ede27a4 (diff)
downloadrulesets-58434f406068887291342dece24a55b0887dd86b.tar.gz
rulesets-58434f406068887291342dece24a55b0887dd86b.zip
feat(scripts): add workflow-integrity checker + tests
Startup's drift check catches index-vs-directory mismatches. This goes deeper: scripts/workflow-integrity.py runs six checks over the canonical .ai/workflows/: each file is indexed-or-a-plugin-of-an-indexed-engine, each index entry resolves to a file, each .ai/scripts/ reference resolves, each plugin maps to an indexed parent, each non-plugin workflow has an orientation section, and no trigger phrase is claimed by two workflows. Exit 1 on any finding. scripts/tests/workflow-integrity.bats covers the clean canonical state plus a fixture per breakage class. make test already globs scripts/tests/*.bats, so it's wired in. I calibrated against the 38 current workflows (clean). The orientation check accepts the real heading variety (Overview / Purpose / When to Use|Run / Status) and exempts plugins.
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org3
1 files changed, 2 insertions, 1 deletions
diff --git a/todo.org b/todo.org
index 5f5597b..2535a36 100644
--- a/todo.org
+++ b/todo.org
@@ -1288,7 +1288,8 @@ Scope: add a shared =.aiignore= file (or =rulesets-ignore.json= if a more struct
Keep the lockfile policy explicit: ignored when a local skill dependency cache, tracked when reproducibility matters.
-** TODO [#C] Workflow test harness — drift + integrity tests :feature:solo:
+** DONE [#C] Workflow test harness — drift + integrity tests :feature:solo:
+CLOSED: [2026-05-31 Sun]
:PROPERTIES:
:CREATED: [2026-05-28 Thu]
:LAST_REVIEWED: 2026-05-28