← ClaudeAtlas

rule-script-runnerlisted

Executes the registered rule scripts diff-scoped during feature-development.checks, aggregates findings into .paqad/scripts/rules/.cache/report.json with hash-cache invalidation, and decides whether the checks stage is blocked (issue
Eliyce/paqad-ai · ★ 4 · AI & Automation · score 76
Install: claude install-skill Eliyce/paqad-ai
## What It Does During `feature-development.checks`, runs every script registered in `docs/instructions/rules/rule-script-map.yml` against the changed files (diff-scoped) and aggregates the findings: - `deterministic` findings → block the `checks` stage under `mode: strict`. - `heuristic` findings → informational; routed to the `review` stage alongside `adversarial-review`. They never block. - A script declaring `requires.binaries` that are missing emits a clean "missing dependency" result and is skipped — it never crashes the stage. Results are written to `.paqad/scripts/rules/.cache/report.json`, hash-cached on `rule_files_hash × script_files_hash × target_files_hash` so unchanged inputs re-use the cached report. ## Use This When - Invoked from `feature-development.checks` after the project command checks, when `checks.rule_compliance.mode` is `warn` or `strict`. - Never invoked directly by the user; it is a workflow sub-step. ## Inputs - `docs/instructions/rules/rule-script-map.yml` (read-only). - The registered `.paqad/scripts/rules/**/*.mjs` scripts. - The changed-files list (diff) for `scope: changed-files`; whole-tree enumeration otherwise. - `checks.rule_compliance.mode` from `feature-development.yaml`. ## Procedure 1. Read `checks.rule_compliance.mode` from `feature-development.yaml`. If `off`, skip entirely. 2. Run the runner: ``` node scripts/run.mjs <project-root> <mode> [changed-file ...] ``` Exit 0 = stage may proceed. Exit 1 = `mode: strict