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

1.4 KiB

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:

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.