-
Notifications
You must be signed in to change notification settings - Fork 1
Pipeline Plan 232
Seth Ford edited this page Mar 9, 2026
·
2 revisions
Design and implementation plan complete. Here's a summary:
Goal: Fail fast in intake stage when test infrastructure is broken, before wasting time/cost in the build loop.
-
scripts/lib/pipeline-test-validation.sh— 6 validation checks in a new library module -
scripts/sw-lib-pipeline-test-validation-test.sh— ~18 tests (unit + integration + edge cases)
-
scripts/sw-pipeline.sh— default variable + source new module -
scripts/lib/pipeline-cli.sh—--skip-test-validationflag + help text -
scripts/lib/pipeline-stages-intake.sh— callvalidate_test_infrastructure()after test detection -
package.json— register test suite
Checks: test command exists → test files exist → executable permissions → harness patterns (PASS/FAIL, set -euo pipefail) → shellcheck (optional) → mock directory patterns. Each check writes to a structured JSON report at .claude/pipeline-artifacts/test-validation.json.
- New lib module (not inline in intake) for clean separation and testability
- Shellcheck optional — skip with warning if not installed
- Harness pattern checks only for .sh files — non-bash projects skip those checks
-
--skip-test-validationescape hatch for edge cases
Design doc: docs/plans/2026-03-09-test-infrastructure-preflight-design.md
Implementation plan: docs/plans/2026-03-09-test-infrastructure-preflight-plan.md