Context
The repository has real test, coverage, build, and mutation wiring, but the local CI helper scripts still look like generic bootstrap placeholders:
scripts/ci/run-fast-checks.sh
scripts/ci/run-extended-validation.sh
Meanwhile .github/workflows/ci.yml runs the real Node gates directly with pnpm lint, pnpm test:coverage, and pnpm build, and .github/workflows/extended-validation.yml has a separate mutation-testing job.
Scope
- Replace the placeholder fast-check script with the project's real cheap local gate.
- Replace the placeholder extended-validation script with the intended deeper local validation path.
- Keep the scripts shell-safe for the self-hosted Synology public runner policy.
- Update or add tests that assert these scripts run meaningful checks.
Acceptance Criteria
bash scripts/ci/run-fast-checks.sh runs the expected fast checks and fails on test/build/lint failures.
bash scripts/ci/run-extended-validation.sh runs fast checks plus the intended extended checks.
- Existing workflow tests are updated so placeholder scripts cannot regress back in.
- Documentation or comments clarify whether mutation testing remains a separate CI job or is part of local extended validation.
Context
The repository has real test, coverage, build, and mutation wiring, but the local CI helper scripts still look like generic bootstrap placeholders:
scripts/ci/run-fast-checks.shscripts/ci/run-extended-validation.shMeanwhile
.github/workflows/ci.ymlruns the real Node gates directly withpnpm lint,pnpm test:coverage, andpnpm build, and.github/workflows/extended-validation.ymlhas a separate mutation-testing job.Scope
Acceptance Criteria
bash scripts/ci/run-fast-checks.shruns the expected fast checks and fails on test/build/lint failures.bash scripts/ci/run-extended-validation.shruns fast checks plus the intended extended checks.