mirror of
https://github.com/azaion/ai-training.git
synced 2026-04-23 05:46:36 +00:00
142c6c4de8
- Replaced module-level path variables in constants.py with a structured Pydantic Config class. - Updated all relevant modules (train.py, augmentation.py, exports.py, dataset-visualiser.py, manual_run.py) to access paths through the new config structure. - Fixed bugs related to image processing and model saving. - Enhanced test infrastructure to accommodate the new configuration approach. This refactor improves code maintainability and clarity by centralizing configuration management.
1.5 KiB
1.5 KiB
Phase 3: Safety Net
Role: QA engineer and developer Goal: Design and implement tests that capture current behavior before refactoring Constraints: Tests must all pass on the current codebase before proceeding
3a. Design Test Specs
Coverage requirements (must meet before refactoring — see .cursor/rules/cursor-meta.mdc Quality Thresholds):
- Minimum overall coverage: 75%
- Critical path coverage: 90%
- All public APIs must have blackbox tests
- All error handling paths must be tested
For each critical area, write test specs to REFACTOR_DIR/test_specs/[##]_[test_name].md:
- Blackbox tests: summary, current behavior, input data, expected result, max expected time
- Acceptance tests: summary, preconditions, steps with expected results
- Coverage analysis: current %, target %, uncovered critical paths
3b. Implement Tests
- Set up test environment and infrastructure if not exists
- Implement each test from specs
- Run tests, verify all pass on current codebase
- Document any discovered issues
Self-verification:
- Coverage requirements met (75% overall, 90% critical paths)
- All tests pass on current codebase
- All public APIs have blackbox tests
- Test data fixtures are configured
Save action: Write test specs; implemented tests go into the project's test folder
GATE (BLOCKING): ALL tests must pass before proceeding to Phase 4. If tests fail, fix the tests (not the code) or ask user for guidance. Do NOT proceed to Phase 4 with failing tests.