Files
FESADev/phases/analysis-model-objects/step9.md
T
2026-06-09 09:04:21 +09:00

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.