> 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-session10-templates-and-channel-intake/tasks.md).

# Task Checklist

**Session ID**: `phase20-session10-templates-and-channel-intake` **Total Tasks**: 25 **Estimated Duration**: 3-4 hours **Created**: 2026-06-28

***

## Progress Summary

| Metric          | Value                                       |
| --------------- | ------------------------------------------- |
| Tasks Completed | 25 / 25                                     |
| Last Updated    | 2026-06-28 23:54                            |
| Current Status  | Implementation complete; ready for creview. |

***

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

***

## Setup (2 tasks)

* [x] T001 \[S2010] Verify Phase 20 session 10 source scope and completed executor prerequisites (`.spec_system/PRD/phase_20/PRD_phase_20.md`)
* [x] T002 \[S2010] Run current focused baseline tests for template and channel intake behavior (`apps/server/tests/channelCommandRoutes.test.ts`)

***

## Foundation (6 tasks)

* [x] T003 \[S2010] Extend agent template protocol defaults with optional known-local executable metadata (`packages/protocol/src/agentTemplates.ts`)
* [x] T004 \[S2010] Extend channel command protocol metadata for safe executable draft references and local approval state (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T005 \[S2010] Tighten queue executable source parsing for template and channel sources without accepting blocked raw fields (`packages/protocol/src/taskQueue.ts`)
* [x] T006 \[S2010] Export new protocol symbols through the package barrel (`packages/protocol/src/index.ts`)
* [x] T007 \[S2010] Add protocol tests for executable template defaults and blocked raw planning fields (`packages/protocol/tests/orchestration.test.ts`)
* [x] T008 \[S2010] Add protocol tests for channel executable references and blocked webhook raw fields (`packages/protocol/tests/orchestrationCommandCenter.test.ts`)

***

## Implementation (12 tasks)

* [x] T009 \[S2010] Seed bounded executable defaults only on source-owned local templates with known local executors (`apps/server/src/managers/agentTemplates.ts`)
* [x] T010 \[S2010] Include template executable defaults in queue preview only after parser validation and safe source attribution (`apps/server/src/lib/templatePlanningContext.ts`)
* [x] T011 \[S2010] Parse template queue intent without trusting unsafe executable input from clients (`apps/server/src/lib/orchestrationValidation.ts`)
* [x] T012 \[S2010] Preserve executable template defaults through preview and create routes with duplicate-trigger prevention while in-flight (`apps/server/src/routes/orchestration.ts`)
* [x] T013 \[S2010] Reject or downgrade untrusted channel executable and approval claims with schema-validated input and explicit error mapping (`apps/server/src/lib/channelCommandValidation.ts`)
* [x] T014 \[S2010] Add local operator-approved channel conversion to review or executable queue tasks with idempotency protection and no automatic dispatch (`apps/server/src/managers/channelCommandManager.ts`)
* [x] T015 \[S2010] Wire channel conversion routes and broadcasts with duplicate-trigger prevention while in-flight (`apps/server/src/routes/channelCommands.ts`)
* [x] T016 \[S2010] Let guarded channel proposals reference executable drafts while approval still flows through capability checks and truthful unavailable states (`apps/server/src/managers/channelCommandManager.ts`)
* [x] T017 \[S2010] Add typed web API calls and response validation for executable template previews and channel conversion mutations (`apps/web/src/lib/orchestrationApi.ts`)
* [x] T018 \[S2010] Store executable preview and channel conversion state with reset on re-entry and stale-detail cleanup (`apps/web/src/store/useGameStore.ts`)
* [x] T019 \[S2010] Update template UI labels, disabled states, focus handling, and in-flight prevention for executable preview/create actions (`apps/web/src/components/orchestration/TemplateWorkbench.tsx`)
* [x] T020 \[S2010] Update channel UI labels, disabled states, focus handling, and in-flight prevention for record/review/executable/execute actions (`apps/web/src/components/orchestration/ChannelCommandPanel.tsx`)

***

## Testing (5 tasks)

* [x] T021 \[S2010] Update ChannelCommandPanel coverage for record, review task, executable local task, execute, offline, and disabled labels (`apps/web/tests/ChannelCommandPanel.test.tsx`)
* [x] T022 \[S2010] Update OrchestrationPanel coverage for template executable preview/create and channel duplicate in-flight behavior (`apps/web/tests/OrchestrationPanel.test.tsx`)
* [x] T023 \[S2010] Add server tests for webhook no-auto-execute, local conversion, guarded proposal references, and duplicate replay without re-execution (`apps/server/tests/channelCommandRoutes.test.ts`)
* [x] T024 \[S2010] Add browser evidence for generated template or channel executable task dispatch result (`tests/e2e/orchestration-command-center.e2e.ts`)
* [x] T025 \[S2010] Run focused checks, workspace typechecks, ASCII/LF validation, and whitespace validation (`npm --workspace packages/protocol run typecheck && npm --workspace apps/server run typecheck && npm --workspace apps/web run typecheck && 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 `implement` to start 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-session10-templates-and-channel-intake/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.
