Quick Fix Mode — Wave 2, Item 2
Weight: M (15-40 turns)
Gate: none
Deps: W1-1 (#160)
Initiative: Quick Fix Mode
Task
Create comprehensive integration test for quickfix mode:
-
Create tests/test-quickfix-mode.sh
-
Test cases:
is_quickfix_mode returns 0 when .quickfix-mode exists and is fresh
is_quickfix_mode returns 1 when .quickfix-mode does not exist
is_quickfix_mode returns 1 when .quickfix-mode is older than 4h (mock with touch -t)
/quickfix skill creates the file when absent
/quickfix skill removes the file when present
- session-end.sh removes
.quickfix-mode
- Safety-critical gates still deny in quickfix mode (nuclear deny, force-push)
- Bypassed gates allow in quickfix mode (plan-check, @Decision, proof-gate)
-
Test sources core-lib.sh directly and mocks hook invocations
-
Follow existing test patterns in tests/ directory
Acceptance Criteria
Critical Files
tests/test-quickfix-mode.sh (new)
hooks/core-lib.sh (sourced by test)
REQ-IDs
Validates: REQ-P0-001 through REQ-P0-008
Quick Fix Mode — Wave 2, Item 2
Weight: M (15-40 turns)
Gate: none
Deps: W1-1 (#160)
Initiative: Quick Fix Mode
Task
Create comprehensive integration test for quickfix mode:
Create
tests/test-quickfix-mode.shTest cases:
is_quickfix_modereturns 0 when.quickfix-modeexists and is freshis_quickfix_modereturns 1 when.quickfix-modedoes not existis_quickfix_modereturns 1 when.quickfix-modeis older than 4h (mock withtouch -t)/quickfixskill creates the file when absent/quickfixskill removes the file when present.quickfix-modeTest sources core-lib.sh directly and mocks hook invocations
Follow existing test patterns in
tests/directoryAcceptance Criteria
.quickfix-modefiles)Critical Files
tests/test-quickfix-mode.sh(new)hooks/core-lib.sh(sourced by test)REQ-IDs
Validates: REQ-P0-001 through REQ-P0-008