> For the complete documentation index, see [llms.txt](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/sessions/phase40-session01-baseline-and-port-invariants/tasks.md).

# Task Checklist

**Session ID**: `phase40-session01-baseline-and-port-invariants` **Total Tasks**: 20 **Estimated Duration**: 3-4 hours **Created**: 2026-07-02

***

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

***

## Progress Summary

| Metric          | Value      |
| --------------- | ---------- |
| Tasks Completed | 20 / 20    |
| Tasks Remaining | 0          |
| Last Updated    | 2026-07-02 |
| Current Task    | Complete   |

***

## Setup (4 tasks)

* [x] T001 \[S4001] Verify analyzer state, Session 01 stub, Phase 40 PRD, upstream source availability, clean worktree, and base commit before implementation (`.spec_system/PRD/phase_40/session_01_baseline_and_port_invariants.md`, `.spec_system/PRD/phase_40/PRD_phase_40.md`, `git status --short`, `git rev-parse HEAD`)
* [x] T002 \[S4001] Capture package, runtime, lockfile, and command baseline without changing dependency metadata (`package.json`, `bun.lock`, `.bun-version`, `bun --version`)
* [x] T003 \[S4001] Review upstream patch stat, name-status, changelog, and folded source references for actionable Hermes 2.9 through 2.10.1 deltas (`.spec_system/PRD/phase_40/PRD_phase_40.md`, `git diff --stat`, `git diff --name-status`)
* [x] T004 \[S4001] Inventory current split Hermes architecture and route registration owners before classifying upstream changes (`src/routes/agents.hermes.tsx`, `src/components/hermes/`, `src/hooks/`, `src/lib/`, `vite.config.ts`)

***

## Foundation (5 tasks)

* [x] T005 \[S4001] \[P] Audit public Hermes read bridge, model body, connection, Pantheon, documents, and provider readiness boundaries (`scripts/lib/hermes-dev-bridge.ts`, `scripts/lib/hermes-provider-readiness.ts`, `scripts/lib/__tests__/hermes-dev-bridge.test.ts`)
* [x] T006 \[S4001] \[P] Audit admin Hermes chat, write-gate, timeout, redaction, and admin type boundaries (`scripts/lib/hermes-admin-bridge.ts`, `src/hooks/use-hermes-admin.ts`, `src/lib/hermes-admin-types.ts`, `scripts/lib/__tests__/hermes-admin-bridge.test.ts`)
* [x] T007 \[S4001] \[P] Audit chat UI, composer, message list, thread sidebar, read-only page wiring, and hook payload ownership (`src/components/hermes/chat/`, `src/components/hermes/hermes-read-only-page.tsx`, `src/hooks/use-hermes.ts`)
* [x] T008 \[S4001] \[P] Audit voice and Intelligence ownership while preserving environment-backed provider configuration (`scripts/lib/voice-launch-bridge.ts`, `scripts/lib/voice-broker.ts`, `src/hooks/use-hermes-intelligence-voice.ts`, `src/components/hermes/intelligence/intelligence-portal.tsx`)
* [x] T009 \[S4001] \[P] Audit media, public demo, graph, package identity, docs naming, and local control-plane guard boundaries (`docs/media-policy.md`, `src/assets/hermes-art/`, `src/data/graphs/`, `scripts/lib/local-control-plane-guard.ts`, `docs/api/README_api.md`)

***

## Implementation (7 tasks)

* [x] T010 \[S4001] Create baseline audit notes with upstream evidence summary, local command baseline, and focused Hermes baseline test slots (`.spec_system/specs/phase40-session01-baseline-and-port-invariants/implementation-notes.md`)
* [x] T011 \[S4001] Record non-negotiable port invariants with stable IDs for loopback, Host-header, same-run token, admin, public/demo, chat SSE, graph, media, package identity, and docs naming (`.spec_system/specs/phase40-session01-baseline-and-port-invariants/implementation-notes.md`)
* [x] T012 \[S4001] Record decision list for stderr `info` events, live pricing, connection probes, voice key persistence, graph ignores, demo data, asset handling, package metadata, and Intelligence versus Voice labels (`.spec_system/specs/phase40-session01-baseline-and-port-invariants/implementation-notes.md`)
* [x] T013 \[S4001] Map actionable upstream changes to AI OS owner files and downstream Phase 40 sessions without copying upstream monolithic route or Vite middleware files (`.spec_system/specs/phase40-session01-baseline-and-port-invariants/implementation-notes.md`)
* [x] T014 \[S4001] Classify upstream changes as direct translation, AI OS adaptation, intentional non-port, or already covered with evidence and downstream session references (`.spec_system/specs/phase40-session01-baseline-and-port-invariants/implementation-notes.md`)
* [x] T015 \[S4001] Confirm no production source, route-visible UI, Vite middleware, package metadata, graph artifact, or product/API doc was changed by the baseline audit (`src/routes/agents.hermes.tsx`, `vite.config.ts`, `package.json`, `docs/api/README_api.md`, `src/data/graphs/`)
* [x] T016 \[S4001] Create concise implementation summary with audit results, invariant links, classification counts, and next-session handoff notes (`.spec_system/specs/phase40-session01-baseline-and-port-invariants/IMPLEMENTATION_SUMMARY.md`)

***

## Testing (4 tasks)

* [x] T017 \[S4001] Run focused Hermes bridge, admin hook, chat, and read-only page baseline tests and record exact outcomes (`bunx vitest run scripts/lib/__tests__/hermes-admin-bridge.test.ts scripts/lib/__tests__/hermes-dev-bridge.test.ts src/hooks/__tests__/use-hermes-admin.test.tsx src/components/hermes/chat/__tests__/hermes-chat-tab.test.tsx src/components/hermes/__tests__/hermes-sections.test.tsx`)
* [x] T018 \[S4001] Run focused voice, control-plane, sanitizer, scanner, and Intelligence baseline tests and record exact outcomes (`bunx vitest run scripts/lib/__tests__/voice-launch-bridge.test.ts scripts/lib/__tests__/voice-broker.test.ts scripts/lib/__tests__/local-control-plane-guard.test.ts scripts/lib/__tests__/sanitize.test.ts scripts/lib/__tests__/hermes-scanner.test.ts src/hooks/__tests__/use-hermes-intelligence-voice.test.tsx src/components/hermes/intelligence/__tests__/intelligence-portal.test.tsx`)
* [x] T019 \[S4001] Run TypeScript baseline gates and record exact outcomes (`bun run typecheck`, `bun run typecheck:scripts`)
* [x] T020 \[S4001] Validate ASCII, LF, whitespace, and final worktree status for session artifacts before handoff (`.spec_system/specs/phase40-session01-baseline-and-port-invariants/`, `git diff --check`, `git status --short`)

***

## Completion Checklist

* [x] All tasks marked `[x]`
* [x] All tests and checks passing or exact local environment limitations recorded
* [x] All files ASCII-encoded with LF line endings
* [x] implementation-notes.md updated
* [x] Ready for `implement` to hand off to 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://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/sessions/phase40-session01-baseline-and-port-invariants/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.
