Operator Frame

Global navigation, page frame, and live control-plane status.

The shell is intentionally persistent: left-side navigation, a shared header, and durable status surfaces remain stable while future workflow views swap in.

Lane

Done

Domain

bootstrap

State

done

Work Item

Typed detail boundary

Control-plane detail payloads expose explicit context, lane, approvals, execution state, and action metadata.

Snapshot 2026-03-27T08:11:33.559Z

Done Work Item

Test suite refactor Phase 5: orchestrator, compatibility wrapper cutover, and Option A/B governance

Implement Phase 5 of BUILD_FACTORY_TEST_SUITE_REFACTOR_EXECUTION_PLAN_V1 — the final orchestration layer and legacy wrapper cutover. Create a proper test orchestrator that drives suite selection from taxonomy config, and convert run-factory-tests.ps1 into a thin compatibility wrapper. Also resolve the Option A/B governance question: Option A keeps single 'factory-tests' required status check (aggregator pattern); Option B splits into separate required checks per suite. Deliverables: (1) scripts/tests/orchestrator/invoke-factory-test-orchestrator.ps1 — reads factory-test-taxonomy.v1.json, resolves requested suite(s), calls suite scripts, aggregates results, publishes summary. (2) scripts/tests/orchestrator/resolve-factory-test-selection.ps1 — suite-selection resolver (suite name + tag filter → test ID list). (3) scripts/tests/orchestrator/publish-factory-test-summary.ps1 — formats and emits GitHub Actions step summary or local markdown summary. (4) scripts/run-factory-tests.ps1 converted to thin compatibility wrapper: delegates to orchestrator, maintains identical exit-code contract. (5) Evaluate Option B feasibility; update config/governance/branch-protection.json and factory-test-workflow-map.v1.json with documented Option A/B decision and rationale. All existing callers of run-factory-tests.ps1 must continue to work unchanged.

bootstrapstate: done

Execution Context

ID
wi-BF-188
Branch
bf/BF-188-test-phase5-orchestrator-cutover
Validation
./scripts/validate-local.ps1
PR
https://github.com/SingletonTheory/build-factory-bootstrap/pull/199

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-188.prompt.md

Implement Phase 5 of BUILD_FACTORY_TEST_SUITE_REFACTOR_EXECUTION_PLAN_V1 — the final orchestration layer and legacy wrapper cutover. Create a proper test orchestrator that drives suite selection from taxonomy config, and convert run-factory-tests.ps1 into a thin compatibility wrapper. Also resolve the Option A/B governance question: Option A keeps single 'factory-tests' required status check (aggregator pattern); Option B splits into separate required checks per suite. Deliverables: (1) scripts/tests/orchestrator/invoke-factory-test-orchestrator.ps1 — reads factory-test-taxonomy.v1.json, resolves requested suite(s), calls suite scripts, aggregates results, publishes summary. (2) scripts/tests/orchestrator/resolve-factory-test-selection.ps1 — suite-selection resolver (suite name + tag filter → test ID list). (3) scripts/tests/orchestrator/publish-factory-test-summary.ps1 — formats and emits GitHub Actions step summary or local markdown summary. (4) scripts/run-factory-tests.ps1 converted to thin compatibility wrapper: delegates to orchestrator, maintains identical exit-code contract. (5) Evaluate Option B feasibility; update config/governance/branch-protection.json and factory-test-workflow-map.v1.json with documented Option A/B decision and rationale. All existing callers of run-factory-tests.ps1 must continue to work unchanged.

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-188/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-188/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-188/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-188/actions/record-history