2.6 KiB
2.6 KiB
Step 0: build-test-harness
Sprint Contract
Objective
Establish the C++ project skeleton, build system, test framework, and validation script integration required before solver code begins.
Required Reading
- /AGENTS.md
- /PROGRESS.md
- /PLAN.md
- /docs/README.md
- /docs/HARNESS_ENGINEERING.md
- /docs/PRD.md
- /docs/ARCHITECTURE.md
- /docs/ADR.md
- /docs/VERIFICATION_PLAN.md
Scope
- Choose the Phase 1 build/test path. CMake is recommended unless project constraints require another choice.
- Add a minimal C++17 project skeleton with one smoke-test target.
- Wire
scripts/validate_workspace.pyto run real configured checks. - Document the build-system decision in ADR if it changes or becomes explicit.
Allowed Files
CMakeLists.txtor the selected build-system filessrc/**include/**tests/**scripts/validate_workspace.pyREADME.mddocs/ADR.mdPLAN.mdPROGRESS.mdphases/1-linear-static-mitc4/index.json
Explicit Non-Goals
- Do not implement solver, parser, MITC4, results, or reference-comparison behavior.
- Do not introduce MKL, TBB, or HDF5 APIs into solver core during this setup step.
- Do not mark readiness blockers R-004 through R-011 as solved unless this step actually resolves them.
Tests To Write First
- A minimal C++ smoke test that fails before the test harness is connected and passes after the harness is wired.
- A validation-script test or self-check proving
python scripts/validate_workspace.pyreports the configured build/test command status.
Reference Artifacts
- None. This step does not use
references/*.inporreferences/*_displacements.csv.
Acceptance Commands
python scripts/validate_workspace.py
Evaluator Checklist
- The project builds with C++17 or newer.
- The chosen test framework runs through the validation script.
scripts/validate_workspace.pyno longer reports that no checks are configured.- The build-system decision is documented if new or changed.
- No solver behavior was implemented.
Handoff Requirements
- Update
PROGRESS.mdwith changed files, validation output, and any build-system caveats. - Update
PLAN.mdonly for changed future work or resolved blockers. - Update the matching phase index entry: use
completedwith a one-linesummary, orblockedwithblocked_reason, orerrorwitherror_message.
Verification
- Run the acceptance command.
- Confirm the smoke test is executed by the validation script.
- Inspect the diff for accidental solver behavior or dependency leakage.
Do Not
- Do not expand Phase 1 scope to make a build demo more impressive.
- Do not commit generated build artifacts.