> 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/phase19-session14-channels-and-scope/tasks.md).

# Task Checklist

**Session ID**: `phase19-session14-channels-and-scope` **Total Tasks**: 22 **Estimated Duration**: 3-4 hours **Created**: 2026-06-26

***

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

***

## Setup (2 tasks)

* [x] T001 \[S1914] Verify Session 14 prerequisites, completed Sessions 04 through 06 and 13 artifacts, current channel/scope PRD scope, and local-first security boundaries (`.spec_system/PRD/phase_19/session_14_channels_and_scope.md`, `.spec_system/CONSIDERATIONS.md`, `.spec_system/SECURITY-COMPLIANCE.md`)
* [x] T002 \[S1914] Inspect current command-center protocol, task queue, guarded-action, server route, unsupported-route, adapter, and web Orchestration surfaces before changing contracts (`packages/protocol/src/orchestrationCommandCenter.ts`, `packages/protocol/src/taskQueue.ts`, `packages/protocol/src/guardedActions.ts`, `apps/server/src/routes/commandCenter.ts`, `apps/server/src/lib/unsupportedRoutes.ts`, `apps/adapters/src/shared/formatter.ts`, `apps/web/src/components/orchestration/OrchestrationShell.tsx`)

***

## Foundation (5 tasks)

* [x] T003 \[S1914] Extend task queue and guarded-action protocol vocabulary for channel-originated queue entries and guarded channel proposals with types matching declared contract and exhaustive enum handling (`packages/protocol/src/taskQueue.ts`, `packages/protocol/src/guardedActions.ts`)
* [x] T004 \[S1914] Extend command-center channel command and scope contracts with source validation, replay metadata, path-safe project/worktree labels, active-room/imported/remote labels, and blocked raw-field rejection (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T005 \[S1914] \[P] Add shared adapter attribution helpers for Telegram, Discord, GitHub, and generic webhook source labels, delivery ids, and redacted external metadata (`apps/adapters/src/shared/channelCommandSource.ts`)
* [x] T006 \[S1914] \[P] Add protocol and adapter tests for channel source vocabulary, guarded channel proposals, replay metadata, safe labels, blocked raw payload fields, and adapter attribution helpers (`packages/protocol/tests/orchestrationCommandCenter.test.ts`, `apps/adapters/tests/channelCommandSource.test.ts`)
* [x] T007 \[S1914] Create the channel command manager for inbound payload normalization, replay guard, source attribution, scope metadata, queue/attention/guarded conversion, and duplicate-trigger prevention while in-flight (`apps/server/src/managers/channelCommandManager.ts`)

***

## Server Implementation (5 tasks)

* [x] T008 \[S1914] Add channel and webhook validation parsers for pairing/config status, GitHub delivery ids, generic webhook events, Telegram/Discord source hints, bounded summaries, and explicit error mapping (`apps/server/src/lib/channelCommandValidation.ts`)
* [x] T009 \[S1914] Add channel command routes for health, pairing, command listing, GitHub webhook intake, and generic webhook intake with schema-validated input and explicit error mapping (`apps/server/src/routes/channelCommands.ts`)
* [x] T010 \[S1914] Wire channel command routes and manager dependencies into server startup while preserving local auth, rate limits, body caps, root and `/api` mounting, and unsupported broad-channel route behavior (`apps/server/src/server.ts`, `apps/server/src/lib/unsupportedRoutes.ts`)
* [x] T011 \[S1914] Extend command-center manager, validation, and executor registry wiring so channel-created queue, attention, guarded-action, and event records retain source attribution, replay state, and proposal-only execution capability (`apps/server/src/managers/orchestrationCommandCenter.ts`, `apps/server/src/lib/commandCenterValidation.ts`, `apps/server/src/lib/guardedActionValidation.ts`, `apps/server/src/managers/executorRegistry.ts`)
* [x] T012 \[S1914] Add server tests for channel command manager behavior, route validation, replay protection, duplicate-trigger conflicts, source attribution, scope filtering, WebSocket updates, auth inheritance, and no raw echo (`apps/server/tests/channelCommandManager.test.ts`, `apps/server/tests/channelCommandRoutes.test.ts`, `apps/server/tests/commandCenterRoutes.test.ts`, `apps/server/tests/unsupportedRoutes.test.ts`)

***

## Web Implementation (5 tasks)

* [x] T013 \[S1914] Add web API clients and query support for channel command intake, scoped command-center snapshots, scoped task queue snapshots, and scoped guarded-action snapshots with timeout, offline, parser-failure, and duplicate-conflict error mapping (`apps/web/src/lib/orchestrationApi.ts`)
* [x] T014 \[S1914] Extend the web store with scope filters, scoped hydration, channel event normalization, selected-detail reset on filtered records, and malformed payload rejection before state mutation (`apps/web/src/store/useGameStore.ts`)
* [x] T015 \[S1914] Create scope filter controls for current project, all projects, active room, imported sessions, remote context, project/worktree/source, and session roster labels with platform-appropriate accessibility labels, focus management, and input support (`apps/web/src/components/orchestration/ScopeFilterBar.tsx`, `apps/web/src/lib/commandCenterUi.ts`)
* [x] T016 \[S1914] Create the channel command panel with channel health, pairing/config status, validation state, replay state, source attribution, loading, empty, error, offline, and unavailable states (`apps/web/src/components/orchestration/ChannelCommandPanel.tsx`, `apps/web/src/lib/commandCenterUi.ts`)
* [x] T017 \[S1914] Wire scope filters and channel command panel into the Orchestration header, panes, shell refresh flow, queue, lineage, attention, guarded actions, and command-center snapshots (`apps/web/src/components/orchestration/OrchestrationHeader.tsx`, `apps/web/src/components/orchestration/CommandCenterPanes.tsx`, `apps/web/src/components/orchestration/OrchestrationShell.tsx`)

***

## Documentation And Testing (5 tasks)

* [x] T018 \[S1914] \[P] Add web tests for scoped query construction, scoped hydration, channel event normalization, scope filter controls, channel command panel states, malformed payloads, offline/error states, duplicate-trigger guards, and product-facing copy (`apps/web/tests/orchestrationApi.test.ts`, `apps/web/tests/commandCenterStore.test.ts`, `apps/web/tests/commandCenterUi.test.ts`, `apps/web/tests/ChannelCommandPanel.test.tsx`, `apps/web/tests/OrchestrationPanel.test.tsx`)
* [x] T019 \[S1914] Update API and package docs for local channel/webhook intake routes, replay guard, proposal-first conversion, scope labels, adapter attribution helpers, and unchanged hosted/no-claim boundaries (`docs/api/README_api.md`, `apps/server/README_server.md`, `apps/web/README_web.md`, `apps/adapters/README_adapters.md`)
* [x] T020 \[S1914] Run focused protocol, server, adapter, and web tests for channel/scope contracts, manager conversion, routes, API helpers, store, and components (`npm test -- orchestrationCommandCenter channelCommandSource channelCommandManager channelCommandRoutes commandCenterRoutes unsupportedRoutes orchestrationApi commandCenterStore commandCenterUi ChannelCommandPanel OrchestrationPanel`)
* [x] T021 \[S1914] Run package and workspace validation after focused tests pass (`npm --workspace packages/protocol run typecheck`, `npm --workspace apps/server run typecheck`, `npm --workspace apps/web run typecheck`, `npm --workspace apps/adapters run typecheck`, `npm run format:check`, `npm run lint`, `npm test`)
* [x] T022 \[S1914] Validate ASCII/LF requirements and record implementation notes, command evidence, runtime verification, security posture, and remaining no-claim states for creview/validate handoff (`.spec_system/specs/phase19-session14-channels-and-scope/implementation-notes.md`, `.spec_system/specs/phase19-session14-channels-and-scope/security-compliance.md`)

***

## 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 `implement` 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/phase19-session14-channels-and-scope/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.
