From b0e050630cd7d4db4174ce6759ea5cb29ca4b42e Mon Sep 17 00:00:00 2001 From: Bastien Chanot Date: Mon, 6 Jul 2026 18:45:46 +0200 Subject: [PATCH] job4: SPEC-01 make-test-includes-all-suites Makefile test target now loops lib/tests/run-*.sh in addition to *.test.sh + gitflow-test.sh, special-casing run-release-candidate.sh with RC_WORK=$(mktemp -d) RC_TAG=1. Closes J4-01 (CRITICAL): the 5 run-*.sh suites (memory-commit 13, doc-commit 32, doc-shape 19, reconcile 20, release 5/5) were excluded from the repo's only aggregate gate. Mutation (scratch copy, never the working tree): dropped the `-- "${changed[@]}"` pathspec from lib/memory-commit.sh:86's commit call. RED: run-deterministic.sh T2 fails (pre-staged dangling code gets embarked instead of staying staged), make test exits 2. GREEN: real repo unmutated, make test exits 0, all suites incl. the 5 previously-excluded ones (RESULT: 13/32/19 passed, 20 GREEN, 5 GREEN RC_TAG=1). --- Makefile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 060411e..2066b26 100644 --- a/Makefile +++ b/Makefile @@ -22,9 +22,13 @@ onboard: link ## Onboard an existing project (run from the project directory) @echo "Open Claude Code in your project directory and run: /onboard" @echo "Or with hints: /onboard Python FastAPI monorepo" -test: ## Run deterministic tests (lib/tests/*.test.sh + lib/gitflow-test.sh) - @fail=0; for t in lib/tests/*.test.sh lib/gitflow-test.sh; do \ - echo "== $$t"; bash "$$t" || fail=1; done; exit $$fail +test: ## Run deterministic tests (lib/tests/*.test.sh + lib/gitflow-test.sh + lib/tests/run-*.sh) + @fail=0; for t in lib/tests/*.test.sh lib/gitflow-test.sh lib/tests/run-*.sh; do \ + echo "== $$t"; \ + case "$$(basename "$$t")" in \ + run-release-candidate.sh) RC_WORK=$$(mktemp -d) RC_TAG=1 bash "$$t" || fail=1 ;; \ + *) bash "$$t" || fail=1 ;; \ + esac; done; exit $$fail profile: ## Run profile.sh (usage: make profile cmd="set design") @bash lib/profile.sh $(cmd)