Let a project declare a contract-validation harness (contract-harness.yaml) describing how to bring up a sample/test environment and verify API + database contracts. The system validates readiness itself - the user never hand-checks. - contract-harness.sh: discover the harness, auto-derive prerequisites from its own commands (env var refs, executables, file paths) plus an optional requires: block, then run a presence preflight with a ✓/✗ readiness report - Startup wiring: real runs fail fast (abort before story 1 if prerequisites are missing); dry runs print the report and exit non-zero when anything required is missing, so --dry-run works as a CI readiness gate - Opt-in deep connectivity smoke (--preflight-deep) boots the sample env, polls the readiness URL, and tears down - Safety guard: warns when the datastore target looks production-scoped (contract validation must only ever touch a throwaway/test store) - --init-harness scaffolds a commented template; --skip-contract-validation bypasses the gate; full --help/usage documentation Opt-in by presence of the harness file - projects without one are unaffected. Parses/validates harness `cases`; executing them per-story is the next increment. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| INIT.md | ||
| contract-harness.sh | ||
| decision-log.sh | ||
| design-phase.sh | ||
| json-output.sh | ||
| regression-gate.sh | ||
| tdd-flow.sh | ||
| test-failure-filter.sh | ||
| utils.sh | ||