chappie-testing
CHAPPiE testing strategy. Use when writing or running standalone tests, changing CI, or validating code, reports and compatibility contracts.
SKILL.md.claude/skills/chappie-testing/SKILL.md
GitHubCHAPPiE Testing
Test model
Tests are standalone scripts run with python3 tests/test_name.py. Do not migrate the project to pytest. Offline tests fake providers and use temporary directories; live model tests are explicit and separate.
Install deterministic dependencies with:
pip install -r requirements/ci.txt
Required architecture checks
python3 tests/test_runtime_architecture.py
python3 tests/test_api_contract.py
python3 tests/test_local_first_runtime.py
python3 tests/test_chat_ui_formatting.py
python3 tests/test_reasoning_layering.py
python3 tests/test_training_config_ui.py
python3 tests/test_training_daemon_lifecycle.py
Compile, lint and types
python3 -m compileall -q api brain config life memory web_infrastructure Chappies_Trainingspartner tests
ruff check --config config/ruff.toml --no-cache web_infrastructure api/routers/chat.py brain/steering_manager.py brain/brain_pipeline.py
mypy --config-file config/mypy.ini web_infrastructure/contracts.py web_infrastructure/turn_context.py web_infrastructure/backend_wrapper.py api/schemas
The required Mypy scope starts at public runtime and API contracts. Legacy and frozen research evidence are excluded. Do not hide deterministic failures with continue-on-error or || true.
Reports and skill sync
python3 forschung/report/validate_report_v5_freeze.py
python3 forschung/report/validate_report_v6.py
python3 scripts/validate_skill_sync.py
Frontend
Use npm ci --legacy-peer-deps and npm run build. Visible UI changes additionally require the project-approved Playwright MCP flow.
Full groups and live-test boundaries are documented in docs/testing.md and tests/README.md.