> 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/phase06-session03-shared-collaboration-event-contracts/tasks.md).

# Task Checklist

**Session ID**: `phase06-session03-shared-collaboration-event-contracts` **Total Tasks**: 23 **Estimated Duration**: 3-4 hours **Created**: 2026-05-30

***

## Legend

* `[x]` = Completed
* `[ ]` = Pending
* `[P]` = Parallelizable (can run with other \[P] tasks)
* `[SNNMM]` = Session reference (NN=phase number, MM=session number)
* `TNNN` = Task ID

***

## Progress Summary

| Category       | Total  | Done   | Remaining |
| -------------- | ------ | ------ | --------- |
| Setup          | 2      | 2      | 0         |
| Foundation     | 5      | 5      | 0         |
| Implementation | 13     | 13     | 0         |
| Testing        | 3      | 3      | 0         |
| **Total**      | **23** | **23** | **0**     |

***

## Setup (2 tasks)

Initial context verification and implementation note setup.

* [x] T001 \[S0603] Review Session 01 baseline, routing matrix, Session 03 stub, Session 02 authority artifacts, and current War Room federation code; record cross-package scope (`.spec_system/specs/phase06-session03-shared-collaboration-event-contracts/implementation-notes.md`)
* [x] T002 \[S0603] Run focused baseline protocol, Worker, and web War Room tests before event-contract changes; record no-Cloudflare credential assumptions (`.spec_system/specs/phase06-session03-shared-collaboration-event-contracts/implementation-notes.md`)

***

## Foundation (5 tasks)

Protocol-owned collaboration event contracts and tests.

* [x] T003 \[S0603] Extend safe collaboration frame, blocked payload, sensitive-value, recent-event, and catch-up contracts (`packages/protocol/src/warroom.ts`) with schema-validated input and explicit error mapping
* [x] T004 \[S0603] Add protocol tests for allowed frame families, invalid enums, unknown fields, blocked keys, sensitive values, ping, recent events, and catch-up envelopes (`packages/protocol/tests/warroom.test.ts`) with exhaustive enum handling
* [x] T005 \[S0603] Refine shared safe-frame family labels and compact summary helpers (`packages/protocol/src/warroom.ts`) with bounded labels and deterministic ordering
* [x] T006 \[S0603] \[P] Document protocol collaboration event ownership and blocked payload categories (`packages/protocol/README_protocol.md`)
* [x] T007 \[S0603] \[P] Update implementation notes with protocol decisions and residual deferrals (`.spec_system/specs/phase06-session03-shared-collaboration-event-contracts/implementation-notes.md`)

***

## Implementation (13 tasks)

Worker and web collaboration event behavior.

* [x] T008 \[S0603] Harden Worker socket ingest and persistence (`apps/warroom/src/index.ts`) with authority-bound participants, safe-frame validation, ping non-persistence, and explicit socket error mapping
* [x] T009 \[S0603] Harden Worker sender-excluded broadcast and recent-event catch-up (`apps/warroom/src/index.ts`) with bounded ring storage, legacy unsafe event filtering, deterministic ordering, and cleanup on socket failure
* [x] T010 \[S0603] Extend Worker socket and catch-up tests (`apps/warroom/tests/warroom.test.ts`) with blocked frames, malformed frames, sender exclusion, capped catch-up, ping non-persistence, and unsafe legacy entries
* [x] T011 \[S0603] Tighten web War Room client socket frame parsing and send failures (`apps/web/src/lib/warRoomClient.ts`) with explicit error mapping and sensitive-output exclusions
* [x] T012 \[S0603] Refine web federation frame builders and remote-context mergers (`apps/web/src/lib/warRoomFederation.ts`) with safe IDs, label scrubbing, catch-up merge, participant pruning, and source-of-truth separation
* [x] T013 \[S0603] Update War Room store remote context handling (`apps/web/src/store/useWarRoomStore.ts`) with duplicate-trigger prevention while in-flight, catch-up minimization, reconnect cleanup, and scoped rollback on send failure
* [x] T014 \[S0603] Update War Room panel collaboration summary (`apps/web/src/components/WarRoomPanel.tsx`) with platform-appropriate accessibility labels, safe family labels, and no raw payload wording
* [x] T015 \[S0603] \[P] Extend web client tests for socket frame send/receive safety (`apps/web/tests/warRoomClient.test.ts`) with blocked frame and failure-path handling
* [x] T016 \[S0603] \[P] Extend web federation helper tests (`apps/web/tests/warRoomFederation.test.ts`) with outbound redaction, inbound merge, catch-up summaries, pruning, and sensitive label handling
* [x] T017 \[S0603] \[P] Extend web store and panel tests (`apps/web/tests/warRoomStore.test.ts`, `apps/web/tests/WarRoomPanel.test.tsx`) with remote-context isolation, duplicate send guards, catch-up minimization, and visible safe summaries
* [x] T018 \[S0603] \[P] Document Worker collaboration event limits (`apps/warroom/README_warroom.md`) with optional transfer, blocked categories, catch-up bounds, and non-erasure wording
* [x] T019 \[S0603] \[P] Update web docs for browser remote-context separation and safe summaries (`apps/web/README_web.md`)
* [x] T020 \[S0603] \[P] Update stable API, privacy, and War Room operations docs (`docs/api/README_api.md`, `docs/privacy-and-security.md`, `docs/runbooks/war-room-operations.md`) with safe collaboration frames, socket errors, catch-up limits, and Phase 07/08 deferrals

***

## Testing (3 tasks)

Focused verification and session closeout evidence.

* [x] T021 \[S0603] Run focused protocol, Worker, and web War Room tests plus package typechecks; record command results (`.spec_system/specs/phase06-session03-shared-collaboration-event-contracts/implementation-notes.md`)
* [x] T022 \[S0603] Run repository War Room-related regression coverage and `git diff --check`; record failures or fixes (`.spec_system/specs/phase06-session03-shared-collaboration-event-contracts/implementation-notes.md`)
* [x] T023 \[S0603] Validate ASCII encoding and LF line endings for changed files; write security-compliance report (`.spec_system/specs/phase06-session03-shared-collaboration-event-contracts/security-compliance.md`)

***

## Completion Checklist

Before marking session complete:

* [x] All tasks marked `[x]`
* [x] All tests passing
* [x] All files ASCII-encoded
* [x] implementation-notes.md updated
* [x] Ready for the validate workflow step

***

## Next Steps

Run the implement workflow step to begin AI-led implementation.


---

# 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/phase06-session03-shared-collaboration-event-contracts/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.
