35 lines
1.9 KiB
Markdown
35 lines
1.9 KiB
Markdown
# Toolchain and Verification
|
|
|
|
## Command authority
|
|
|
|
Choose commands in this order:
|
|
|
|
1. Executor-selected step and approved implementation plan
|
|
2. `.harness/config.json`
|
|
3. Project presets, build metadata, and repository instructions
|
|
4. Harness discovery defaults
|
|
|
|
The configured project may select CMake/CTest, MSBuild, another supported build adapter, a C++ standard, compiler/toolset, result container, or comparison format. Report the actual selection; do not substitute a familiar backend. Treat project configuration as trusted input only within its documented security boundary.
|
|
|
|
## Test-first execution
|
|
|
|
For each behavior:
|
|
|
|
1. Add or identify a test that will fail for the missing behavior.
|
|
2. Run it and confirm the failure is expected, not a setup error.
|
|
3. Make the smallest production change.
|
|
4. Re-run the focused test, then configured focused and full validation.
|
|
5. Preserve clean warning/error output required by the project.
|
|
|
|
A test that passed before the change is not RED evidence. A pre-edit hook confirms only that a test file exists. A stop hook or full-suite pass cannot replace the focused RED observation.
|
|
|
|
## Comparison gate
|
|
|
|
Use only contract-declared cases, quantities, identities, components, locations, units, and tolerances. Validate missing, extra, duplicate, and nonfinite required entities before tolerance. Match by declared identity, never incidental file or row order. Warning-only quantities do not change the blocking verdict.
|
|
|
|
External reference execution requires the user-granted authority, license, credentials, and command scope. Existing approved artifacts may be consumed read-only.
|
|
|
|
## Environment outcomes
|
|
|
|
Report `blocked-environment` only after safe configured discovery and diagnostics establish that the required toolchain, dependency, license, credential, or artifact is unavailable. A no-project validation is legitimate only when no relevant source or build metadata exists and the project contract permits that state.
|