mirror of
https://github.com/azaion/ai-training.git
synced 2026-04-23 07:16: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.
36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
# 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
|
|
|
|
1. Set up test environment and infrastructure if not exists
|
|
2. Implement each test from specs
|
|
3. Run tests, verify all pass on current codebase
|
|
4. 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.
|