194 lines
12 KiB
Markdown
194 lines
12 KiB
Markdown
# Linear Static MITC4 Shell Build/Test Report
|
|
|
|
## Metadata
|
|
|
|
- feature_id: `linear-static-mitc4-shell`
|
|
- source_commit: `820ba30c717b3d0e113775608e20dfd5fbc05d53`
|
|
- source_implementation_report: `N/A`; Harness completion evidence is recorded in
|
|
`phases/linear-static-mitc4-shell/index.json`
|
|
- source_implementation_plan:
|
|
`docs/implementation-plans/linear-static-mitc4-shell-implementation-plan.md`
|
|
- status: `pass-for-reference-verification`
|
|
- owner_agent: `build-test-executor-agent`
|
|
- date: `2026-08-13`
|
|
|
|
## Verdict
|
|
|
|
The formal build/test gate passes. A fresh Visual Studio 18 2026/MSVC x64 Debug
|
|
configuration, clean full rebuild, three implementation-plan-focused CTest runs,
|
|
nonzero JSON discovery, full CTest regression, and the required Harness Python
|
|
self-test all completed successfully.
|
|
|
|
- clean full rebuild: exit `0`; compiler/linker warning scan `0`; error scan `0`
|
|
- focused kernel/model/assembly/recovery regex: `87/87` passed
|
|
- focused linear-static lifecycle regex: `10/10` passed
|
|
- focused MITC4 reference-test regex: `8/8` passed
|
|
- CTest discovery: `144` tests, including `32` names containing `Mitc4`
|
|
- full CTest after clean rebuild: `144/144` passed
|
|
- Harness Python self-test: `7/7` passed
|
|
- failed tests: `0`
|
|
- required S4 reference hash mismatches or Git changes: `0`
|
|
|
|
This verdict authorizes handoff to Reference Verification only. It does not approve
|
|
reference tolerance results, physics sanity, or release readiness.
|
|
|
|
## Execution Environment
|
|
|
|
- os: `Microsoft Windows 11 Home 10.0.26200 build 26200`
|
|
- branch: `feat-linear-static-mitc4-shell`
|
|
- source_head: `820ba30c717b3d0e113775608e20dfd5fbc05d53`
|
|
- generator: `Visual Studio 18 2026`
|
|
- MSBuild: `18.8.2+ce25c0108`
|
|
- compiler: `MSVC 19.51.36252.0`
|
|
- compiler_architecture: `x64`
|
|
- Windows SDK: `10.0.26100.0`
|
|
- language/config: `C++17 / Debug`
|
|
- CMake: `4.4.0`
|
|
- build_dir: `.harness/build`
|
|
- harness_config: absent
|
|
- project_selection: auto CMake from root `CMakeLists.txt`
|
|
- command_discovery_path: default CMake/MSVC x64 Debug with implementation-plan
|
|
generator and dependency paths
|
|
- resolved dependencies: GoogleTest `C:/git/googletest`; oneMKL `2026.1.0`;
|
|
oneTBB package path `2023.1`; HDF5 package path `2.1.1`
|
|
|
|
The generated compiler metadata at
|
|
`.harness/build/CMakeFiles/4.4.0/CMakeCXXCompiler.cmake` independently confirms
|
|
`CMAKE_CXX_COMPILER_ID=MSVC` and version `19.51.36252.0`.
|
|
|
|
## Command Log Summary
|
|
|
|
All durations below are wall-clock durations measured for the command. The initial
|
|
green chain was retained as corroborating evidence; the later clean-rebuild chain is
|
|
the canonical acceptance evidence.
|
|
|
|
| order | command | exit_code | duration | relevant stdout/stderr tail |
|
|
| ---: | --- | ---: | ---: | --- |
|
|
| 1 | `git status --short --branch; git rev-parse HEAD` | 0 | `0.8 s` | Clean `feat-linear-static-mitc4-shell`; HEAD matched `820ba30...`. |
|
|
| 2 | Required dependency `Test-Path` precheck from the implementation plan | 0 | `0.215 s` | All four GoogleTest/MKL/TBB/HDF5 paths returned `True`. |
|
|
| 3 | `cmake --fresh -S . -B .harness/build -G "Visual Studio 18 2026" -A x64 "-DFESA_GTEST_SOURCE_DIR=C:/git/googletest" "-DMKL_DIR=C:/Program Files (x86)/Intel/oneAPI/mkl/2026.1/lib/cmake/mkl" "-DTBB_DIR=C:/Program Files (x86)/Intel/oneAPI/tbb/2023.1/lib/cmake/tbb" "-DHDF5_DIR=C:/Program Files/HDF_Group/HDF5/2.1.1/cmake"` | 0 | `8.684 s` | MSVC `19.51.36252.0`, MKL `2026.1.0`; `Configuring done`, `Generating done`. The failed pthread probes were normal CMake feature probes; `Found Threads: TRUE`. |
|
|
| 4 | `cmake --build .harness/build --config Debug` | 0 | `4.382 s` | Initial incremental build produced `fesa.exe` and all three test executables; warning/error scan `0/0`. |
|
|
| 5 | `ctest --test-dir .harness/build -C Debug -R "DomainModel|InpDomainMapping|Mitc4Geometry|Mitc4Shell|DofManager|EssentialConstraints|SparseAssembly|LoadAssembly|ResultRecovery|Hdf5ResultsWriter" --output-on-failure` | 0 | `5.743 s` | `100% tests passed out of 87`; failed `0`. |
|
|
| 6 | `ctest --test-dir .harness/build -C Debug -R "LinearStaticCli|Mitc4ShellCli" --output-on-failure` | 0 | `1.442 s` | `100% tests passed out of 10`; failed `0`. |
|
|
| 7 | `ctest --test-dir .harness/build -C Debug -R "Mitc4ReferenceComparison|Mitc4S4Reference" --output-on-failure` | 0 | `1.377 s` | `100% tests passed out of 8`; failed `0`. |
|
|
| 8 | `ctest --test-dir .harness/build -C Debug --show-only=json-v1` | 0 | `0.208 s` | Discovered `144` tests; `32` test names contained `Mitc4`. |
|
|
| 9 | `ctest --test-dir .harness/build -C Debug --output-on-failure` | 0 | `9.789 s` | Initial full regression: `144/144` passed; failed `0`. |
|
|
| 10 | First environment/reference audit helper | 1 | `0.9 s` | Non-gating report-generation error: it hardcoded nonexistent CMake internal directory `CMakeFiles/4.3.0`; both S4 hashes had already matched before the helper stopped. No build or test failed. |
|
|
| 11 | Corrected dynamic environment/reference audit helper | 0 | `0.583 s` | Located `CMakeFiles/4.4.0/CMakeCXXCompiler.cmake`; confirmed MSVC/version, both S4 hashes, no S4 diff, and clean worktree. |
|
|
| 12 | `cmake --build .harness/build --config Debug --target clean` | 0 | `1.251 s` | Generated Visual Studio clean target completed. |
|
|
| 13 | `cmake --build .harness/build --config Debug` | 0 | `94.616 s` | Canonical clean rebuild compiled/linked the solver, CLI, and all test executables; `89` output lines, warning scan `0`, error scan `0`. |
|
|
| 14 | `cmake --build .harness/build --config Debug --target fesa_unit_tests` | 0 | `1.943 s` | `fesa_solver`, GoogleTest, and `fesa_unit_tests.exe` confirmed. |
|
|
| 15 | Focused kernel/model/assembly/recovery regex from order 5 | 0 | `4.863 s` | Canonical focused run: `87/87` passed; failed `0`. |
|
|
| 16 | `cmake --build .harness/build --config Debug --target fesa_integration_tests` | 0 | `1.712 s` | `fesa_solver`, GoogleTest, and `fesa_integration_tests.exe` confirmed. |
|
|
| 17 | Focused lifecycle regex from order 6 | 0 | `1.531 s` | Canonical focused run: `10/10` passed; failed `0`. |
|
|
| 18 | `cmake --build .harness/build --config Debug --target fesa_reference_tests` | 0 | `1.769 s` | `fesa_solver`, GoogleTest, and `fesa_reference_tests.exe` confirmed. |
|
|
| 19 | Focused reference regex from order 7 | 0 | `1.511 s` | Canonical focused run: `8/8` passed; failed `0`; S4 end-to-end tests were included. |
|
|
| 20 | `ctest --test-dir .harness/build -C Debug --show-only=json-v1` | 0 | `0.080 s` | Canonical discovery: `144` total, `32` MITC4-named; unit/integration/reference labels `121/10/13`. |
|
|
| 21 | `ctest --test-dir .harness/build -C Debug --output-on-failure` | 0 | `9.669 s` | Canonical full regression: `100% tests passed out of 144`; failed `0`; CTest real time `9.62 s`. |
|
|
| 22 | Full `reference/` Git scope and worktree audit | 0 | `0.362 s` | `reference_diff_count=0`, `reference_status_count=0`; branch and HEAD unchanged. |
|
|
| 23 | `git merge-base dev HEAD` plus changed-file scope audit | 0 | `0.321 s` | Merge base `a058ef7...`; detected `scripts/execute.py`, so Harness Python self-test was required. |
|
|
| 24 | `uv run --with pytest python -m pytest -v -rs` | 0 | `4.651 s` | Python `3.11.15`, pytest `9.1.1`; `7 passed in 0.11s`; failed `0`. |
|
|
|
|
## Validation Results
|
|
|
|
| validation_stage | result | evidence |
|
|
| --- | --- | --- |
|
|
| clean baseline | pass | Branch and HEAD matched the requested baseline; worktree was clean before report creation. |
|
|
| dependency precheck | pass | All four implementation-plan dependency paths existed. |
|
|
| fresh configure | pass | VS18/x64 configure exit `0`; compiler metadata is MSVC x64. |
|
|
| clean full build | pass | Exit `0`; solver, CLI, unit, integration, and reference targets compiled/linked. |
|
|
| compiler warning policy | pass | Clean rebuild emitted zero warning lines and zero compiler/linker error lines; product CMake uses warnings-as-errors. |
|
|
| feature-specific tests | pass | Approved focused regexes passed `87/87`, `10/10`, and `8/8`. |
|
|
| CTest discovery | pass | Nonzero inventory: `144` tests, including `32` MITC4-named tests. |
|
|
| full CTest | pass | `144/144` passed after the clean rebuild. |
|
|
| Harness self-test | pass | Required because `scripts/execute.py` differs from the `dev` merge base; `7/7` passed. |
|
|
| reference immutability | pass | Required S4 SHA-256 values match; entire `reference/` tree has no Git diff or status entry. |
|
|
|
|
## CTest Inventory
|
|
|
|
| inventory | count |
|
|
| --- | ---: |
|
|
| all discovered tests | 144 |
|
|
| unit label | 121 |
|
|
| integration label | 10 |
|
|
| reference label | 13 |
|
|
| test names containing `Mitc4` | 32 |
|
|
| failed tests | 0 |
|
|
|
|
The `32` MITC4-named tests comprise `30` tests in `Mitc4*` suites plus
|
|
`DomainModel.Mitc4ShellRecordsPreserveSourceAndInternalIdentity` and
|
|
`InpDomainMapping.MapsS4AndS4rThroughOneMitc4Identity`. The broader focused regex
|
|
also exercises shared Domain, DOF, constraints, assembly, recovery, and HDF5 seams.
|
|
|
|
CTest currently applies the target-wide legacy label
|
|
`linear-static-3d-euler-beam` to all `144` tests and has no separate MITC4 label.
|
|
The approved implementation plan explicitly permits exact suite regex filtering,
|
|
which was used here, so this labeling limitation is nonblocking.
|
|
|
|
## Warning and Failure Audit
|
|
|
|
- Clean rebuild warning lines: `0`.
|
|
- Clean rebuild compiler/linker error lines: `0`.
|
|
- Focused CTest failures: `0`.
|
|
- Full CTest failures: `0`.
|
|
- Harness Python failures: `0`.
|
|
- Configure probes for POSIX pthread symbols reported expected negative probe
|
|
results on MSVC before CMake resolved `Threads: TRUE`; this is not a configure
|
|
warning or failure.
|
|
- One report-generation helper failed because it assumed a CMake internal versioned
|
|
directory. The corrected dynamic lookup passed. This incident did not affect
|
|
configure, compile, link, test, reference artifacts, or the gate verdict.
|
|
|
|
## Reference Read-Only Audit
|
|
|
|
| exact approved path | observed SHA-256 | expected match |
|
|
| --- | --- | --- |
|
|
| `reference/shell/shell.inp` | `4005851E1AB22FD3A16AC17A8D5DA3E051233F69F37419079F3553AD134ECFCF` | yes |
|
|
| `reference/shell/shell displacements.csv` | `C81D94E0B4A849F87AA0F79C83A79B94D5661AC79E44ED826919AB432C87746B` | yes |
|
|
|
|
The post-test audit found zero changed paths anywhere under `reference/`. No Abaqus
|
|
or other reference solver was run.
|
|
|
|
## Failure Classification
|
|
|
|
- classification: `N/A`
|
|
- primary_failure: `N/A`
|
|
- first_failed_build_or_test_command: `N/A`
|
|
- failed_target_or_test: `N/A`
|
|
- correction_handoff: `N/A`
|
|
- non_gating_incident: report-only environment metadata lookup used the wrong CMake
|
|
internal directory and was rerun successfully; no product correction is required
|
|
|
|
## Failed Test Inventory
|
|
|
|
None. All focused, full CTest, and Harness Python tests passed.
|
|
|
|
## Handoff Recommendation
|
|
|
|
| target_agent | reason | required_input |
|
|
| --- | --- | --- |
|
|
| Reference Verification Agent | Build/test status is `pass-for-reference-verification`. | This report, source HEAD `820ba30...`, `.harness/build/tests/Debug/fesa_reference_tests.exe`, and the unchanged declared S4 input/CSV pair. |
|
|
|
|
The focused reference CTest generated/used build-local comparison evidence, but the
|
|
Build/Test Executor does not interpret that evidence as the formal reference
|
|
tolerance verdict. Reference Verification must independently inspect and report it.
|
|
|
|
## No-Change Assertion
|
|
|
|
- source_files_modified: `false`
|
|
- test_files_modified: `false`
|
|
- cmake_files_modified: `false`
|
|
- requirements_formulation_io_numerical_reference_documents_modified: `false`
|
|
- phase_files_modified: `false`
|
|
- tolerance_policies_modified: `false`
|
|
- reference_artifacts_modified: `false`
|
|
- owned_report_modified: `true`
|
|
- notes: The worktree was clean at the requested source HEAD before this report was
|
|
created. Build products remained under the ignored `.harness/build/` directory.
|
|
|
|
## Open Issues
|
|
|
|
- None blocking Reference Verification.
|
|
- The target-wide legacy CTest label prevents a precise MITC4 label count; exact
|
|
implementation-plan suite regexes provide the approved focused test entry point.
|