Done Work Item
Test suite refactor Phase 2: contract + regression + smoke suite scripts and PR gate fast-path
Implement Phase 2 of BUILD_FACTORY_TEST_SUITE_REFACTOR_EXECUTION_PLAN_V1. Create the three primary PR-gate suite scripts and update the factory-tests workflow to invoke them instead of the full monolith. This is the key PR CI time accelerator: target ~60-90s PR gate instead of the current ~7+ min monolith run. All suite scripts MUST read test IDs and tags from factory-test-taxonomy.v1.json config — hardcoded ID lists are forbidden. Deliverables: (1) scripts/tests/contract/run-contract-policy-suite.ps1 — runs all tests tagged 'contract' or 'policy' from taxonomy. (2) scripts/tests/regression/run-regression-suite.ps1 — runs tests tagged 'regression' or 'guardrail'. (3) scripts/tests/smoke/run-smoke-suite.ps1 — runs tests tagged 'smoke' or 'fast'. (4) Update .github/workflows/factory-tests.yml to call run-smoke-suite.ps1, run-contract-policy-suite.ps1, and run-regression-suite.ps1 in place of the current full monolith invocation. Maintain single 'factory-tests' required status check (Option A aggregator approach). Do not deprecate run-factory-tests.ps1 yet — that is Phase 5 scope.
Execution Context
- ID
- wi-BF-185
- Branch
- bf/BF-185-test-phase2-suite-scripts-pr-gate
- Validation
- ./scripts/validate-local.ps1
- PR
- https://github.com/SingletonTheory/build-factory-bootstrap/pull/196
Lifecycle Metadata
- Lane
- Done
- Work type
- implementation
- Source
- done
- Status
- done
- State
- done
- Done criteria
- 2
Queue Truth
Freshness: Fresh (snapshot age 0s)
Drift: none.
Reconciliation Guidance
- No reconciliation required; item truth signals are consistent.
Prompt Context
./work-items/prompts/wi-BF-185.prompt.md
Implement Phase 2 of BUILD_FACTORY_TEST_SUITE_REFACTOR_EXECUTION_PLAN_V1. Create the three primary PR-gate suite scripts and update the factory-tests workflow to invoke them instead of the full monolith. This is the key PR CI time accelerator: target ~60-90s PR gate instead of the current ~7+ min monolith run. All suite scripts MUST read test IDs and tags from factory-test-taxonomy.v1.json config — hardcoded ID lists are forbidden. Deliverables: (1) scripts/tests/contract/run-contract-policy-suite.ps1 — runs all tests tagged 'contract' or 'policy' from taxonomy. (2) scripts/tests/regression/run-regression-suite.ps1 — runs tests tagged 'regression' or 'guardrail'. (3) scripts/tests/smoke/run-smoke-suite.ps1 — runs tests tagged 'smoke' or 'fast'. (4) Update .github/workflows/factory-tests.yml to call run-smoke-suite.ps1, run-contract-policy-suite.ps1, and run-regression-suite.ps1 in place of the current full monolith invocation. Maintain single 'factory-tests' required status check (Option A aggregator approach). Do not deprecate run-factory-tests.ps1 yet — that is Phase 5 scope.
Available Actions
- Start executionBlocked
Queue execution handoff for this work item.
Recovery guidance
- Cause
- Done items stay closed; Start execution cannot move them backward.
- Policy context
- Lane transition policy blocks Start execution when the item is already Done.
- Next step
- Create a net-new work item if more delivery is needed instead of reopening this one.
- Safe retry
- Do not retry Start execution on a done item.
identity: start-execution
permission: factory.work-item.execute
policy gate lane-transition: blocked (Done items stay closed; Start execution cannot move them backward.)
POST /api/control-plane/items/wi-BF-185/actions/start-execution
- Request reviewBlocked
Mark this item ready for review lane handoff.
Recovery guidance
- Cause
- Done items stay closed; Request review cannot move them backward.
- Policy context
- Lane transition policy blocks Request review when the item is already Done.
- Next step
- Create a net-new work item if more delivery is needed instead of reopening this one.
- Safe retry
- Do not retry Request review on a done item.
identity: request-review
permission: factory.work-item.request-review
policy gate lane-transition: blocked (Done items stay closed; Request review cannot move them backward.)
POST /api/control-plane/items/wi-BF-185/actions/request-review
- Prepare releaseEnabled
Run release-preparation checks for the work item.
identity: prepare-release
permission: factory.work-item.prepare-release
policy gate lane-eligibility: pass
policy gate pull-request: pass
POST /api/control-plane/items/wi-BF-185/actions/prepare-release
- Record historyEnabled
Capture history snapshots for audit and validation views.
identity: record-history
permission: factory.work-item.record-history
policy gate context-visibility: pass
POST /api/control-plane/items/wi-BF-185/actions/record-history