> 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-session08-catalog-and-context-metadata/tasks.md).

# Task Checklist

**Session ID**: `phase40-session08-catalog-and-context-metadata` **Total Tasks**: 20 **Estimated Duration**: 3-4 hours **Created**: 2026-07-03

***

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

***

## Setup (3 tasks)

* [x] T001 \[S4008] Verify Session 02 model contract, Session 08 stub scope, current worktree status, and focused Hermes catalog owners (`.spec_system/specs/phase40-session02-models-and-provider-readiness/spec.md`)
* [x] T002 \[S4008] Capture baseline catalog, parser, hook, Pantheon, and bridge test behavior before edits (`scripts/lib/__tests__/hermes-dev-bridge.test.ts`)
* [x] T003 \[S4008] Identify current `/__hermes_models` response consumers and confirm no pricing or live-refresh owner belongs in this session (`src/hooks/use-hermes.ts`)

***

## Foundation (5 tasks)

* [x] T004 \[S4008] \[P] Extend Hermes model catalog types for provider labels, provider tints, context fallback metadata, and bundled snapshot provenance with types matching declared contract; exhaustive enum handling (`src/lib/hermes-types.ts`)
* [x] T005 \[S4008] \[P] Export shared provider presentation helpers for labels, tints, alias expansion, and unknown-provider fallback (`scripts/lib/hermes-provider-readiness.ts`)
* [x] T006 \[S4008] Implement parser validation for additive catalog metadata while preserving Session 02 model body compatibility with schema-validated input and explicit error mapping (`src/lib/hermes-types.ts`)
* [x] T007 \[S4008] Add provider presentation unit tests for labels, tints, aliases, key names, and unknown-provider fallback (`scripts/lib/__tests__/hermes-provider-readiness.test.ts`)
* [x] T008 \[S4008] Update demo model fixtures with bundled snapshot metadata and safe provider presentation fields (`src/lib/hermes-demo-data.ts`)

***

## Implementation (7 tasks)

* [x] T009 \[S4008] Refresh `HERMES_MODEL_CATALOG` with upstream 2.10.1 provider groups and retained AI OS aliases (`scripts/lib/hermes-dev-bridge.ts`)
* [x] T010 \[S4008] Add explicit `anthropic/claude-sonnet-5` coverage with deterministic context fallback (`scripts/lib/hermes-dev-bridge.ts`)
* [x] T011 \[S4008] Add bundled upstream 2026-06-30 snapshot provenance to `/__hermes_models` output without live-refresh or pricing claims (`scripts/lib/hermes-dev-bridge.ts`)
* [x] T012 \[S4008] Add provider label and tint metadata to catalog response rows through shared provider helpers (`scripts/lib/hermes-dev-bridge.ts`)
* [x] T013 \[S4008] Preserve alias-aware configured-provider filtering for Google/Gemini, OpenAI Codex, xAI OAuth, OpenRouter, local, and retained AI OS providers (`scripts/lib/hermes-dev-bridge.ts`)
* [x] T014 \[S4008] Preserve `useHermes` model query state and empty catalog handling for richer catalog metadata with explicit loading, empty, error, and offline states (`src/hooks/use-hermes.ts`)
* [x] T015 \[S4008] Update Pantheon model option labels and copy to use provider labels, context fallback, and bundled provenance with product-facing copy only and diagnostics confined to tests (`src/components/hermes/hermes-pantheon.tsx`)

***

## Testing (5 tasks)

* [x] T016 \[S4008] \[P] Add bridge tests for Sonnet 5, snapshot provenance, context fallback, alias-sensitive configured filtering, and no raw local output leakage (`scripts/lib/__tests__/hermes-dev-bridge.test.ts`)
* [x] T017 \[S4008] \[P] Add parser tests for additive metadata, invalid metadata, fallback context, and compatibility with Session 02 model bodies (`src/lib/__tests__/hermes-types.test.ts`)
* [x] T018 \[S4008] \[P] Add hook and Pantheon tests for richer model fixtures, provider-aware labels, context fallback, and bundled snapshot copy (`src/hooks/__tests__/use-hermes.test.tsx`)
* [x] T019 \[S4008] Run focused catalog, bridge, parser, hook, and Pantheon tests (`bunx vitest run scripts/lib/__tests__/hermes-provider-readiness.test.ts scripts/lib/__tests__/hermes-dev-bridge.test.ts src/lib/__tests__/hermes-types.test.ts src/hooks/__tests__/use-hermes.test.tsx src/components/hermes/__tests__/hermes-sections.test.tsx`)
* [x] T020 \[S4008] Run TypeScript gates and validate ASCII/LF session artifact completeness (`bun run typecheck && bun run typecheck:scripts`)

***

## 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` (next step in 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://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/.spec_system/archive/sessions/phase40-session08-catalog-and-context-metadata/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.
