Context
The canonical validation script runs ShellCheck at --severity=error, which is appropriate for keeping CI stable. A warning-level sweep currently produces recurring noise from intentional source guards, dynamic source paths, test helper wrapping, and Bats negation assertions.
This makes it hard to use warning-level ShellCheck as a meaningful regression signal.
Scope
- Decide the warning-level lint contract for production libraries, examples, validation scripts, and/or tests.
- Clean up recurring avoidable warnings where the code can stay readable.
- Add focused inline disables only where the warning is intentional and documented.
- Consider adding a separate warning-level lint command or script once the signal is clean enough.
- Keep the existing
./tests/validate.sh entrypoint stable unless the stricter lint is ready for CI.
Acceptance Criteria
- A documented warning-level ShellCheck command has low noise and clear exceptions.
- Avoidable Bats/test-helper warning patterns are cleaned up or explicitly disabled.
- Existing error-level validation remains green.
./tests/validate.sh passes.
Context
The canonical validation script runs ShellCheck at
--severity=error, which is appropriate for keeping CI stable. A warning-level sweep currently produces recurring noise from intentional source guards, dynamic source paths, test helper wrapping, and Bats negation assertions.This makes it hard to use warning-level ShellCheck as a meaningful regression signal.
Scope
./tests/validate.shentrypoint stable unless the stricter lint is ready for CI.Acceptance Criteria
./tests/validate.shpasses.