> 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-session01-protocol-and-events/tasks.md).

# Task Checklist

**Session ID**: `phase19-session01-protocol-and-events` **Total Tasks**: 20 **Estimated Duration**: 3-4 hours **Created**: 2026-06-26

***

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

***

## Progress Summary

| Metric          | Value            |
| --------------- | ---------------- |
| Tasks Completed | 20 / 20          |
| Current Task    | none             |
| Last Updated    | 2026-06-26 02:05 |

***

## Setup (3 tasks)

* [x] T001 \[S1901] Verify Phase 19 PRD, session stub, protocol README, and current protocol package boundaries (`packages/protocol/README_protocol.md`)
* [x] T002 \[S1901] Inspect existing WebSocket, REST, queue, template, lineage, guarded-action, and plan contracts for compatibility constraints (`packages/protocol/src/events.ts`)
* [x] T003 \[S1901] Create the Phase 19 command-center protocol module scaffold with exported dependency-free helpers (`packages/protocol/src/orchestrationCommandCenter.ts`)

***

## Foundation (6 tasks)

* [x] T004 \[S1901] Define shared IDs, timestamps, revision, idempotency, capability, audit, compact error, and blocked-payload helpers with schema-validated input and explicit error mapping (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T005 \[S1901] Define plan campaign and plan task DTOs with dependency, revision, owner, assignment, verification, and parser helpers; broad shapes must avoid raw prompt bodies (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T006 \[S1901] Define attention item and permission request/decision DTOs with timeout, requester, risk, target, expected result, stale-revision, and duplicate-trigger prevention while in-flight (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T007 \[S1901] Define executor capability, family/kind, hero lifecycle command, and execution run DTOs with unavailable, observe-only, proposal-only, executor-ready, executing, executed, and failed states (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T008 \[S1901] Define file intent, workpad, evidence, verification attempt, review gate, and handoff DTOs with repo-relative path validation and blocked raw-content categories (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T009 \[S1901] Define diagnostics, channel command, scope, usage metric, and notification readiness DTOs with compact status labels, bounded pagination, validated filters, and deterministic ordering metadata (`packages/protocol/src/orchestrationCommandCenter.ts`)

***

## Implementation (5 tasks)

* [x] T010 \[S1901] Add compact WebSocket event payload interfaces for plan, task, attention, executor, hero, execution, permission, file intent, workpad, evidence, verification, handoff, diagnostic, channel command, and usage update families (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T011 \[S1901] Wire the new compact WebSocket event interfaces into the server event union without widening existing compatibility events (`packages/protocol/src/events.ts`)
* [x] T012 \[S1901] Add REST request and response aliases for planned command-center route families and capability envelopes (`packages/protocol/src/rest.ts`)
* [x] T013 \[S1901] Export the command-center protocol module through the package barrel (`packages/protocol/src/index.ts`)
* [x] T014 \[S1901] Update protocol documentation with Phase 19 contract ownership, unavailable-state semantics, blocked-payload boundaries, and actual orchestration module layout (`packages/protocol/README_protocol.md`)

***

## Testing (6 tasks)

* [x] T015 \[S1901] \[P] Write vocabulary, parser, valid fixture, invalid fixture, and path-safety tests for every new DTO family (`packages/protocol/tests/orchestrationCommandCenter.test.ts`)
* [x] T016 \[S1901] \[P] Write event union tests for every new WebSocket family and compact no-raw-field behavior (`packages/protocol/tests/events.test.ts`)
* [x] T017 \[S1901] \[P] Write REST alias and capability status tests for planned command-center route families (`packages/protocol/tests/rest.test.ts`)
* [x] T018 \[S1901] \[P] Add compatibility tests proving current guarded action, queue, template, and lineage payloads still typecheck (`packages/protocol/tests/orchestration.test.ts`)
* [x] T019 \[S1901] Run package typecheck and focused protocol tests for command-center, events, REST, and compatibility coverage (`packages/protocol/package.json`)
* [x] T020 \[S1901] Validate ASCII and LF requirements for new spec artifacts and modified protocol files (`.spec_system/specs/phase19-session01-protocol-and-events/tasks.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 `creview` to continue 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-session01-protocol-and-events/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.
