> 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-session09-heroes-and-lineage/tasks.md).

# Task Checklist

**Session ID**: `phase19-session09-heroes-and-lineage` **Total Tasks**: 25 **Estimated Duration**: 3-4 hours **Created**: 2026-06-26

***

## Progress Summary

| Metric          | Value    |
| --------------- | -------- |
| Tasks Completed | 25 / 25  |
| Current Task    | Complete |
| Blockers        | 0        |

***

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

***

## Setup (3 tasks)

* [x] T001 \[S1909] Verify sessions 01-08 validation artifacts and current hero/lineage prerequisites (`.spec_system/specs/phase19-session08-file-and-git/validation.md`)
* [x] T002 \[S1909] Map existing lifecycle, executor, hook, and lineage gaps before implementation (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T003 \[S1909] Create focused lifecycle manager test fixtures for command validation, transitions, duplicates, unavailable states, and redaction (`apps/server/tests/heroLifecycleManager.test.ts`)

***

## Foundation (6 tasks)

* [x] T004 \[S1909] Extend command-center hero lifecycle contracts with expanded intent values and bounded metadata fields with types matching declared contract and exhaustive enum handling (`packages/protocol/src/orchestrationCommandCenter.ts`)
* [x] T005 \[S1909] Extend lineage contracts with operator roster rows, filters, snapshots, degraded explanations, bounded pagination, validated filters, and deterministic ordering (`packages/protocol/src/lineage.ts`)
* [x] T006 \[S1909] \[P] Extend guarded-action lifecycle proposal kinds for message, dismiss, model, permission, and isolation intents with exhaustive enum handling (`packages/protocol/src/guardedActions.ts`)
* [x] T007 \[S1909] \[P] Add protocol tests for lifecycle intent parsing, compatibility aliases, compact event entries, and blocked payload rejection (`packages/protocol/tests/orchestrationCommandCenter.test.ts`)
* [x] T008 \[S1909] \[P] Add protocol tests for lineage roster filters, degraded reason labels, duplicate events, and malformed IDs (`packages/protocol/tests/lineage.test.ts`)
* [x] T009 \[S1909] Create hero lifecycle manager with schema-validated input, explicit error mapping, idempotency protection, state transition rules, and unavailable explanations (`apps/server/src/managers/heroLifecycleManager.ts`)

***

## Implementation (10 tasks)

* [x] T010 \[S1909] Wire hero lifecycle manager into command-center state, snapshots, counts, cleanup, and WebSocket update events with deterministic ordering (`apps/server/src/managers/orchestrationCommandCenter.ts`)
* [x] T011 \[S1909] Extend mission graph manager to derive filtered operator roster rows with bounded pagination, active/completed duration fields, and degradation explanations (`apps/server/src/managers/missionGraph.ts`)
* [x] T012 \[S1909] Add command-center lifecycle command and lineage roster route validation with schema-validated input and explicit error mapping (`apps/server/src/lib/commandCenterValidation.ts`)
* [x] T013 \[S1909] Add hero lifecycle command routes and lineage roster snapshot routes with duplicate-trigger prevention while in-flight (`apps/server/src/routes/commandCenter.ts`)
* [x] T014 \[S1909] Register lifecycle executor posture for subagent, mission, handoff, model, permission, and isolation families with unavailable or approved-not-executing fallbacks (`apps/server/src/managers/executorRegistry.ts`)
* [x] T015 \[S1909] Promote safe hook lifecycle and subagent observations into command-center lifecycle and roster state with schema-validated input and explicit error mapping (`apps/server/src/routes/event.ts`)
* [x] T016 \[S1909] Extend hook lifecycle payload shaping with compact terminal, listener, process, model, permission, parent, child, type, and description associations without raw paths, prompts, or transcripts (`apps/hooks/src/factionos-hero-spawn.js`, `apps/hooks/src/factionos-subagent-start.js`)
* [x] T017 \[S1909] Add web API helpers for lifecycle mutations and lineage roster snapshots with duplicate-trigger prevention while in-flight (`apps/web/src/lib/orchestrationApi.ts`)
* [x] T018 \[S1909] Add command-center UI helpers for lifecycle status, action availability, roster filter labels, redaction, and Hero/Lineage tab counts (`apps/web/src/lib/commandCenterUi.ts`)
* [x] T019 \[S1909] Create Hero/Lineage workbench with explicit loading, empty, error, offline, unavailable, active, completed, degraded, and filtered states plus accessibility labels and focus support (`apps/web/src/components/orchestration/HeroLineageWorkbench.tsx`)

***

## Testing And Documentation (6 tasks)

* [x] T020 \[S1909] Wire the Hero/Lineage workbench into Orchestration panes and shell handlers with product-facing copy only (`apps/web/src/components/orchestration/CommandCenterPanes.tsx`)
* [x] T021 \[S1909] \[P] Add server route and WebSocket regression coverage for lifecycle commands, lineage roster filters, malformed lineage events, and duplicate events (`apps/server/tests/commandCenterRoutes.test.ts`)
* [x] T022 \[S1909] \[P] Add web component, store, and panel tests for lifecycle controls, roster filters, degraded rows, unavailable actions, and duplicate in-flight guards (`apps/web/tests/HeroLineageWorkbench.test.tsx`)
* [x] T023 \[S1909] \[P] Add hook runtime tests for bounded terminal/listener/process and subagent association metadata (`apps/hooks/tests/hookRuntime.test.js`)
* [x] T024 \[S1909] Update API, server, web, and hook documentation for shipped lifecycle and lineage boundaries (`docs/api/README_api.md`)
* [x] T025 \[S1909] Run focused package checks plus root format, lint, typecheck, tests, ASCII, and LF validation (`package.json`)

***

## 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 start the 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/phase19-session09-heroes-and-lineage/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.
