> For the complete documentation index, see [llms.txt](https://faction-os.gitbook.io/faction-os-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://faction-os.gitbook.io/faction-os-docs/.spec_system/archive/sessions/phase20-session04-campaign-executable-dispatch/tasks.md).

# Task Checklist

**Session ID**: `phase20-session04-campaign-executable-dispatch` **Total Tasks**: 25 **Estimated Duration**: 3.5-4 hours **Created**: 2026-06-28

***

Legend: `[x]` completed; `[ ]` pending; `[P]` parallelizable; `[SNNMM]` session ref; `TNNN` task ID.

***

## Progress Summary

| Metric              | Value   |
| ------------------- | ------- |
| Tasks Completed     | 25 / 25 |
| Estimated Remaining | 0 hours |
| Blockers            | 0       |

***

## Setup (3 tasks)

* [x] T001 \[S2004] Verify Sessions 02 and 03 validation evidence plus current campaign manager, route, queue, and coordinator behavior (`.spec_system/specs/phase20-session03-queue-git-execution/validation.md`)
* [x] T002 \[S2004] Create campaign executable dispatch acceptance fixture covering terminal, Git, planning-only, duplicate, and partial-failure paths (`apps/server/tests/planCampaignExecutableDispatch.test.ts`)
* [x] T003 \[S2004] Confirm focused command targets and Playwright desktop/mobile project coverage before editing (`playwright.config.ts`)

***

## Foundation (5 tasks)

* [x] T004 \[S2004] Extend campaign task contracts with safe executable readiness and execution summary fields (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T005 \[S2004] Extend task queue references for campaign task linkage and safe execution evidence links (`packages/protocol/src/taskQueue.ts`)
* [x] T006 \[S2004] \[P] Add protocol coverage for campaign task execution summaries and blocked raw payload fields (`packages/protocol/tests/orchestrationCommandCenter.test.ts`)
* [x] T007 \[S2004] \[P] Add protocol coverage for campaign task queue references and safe queue execution links (`packages/protocol/tests/orchestration.test.ts`)
* [x] T008 \[S2004] Update campaign workbench REST response typing for execution-aware results (`packages/protocol/src/rest.ts`)

***

## Implementation (8 tasks)

* [x] T009 \[S2004] Parse campaign task executable payloads in create and refine bodies with schema-validated input and explicit error mapping (`apps/server/src/lib/commandCenterValidation.ts`)
* [x] T010 \[S2004] Store campaign task executable payloads privately and expose only safe readiness summaries in drafts and responses (`apps/server/src/managers/planCampaignManager.ts`)
* [x] T011 \[S2004] Create queue entries from executable campaign tasks with executable payloads, plan/task references, and idempotency protection (`apps/server/src/managers/planCampaignManager.ts`)
* [x] T012 \[S2004] Route terminal and Git campaign task dispatch through `TaskExecutionCoordinator` with duplicate-trigger prevention while in flight (`apps/server/src/managers/planCampaignManager.ts`)
* [x] T013 \[S2004] Map execution, unavailable, failed, and planning-only results to campaign/task state without false campaign completion (`apps/server/src/managers/planCampaignManager.ts`)
* [x] T014 \[S2004] Convert campaign dispatch routing to async and broadcast campaign, task, queue, and execution updates (`apps/server/src/routes/commandCenter.ts`)
* [x] T015 \[S2004] Wire `PlanCampaignManager` to the shared task execution coordinator in server startup (`apps/server/src/server.ts`)
* [x] T016 \[S2004] Update web campaign API inputs, response guards, and request builders for executable tasks and safe result summaries (`apps/web/src/lib/orchestrationApi.ts`)

***

## Product Surface (3 tasks)

* [x] T017 \[S2004] Update campaign graph helpers and action copy for executable, planning-only, partial, and unavailable states (`apps/web/src/lib/commandCenterUi.ts`)
* [x] T018 \[S2004] Update campaign workbench rows to show readiness, planning-only state, queue links, and execution evidence with product-facing copy only (`apps/web/src/components/orchestration/CampaignWorkbench.tsx`)
* [x] T019 \[S2004] Update campaign dispatch toasts for executed, partial failure, unavailable, and planning-only outcomes (`apps/web/src/components/orchestration/OrchestrationShell.tsx`)

***

## Testing And Documentation (4 tasks)

* [x] T020 \[S2004] Replace old server tracking-only assertions with executable dispatch, planning-only, and safe event coverage (`apps/server/tests/planCampaignManager.test.ts`)
* [x] T021 \[S2004] Add web unit, component, and API coverage for execution-aware campaign copy, links, duplicate prevention, and privacy-safe labels (`apps/web/tests/CommandCenterPanes.test.tsx`)
* [x] T022 \[S2004] Add Playwright desktop/mobile campaign executable dispatch proof without raw terminal or Git leakage (`tests/e2e/orchestration-command-center.e2e.ts`)
* [x] T023 \[S2004] Update server, web, and API docs for campaign executable dispatch boundaries (`apps/server/README_server.md`, `apps/web/README_web.md`, `docs/api/README_api.md`)

***

## Verification (2 tasks)

* [x] T024 \[S2004] Run focused protocol, server, web, and Playwright command-center checks (`npx vitest run packages/protocol/tests/orchestrationCommandCenter.test.ts packages/protocol/tests/orchestration.test.ts apps/server/tests/planCampaignExecutableDispatch.test.ts apps/server/tests/planCampaignManager.test.ts apps/server/tests/commandCenterRoutes.test.ts apps/web/tests/commandCenterUi.test.ts apps/web/tests/CommandCenterPanes.test.tsx apps/web/tests/orchestrationApi.test.ts apps/web/tests/OrchestrationPanel.test.tsx`; `npx playwright test tests/e2e/orchestration-command-center.e2e.ts --project=app-desktop --project=app-mobile`)
* [x] T025 \[S2004] Run workspace quality gates plus ASCII/LF and whitespace checks (`npm run format:check`, `npm run lint`, `npm run typecheck --workspaces --if-present`, `npm test`, `git diff --check`)

***

## Completion Checklist

* [x] All tasks marked `[x]`
* [x] All tests and checks passing
* [x] All files ASCII-encoded with LF line endings
* [x] implementation-notes.md updated
* [x] Ready for `creview` to continue the implement -> creview -> validate sequence

***

## Next Steps

Run the `creview` workflow step.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://faction-os.gitbook.io/faction-os-docs/.spec_system/archive/sessions/phase20-session04-campaign-executable-dispatch/tasks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
