# Sprint Contract: Core Harness Guardrails ## Objective Refresh the build, validation, core numeric aliases, DOF enum, and diagnostic guardrails so later MITC4 work has stable test foundations. ## Required Reading - /AGENTS.md - /docs/ARCHITECTURE.md - /docs/ADR.md - /docs/NUMERICAL_CONVENTIONS.md - /docs/HARNESS_ENGINEERING.md - /scripts/validate_workspace.py ## Scope - Preserve or repair CMake/CTest validation. - Verify `double` and signed int64 aliases are centralized. - Verify `UX`, `UY`, `UZ`, `RX`, `RY`, `RZ` mapping to Abaqus DOF `1..6`. - Improve diagnostics only where needed for later steps. ## Allowed Files - `CMakeLists.txt` - `include/` - `src/` - `tests/` - `scripts/validate_workspace.py` - `PLAN.md` - `PROGRESS.md` ## Explicit Non-Goals - Do not implement parser features. - Do not implement MITC4 stiffness. - Do not introduce MKL, TBB, or HDF5 APIs into solver core. ## Tests To Write First - DOF enum and Abaqus DOF number mapping tests. - Numeric alias compile-time or runtime tests for `double` and int64 paths. - Validation script smoke test through `python scripts/validate_workspace.py`. ## Reference Artifacts - None. ## Acceptance Commands ```bash python scripts/validate_workspace.py ``` ## Evaluator Checklist - Core aliases and DOF mapping are not duplicated across modules. - Diagnostics include enough context for later parser, model, and singular errors. - Validation remains a real build plus test command. ## Handoff Requirements - Record changed guardrails and test coverage in `PROGRESS.md`. - Leave future parser/MITC4 tasks in later step files. ## Do Not - Do not weaken validation to make tests pass. - Do not add external library dependencies in this step.