feat: add thorough codebase validation (validation-01, #163)#272
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Implements validation-01-deep-validation (OpenSpec): thorough codebase validation with optional deep CrossHair and documented modes (quick check, contract-decorated, sidecar, dogfooding).
--crosshair-per-path-timeout Ntospecfact repro; when set, CrossHair is invoked with--per_path_timeout Nfor deeper exploration.crosshair_per_path_timeoutparameter; when building the CrossHair command, appends--per_path_timeout Nwhen set (default behaviour unchanged).docs/reference/thorough-codebase-validation.md) covering: quick check (specfact repro), thorough contract-decorated (hatch run contract-test-full), sidecar for unmodified code, dogfooding (repro + contract-test-full on specfact-cli); copy-paste commands and optional deep CrossHair.test_repro_checker_crosshair_per_path_timeout_passed_to_command; TDD evidence inopenspec/changes/validation-01-deep-validation/TDD_EVIDENCE.md.New Features #163
Contract References:
ReproChecker.__init__(existing@require/@ensure/@beartype; new parametercrosshair_per_path_timeout); repro command inmodules/repro(typer options). No new contract decorators added; existing contracts cover the new code path.Type of Change
Please check all that apply:
@icontractdecorators)Contract-First Testing Evidence
Required for all changes affecting CLI commands or public APIs:
Contract Validation
@icontractonReproChecker; new parameter covered by existing contracts)@beartypeonReproCheckerand repro command)hatch run contract-test-explorationTest Execution
hatch run contract-test-contracts✅hatch run contract-test-exploration✅hatch run contract-test-scenarios✅hatch run contract-test-full✅Test Quality
How Has This Been Tested?
Contract-First Approach: New behaviour (CrossHair command including
--per_path_timeout) is validated by unit test that mockssubprocess.run, runsReproChecker.run_all_checks()withcrosshair_per_path_timeout=60, and asserts the CrossHair invocation includes--per_path_timeoutand60. Existing contracts and beartype cover the new parameter.Manual Testing
specfact repro --helpshows--crosshair-per-path-timeout)Automated Testing
test_repro_checker.py)Test Environment
Checklist
@icontract,@beartype) — existing contracts apply; no new decoratorsQuality Gates Status
hatch run type-check)hatch run lint)hatch run contract-test-contracts)hatch run contract-test-exploration)hatch run contract-test-scenarios)Screenshots/Recordings (if applicable)
N/A — CLI help and doc page suffice.