test: strengthen core harness guardrails

This commit is contained in:
NINI
2026-05-04 12:46:37 +09:00
parent 950ce29df1
commit 99445d43bb
5 changed files with 97 additions and 28 deletions
+27 -1
View File
@@ -13,10 +13,36 @@ Every new agent session must read this file together with `PLAN.md` before plann
- Do not remove history unless the user explicitly asks for archival cleanup.
## Current Status
Phase 1 has a new rebaseline phase definition in `phases/1-linear-static-mitc4-rebaseline`. Steps 0 and 1 are complete. `quad_02_phase1.inp` is now the normalized Phase 1-compatible input path for the stored `quad_02` S4 reference pair, while the original `quad_02.inp` remains preserved unsupported provenance. The old `phases/1-linear-static-mitc4` path is historical and superseded after the MITC4 formulation reset. P1-01 through P1-14 have an initial C++17 implementation, but it is no longer authoritative until each layer is revalidated against the revised paper-based `docs/MITC4_FORMULATION.md`.
Phase 1 has a new rebaseline phase definition in `phases/1-linear-static-mitc4-rebaseline`. Steps 0 through 2 are complete. `quad_02_phase1.inp` is now the normalized Phase 1-compatible input path for the stored `quad_02` S4 reference pair, while the original `quad_02.inp` remains preserved unsupported provenance. Core numeric aliases, DOF mapping, validation harness, and model diagnostic context have been revalidated. The old `phases/1-linear-static-mitc4` path is historical and superseded after the MITC4 formulation reset.
## Completed Work
### 2026-05-04 - P1R-02 core harness guardrails completed
Author: Codex
Changed files:
- `include/fesa/fesa.hpp`
- `tests/test_main.cpp`
- `phases/1-linear-static-mitc4-rebaseline/index.json`
- `PLAN.md`
- `PROGRESS.md`
Summary:
- Strengthened C++ guardrail tests for centralized numeric aliases: `Real`, `GlobalId`, `LocalIndex`, `EquationId`, and `SparseIndex`.
- Expanded DOF mapping coverage to prove all six shell DOFs round-trip with Abaqus DOF numbers `1..6`, labels, and invalid DOF rejection.
- Added compile-time type checks so the core aliases remain `double` and signed `std::int64_t`.
- Added model-validation diagnostic context through a shared `makeDiagnostic` helper and populated source keywords for element, shell section, boundary, cload, analysis model, and missing target diagnostics.
- Kept the existing CMake/CTest validation path as the real repository validation command.
Verification:
- First ran `python scripts/validate_workspace.py` after adding tests; it failed as expected because model diagnostics did not yet populate source keywords.
- After implementing the diagnostic guardrail, `python scripts/validate_workspace.py` configured CMake, built `fesa_core` and `fesa_tests`, and ran CTest successfully.
- CTest result: 1 test executable passed.
Follow-up:
- Continue with P1R-03 parser/domain subset revalidation.
- Leave MITC4 stiffness and parser feature expansion to later dedicated steps.
### 2026-05-04 - P1R-01 quad_02 reference onboarding completed
Author: Codex