Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Run lint checks (ruff for Python, Biome for TS/JS), type checks (pyright for Python, tsc for TS/JS), and the standard pytest tiers (unit + e2e + tests skipped during pre-commit). Investigates failures to determine if they are application bugs or test issues, and fixes application bugs rather than weakening tests. Does not run paid-LLM real-API tests or scenario probes from the test-* command family.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 129% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 132% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 165% | 0% |
Run the standard check-and-test flow (lint + type-check + pytest tiers), including tests normally skipped during pre-commit hooks.
This command runs the standard check-and-test tiers:
reflexio/tests/ (excluding e2e and tests under reflexio/tests/server/llm/)reflexio/tests/e2e_tests/ (skip all the low priority test by NOT setting RUN_LOW_PRIORITY env variable)@skip_in_precommit)The key difference from pre-commit is that PRECOMMIT env var is NOT set, so all tests run.
Before running tests, activate the virtual environment:
bashsource .venv/bin/activate
IMPORTANT: Run all tests sequentially using -n 0 to avoid test conflicts. The default pytest config uses parallel execution (-n auto), but this can cause race conditions and shared state issues between tests.
Run lint and type checks across the full codebase before running tests.
0a. Ruff auto-fix:
bashruff check --fix reflexio/ ruff format reflexio/
0b. Ruff remaining errors:
bashruff check reflexio/
If any errors remain that ruff could not auto-fix, read each error, understand the issue, and fix the code yourself. Do NOT skip unfixed lint errors.
0c. Pyright type check:
bashpyright
Pyright uses pyrightconfig.json for scope. If any type errors are reported, read each error, understand the type issue, and fix the code yourself. Do NOT skip unfixed type errors.
0d. Biome auto-fix (TypeScript/JavaScript):
bashcd reflexio/website && npx biome check --write . && cd ../.. cd reflexio/public_docs && npx biome check --write . && cd ../..
0e. Biome remaining errors:
bashcd reflexio/website && npx biome check . && cd ../.. cd reflexio/public_docs && npx biome check . && cd ../..
If any errors remain that Biome could not auto-fix, read each error, understand the issue, and fix the code yourself. Do NOT skip unfixed Biome errors.
0f. TypeScript type check:
bashcd reflexio/website && npx tsc --noEmit && cd ../.. cd reflexio/public_docs && npx tsc --noEmit && cd ../..
If any type errors are reported, read each error, understand the type issue, and fix the code yourself. Do NOT skip unfixed tsc errors.
Only proceed to tests after all lint and type errors are resolved.
Run unit tests first as they are faster and don't require external services:
bashpytest reflexio/tests/ --ignore=reflexio/tests/e2e_tests/ -n 0 -v
E2E tests require the server to be running at http://localhost:8081. Run them separately:
bashpytest reflexio/tests/e2e_tests/ -n 0 -v
To run everything together:
bashpytest reflexio/tests/ -n 0 -v
Note: The -n 0 flag disables pytest-xdist parallel execution, ensuring tests run sequentially to prevent conflicts from shared database state, file locks, or other resource contention.
When a test fails, ALWAYS investigate thoroughly before making any changes. Never take shortcuts.
It's an APPLICATION BUG if:
It's a TEST ISSUE if:
When you identify an application bug:
When you identify a test issue:
FAILED test_user_profile_update - AssertionError: expected 'active' but got 'pending'Bad approach (NEVER DO THIS):
python# Just change the assertion to pass assert status == 'pending' # Changed from 'active'
Good approach:
test_user_profile_update to understand what it's testing'active' is the correct expected status after an update'pending' - this is an app bug'active' when appropriate@skip_in_precommitThese tests are skipped during pre-commit but should run in full test suite:
Location: Check reflexio/tests/server/test_utils.py for the decorator definition.
End-to-end tests in reflexio/tests/e2e_tests/:
Fast, isolated tests that:
conftest.py for mock behaviorPRECOMMIT=1 to include skipped testsOther measured skills in the registry, with their headline benchmark lift.