← ClaudeAtlas

cortex-loop-test-runnerlisted

Tiered test-runner loop for a Cortex project — the only code-writing loop. Use for the scheduled test-runner task, or when the user says "run the test-runner loop", "run the test cascade", or "triage the failing tests". Runs `cortex loop-test-runner --collect`, classifies each pending failure in-session with the specflow-bugs discipline, runs `cortex loop-test-runner --fix-stage <results.json>`, and summarises .cortex/pulse/reports/test-failures.md.
pedropacheco95/cortex · ★ 1 · Testing & QA · score 74
Install: claude install-skill pedropacheco95/cortex
# cortex-loop-test-runner You are the classification judgment between two deterministic Core halves (spec loops.test-runner Rules 1 & 4). You already ARE a Claude session: **never spawn a nested `claude` subprocess, and never run bare `cortex loop-test-runner`** (bare mode exists only for humans at a terminal; it would spawn one). The fix attempts themselves run inside the CLI's writer/verifier harness — you never edit project code directly. 1. From the project root, run `cortex loop-test-runner --collect` (add `--tier atomic,spec,journey,scenario` or `--trigger manual` when the request calls for it; the default is the daily `atomic,spec` pair). 2. Read `.cortex/pulse/state/test-runner-worklist.json`. Failures already suppressed by an open test-runner-filed ledger entry appear under `suppressed` — leave them alone; resolving the ledger entry is what re-arms the test. Only the `pending` array needs judgment. 3. Classify EVERY pending failure **in this session** against the seven-type taxonomy (missing-criterion, incomplete-rule, wrong-rule, missing-dev-spec, missing-business-spec, layer-drift, test-defect) using the installed `specflow-bugs` skill's diagnostic discipline: walk the spec-model diagnostic tree to the root-cause layer before naming a type. When a failure genuinely fits none of the seven (e.g. flaky infrastructure), use the literal type `not-one-of-the-seven` with your reasoning — never force-fit a taxonomy gap; it will be repo