|
|
d1d2a0f92e
|
feat: tiered test infrastructure with Makefile + smart selector + OpenCode commands
Root Makefile with timeout-protected test targets:
- Tier 1 (<30s): make test, make test-unit, make test-frontend
- Tier 2 (smart): make test-related F=file.py (via @RELATION BINDS_TO)
- Tier 3 (<5min): make test-integration (Docker, --run-integration)
- Coverage: make coverage (backend + frontend)
- Lint: make lint (ruff + eslint)
Smart test selector (scripts/find-related-tests.py):
- Extracts module names from #region anchors, class/function defs
- Searches 400 BINDS_TO entries across all test files
- Confidence scoring: exact > case-insensitive > substring > heuristic
- Fallback: filename-based fuzzy matching
OpenCode commands:
- /test.all — full suite + coverage
- /test.unit — fast unit tests (<30s)
- /test.related — smart selection by file
- /test.coverage — coverage reports with thresholds
Speckit workflow updated:
- speckit.test.md: raw pytest → make targets with timeout safety
- speckit.plan.md: quickstart uses make targets
- speckit.tasks.md: verification uses make targets
- speckit.implement.md: default stack uses make targets
Frontend: added 'coverage' script to package.json
|
2026-07-21 18:24:53 +03:00 |
|