50 lines
1.4 KiB
Markdown
50 lines
1.4 KiB
Markdown
# Step 9: legacy-definition-compatibility
|
|
|
|
## Read First
|
|
|
|
Read these files before editing:
|
|
|
|
- `/AGENTS.md`
|
|
- `/docs/AGENT_RULES.md`
|
|
- `/docs/ARCHITECTURE.md`
|
|
- `/docs/implementation-plans/analysis-model-objects-implementation-plan.md`
|
|
- `/include/fesa/core/Domain.hpp`
|
|
- `/tests/core/domain_storage_test.cpp`
|
|
- `/tests/core/domain_model_object_test.cpp`
|
|
|
|
## Task
|
|
|
|
Preserve and document compatibility between existing `*Definition` value objects and new model-object base classes.
|
|
|
|
Allowed files:
|
|
|
|
- Modify `/docs/implementation-plans/analysis-model-objects-implementation-plan.md`
|
|
- Modify tests only if compatibility gaps are found
|
|
- Modify production code only for narrow compatibility fixes
|
|
|
|
Required behavior:
|
|
|
|
- Existing Domain definition-storage tests still pass.
|
|
- New model-object ownership tests still pass.
|
|
- The implementation plan clearly states that `*Definition` objects remain parser/factory DTOs until the parser phase decides whether to map or replace them.
|
|
|
|
## Tests To Write First
|
|
|
|
If production code must change, write or extend a failing C++ test before the change. If this is documentation-only, do not add production code.
|
|
|
|
## Acceptance Criteria
|
|
|
|
Run:
|
|
|
|
```powershell
|
|
python scripts/validate_workspace.py
|
|
ctest --test-dir build/msvc-debug --output-on-failure -C Debug -R "domain|model-object"
|
|
```
|
|
|
|
Update step 9 status.
|
|
|
|
## Do Not
|
|
|
|
- Do not delete existing `*Definition` headers or tests.
|
|
- Do not rewrite parser or factory behavior.
|