> 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-session10-assets-and-media-compliance/asset-provenance.md).

# Asset Provenance

**Session ID**: `phase40-session10-assets-and-media-compliance` **Created**: 2026-07-03 **Scope**: Phase 40 Claude OS v2.10.1 media gap for Hermes provider logos and the optimized AI OS Ministry hero.

***

## Baseline Inventory

The repo-local staged media gap at session start contained 15 root provider SVG files and one optimized Ministry hero image:

| Asset         | Bytes   | Baseline Location               | File Type     |
| ------------- | ------- | ------------------------------- | ------------- |
| Claude logo   | 1,696   | `src/assets/logo-claude.svg`    | SVG           |
| Cohere logo   | 769     | `src/assets/logo-cohere.svg`    | SVG           |
| DeepSeek logo | 2,164   | `src/assets/logo-deepseek.svg`  | SVG           |
| Gemini logo   | 2,836   | `src/assets/logo-gemini.svg`    | SVG           |
| Grok logo     | 756     | `src/assets/logo-grok.svg`      | SVG           |
| Meta logo     | 6,022   | `src/assets/logo-meta.svg`      | SVG           |
| MiniMax logo  | 1,570   | `src/assets/logo-minimax.svg`   | SVG           |
| Mistral logo  | 655     | `src/assets/logo-mistral.svg`   | SVG           |
| Moonshot logo | 4,028   | `src/assets/logo-moonshot.svg`  | SVG           |
| NVIDIA logo   | 1,025   | `src/assets/logo-nvidia.svg`    | SVG           |
| OpenAI logo   | 1,687   | `src/assets/logo-openai.svg`    | SVG           |
| Qwen logo     | 2,044   | `src/assets/logo-qwen.svg`      | SVG           |
| Tencent logo  | 277     | `src/assets/logo-tencent.svg`   | SVG           |
| Xiaomi logo   | 2,544   | `src/assets/logo-xiaomi.svg`    | SVG           |
| Z.ai logo     | 3,597   | `src/assets/logo-zai.svg`       | SVG           |
| Ministry hero | 185,156 | `src/assets/ministry-hero.webp` | WebP, 520x654 |

***

## Baseline Safety Evidence

| Check                         | Result | Evidence                                                                                                            |
| ----------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------- |
| Root SVG forbidden-token scan | PASS   | The command below returned no matches.                                                                              |
| File type check               | PASS   | `file src/assets/logo-*.svg src/assets/ministry-hero.webp` reported the provider files as SVG and the hero as WebP. |
| Asset size script             | PASS   | `bash scripts/check-asset-sizes.sh` reported `OK: All assets within configured size limits (total: 16M)`.           |
| Ministry hero byte cap        | PASS   | `du -b src/assets/ministry-hero.webp` reported 185,156 bytes, under the 200 KB non-logo cap.                        |
| Ministry hero dimensions      | PASS   | `identify src/assets/ministry-hero.webp` reported 520x654 and 185,156B.                                             |

```bash
rg -n -i "<script|foreignObject|on[a-z]+\\s*=|javascript:|data:|href\\s*=\\s*['\\\"]https?://|xlink:href\\s*=\\s*['\\\"]https?://" src/assets/logo-*.svg || true
```

***

## Ministry Hero Compression Details

The committed AI OS Ministry hero remains `src/assets/ministry-hero.webp`. It is an optimized WebP copy at 520x654 and 185,156 bytes, below the 200 KB non-logo cap. The raw oversized upstream copy remains intentionally out of the repo.

***

## Source Path Gap Audit

Session 01 identified the upstream media gap as 15 provider SVG logo files plus the Ministry hero. Session 10 uses the repo-staged copies as its source of truth because the implementation scope does not require upstream checkout access. Final path decisions are recorded below as implementation completes.

***

## Provider Coverage Inputs

The Phase 40 Hermes model catalog currently exposes 24 provider ids:

```
openai
anthropic
anthropic-oauth
googlegemini
openrouter
openai-codex
xai-oauth
xai
deepseek
minimax
cohere
groq
mistral
perplexity
nvidia
sakana
zai
kimi-coding
ollama-cloud
huggingface
nous
copilot
github-copilot
local
```

Session 09 model intelligence currently defines four Ministry lineup providers: `anthropic`, `openai`, `zai`, and `deepseek`.

The staged media gap directly covers these provider aliases or upstream vendor marks: `anthropic`, `anthropic-oauth`, `cohere`, `deepseek`, `googlegemini`, `xai`, `xai-oauth`, `minimax`, `mistral`, `nvidia`, `openai`, `openai-codex`, `zai`, plus upstream marks for `meta`, `moonshot`, `qwen`, `tencent`, and `xiaomi`. Catalog providers without an approved staged or explicitly mapped existing Session 10 logo will use null fallbacks in the browser registry.

***

## Final Path Decisions

| Source Path                    | Final Path                             | Decision                                                                                                                                             |
| ------------------------------ | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `src/assets/logo-claude.svg`   | `src/assets/logos/hermes/claude.svg`   | Rehomed as the approved Hermes Claude/Anthropic provider mark.                                                                                       |
| `src/assets/logo-cohere.svg`   | `src/assets/logos/hermes/cohere.svg`   | Rehomed as the approved Hermes Cohere provider mark.                                                                                                 |
| `src/assets/logo-deepseek.svg` | `src/assets/logos/hermes/deepseek.svg` | Rehomed as the approved Hermes DeepSeek provider mark.                                                                                               |
| `src/assets/logo-gemini.svg`   | `src/assets/logos/hermes/gemini.svg`   | Rehomed as the approved Hermes Google Gemini provider mark.                                                                                          |
| `src/assets/logo-grok.svg`     | `src/assets/logos/hermes/grok.svg`     | Rehomed as the approved Hermes xAI/Grok provider mark.                                                                                               |
| `src/assets/logo-meta.svg`     | `src/assets/logos/hermes/meta.svg`     | Rehomed as an upstream OpenRouter model-vendor mark; not mapped to a top-level Hermes provider unless a future UI explicitly needs model-vendor art. |
| `src/assets/logo-minimax.svg`  | `src/assets/logos/hermes/minimax.svg`  | Rehomed as the approved Hermes MiniMax provider mark.                                                                                                |
| `src/assets/logo-mistral.svg`  | `src/assets/logos/hermes/mistral.svg`  | Rehomed as the approved Hermes Mistral provider mark.                                                                                                |
| `src/assets/logo-moonshot.svg` | `src/assets/logos/hermes/moonshot.svg` | Rehomed as the upstream Moonshot/Kimi provider-vendor mark.                                                                                          |
| `src/assets/logo-nvidia.svg`   | `src/assets/logos/hermes/nvidia.svg`   | Rehomed as the approved Hermes NVIDIA provider mark.                                                                                                 |
| `src/assets/logo-openai.svg`   | `src/assets/logos/hermes/openai.svg`   | Rehomed as the approved Hermes OpenAI and OpenAI Codex provider mark.                                                                                |
| `src/assets/logo-qwen.svg`     | `src/assets/logos/hermes/qwen.svg`     | Rehomed as an upstream model-vendor mark; not mapped to a top-level Hermes provider unless a future UI explicitly needs model-vendor art.            |
| `src/assets/logo-tencent.svg`  | `src/assets/logos/hermes/tencent.svg`  | Rehomed as an upstream model-vendor mark; not mapped to a top-level Hermes provider unless a future UI explicitly needs model-vendor art.            |
| `src/assets/logo-xiaomi.svg`   | `src/assets/logos/hermes/xiaomi.svg`   | Rehomed as an upstream model-vendor mark; not mapped to a top-level Hermes provider unless a future UI explicitly needs model-vendor art.            |
| `src/assets/logo-zai.svg`      | `src/assets/logos/hermes/zai.svg`      | Rehomed as the approved Hermes Z.ai provider mark.                                                                                                   |

***

## Duplicate Logo Decisions

| Hermes Asset                          | Existing AI OS Comparison                                                | Result                            | Decision                                                                                                                                        |
| ------------------------------------- | ------------------------------------------------------------------------ | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `src/assets/logos/hermes/gemini.svg`  | `src/assets/logos/gemini-color.svg`, `src/assets/logos/googlegemini.svg` | Distinct SVG hashes.              | Retain the Hermes Gemini SVG for Phase 40 provider-registry use. Existing AI OS Gemini logos stay available for already-shipped host surfaces.  |
| `src/assets/logos/hermes/openai.svg`  | `src/assets/logos/openai.png`, `src/assets/logos/openai-gpt5.png`        | Distinct file formats and hashes. | Retain the Hermes OpenAI SVG for provider-registry use. Existing OpenAI PNGs stay scoped to existing AI OS surfaces.                            |
| `src/assets/logos/hermes/meta.svg`    | No existing AI OS logo path.                                             | No duplicate.                     | Retain as rehomed upstream model-vendor art only; no top-level Hermes provider maps to it unless a future UI explicitly needs model-vendor art. |
| `src/assets/logos/hermes/qwen.svg`    | No existing AI OS logo path.                                             | No duplicate.                     | Retain as rehomed upstream model-vendor art only.                                                                                               |
| `src/assets/logos/hermes/tencent.svg` | No existing AI OS logo path.                                             | No duplicate.                     | Retain as rehomed upstream model-vendor art only.                                                                                               |
| `src/assets/logos/hermes/xiaomi.svg`  | No existing AI OS logo path.                                             | No duplicate.                     | Retain as rehomed upstream model-vendor art only.                                                                                               |
| Remaining Hermes provider SVGs        | No current AI OS logo path recorded in the audit metadata.               | No duplicate.                     | Retain under `src/assets/logos/hermes/` as approved Session 10 provider marks.                                                                  |

Hash evidence for the explicit comparisons:

```
8ab0a9bafec11f7e69bcb9fc4ffd8f1bc927d1ddcbbb6ff36dee5ae8b5a9d602  src/assets/logos/hermes/gemini.svg
da3dedcb2493688ffc9fd4c03d1131884bee1d9598611b11073cc10041c13e9f  src/assets/logos/gemini-color.svg
d8975cd8e4ae388eeff01ddffd030b8498631962157f69b63e7c5f6a607bf535  src/assets/logos/googlegemini.svg
a595df6b423920c67a7f8f73c063e4bfb72d415948097b6cac063a2366bb5186  src/assets/logos/hermes/openai.svg
6fbc6c7050322f064fdd34aea01d08a688579ec66b0b2ff8533b8c4b63e24a7d  src/assets/logos/openai.png
b9d4656e585ae8af9730e559e855d737a23e6b69be91fe71e0c651836c56b419  src/assets/logos/openai-gpt5.png
```

***

## Final Validation Evidence

| Command                                                                                                                                                                                                                                                                                              | Result | Evidence                                                                                                                             |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| `bun -e 'import { auditHermesMediaAssets } from "./scripts/lib/hermes-media-audit.ts"; const checks = await auditHermesMediaAssets(process.cwd()); for (const check of checks) console.log(`${check.status} ${check.name}`); if (checks.some((check) => check.status !== "pass")) process.exit(1);'` | PASS   | Reported pass for `logo-inventory`, `root-logo-cleanup`, `logo-size-caps`, `svg-safety`, `duplicate-decisions`, and `ministry-hero`. |
| `bunx vitest run scripts/lib/__tests__/hermes-media-audit.test.ts src/lib/__tests__/hermes-provider-assets.test.ts`                                                                                                                                                                                  | PASS   | Reported 2 test files passed and 8 tests passed.                                                                                     |
| `du -b src/assets/logos/hermes/*.svg src/assets/ministry-hero.webp \| sort -k2`                                                                                                                                                                                                                      | PASS   | Rehomed logos remain 277 to 6,022 bytes; Ministry hero remains 185,156 bytes.                                                        |
| `bash scripts/check-asset-sizes.sh`                                                                                                                                                                                                                                                                  | PASS   | Reported `OK: All assets within configured size limits (total: 16M)`.                                                                |
| `bun run typecheck && bun run typecheck:scripts`                                                                                                                                                                                                                                                     | PASS   | App and script TypeScript checks exited 0.                                                                                           |
| `bun run lint`                                                                                                                                                                                                                                                                                       | PASS   | ESLint exited 0 after Prettier formatted the changed TypeScript files.                                                               |
| `find src/assets -maxdepth 1 -type f -name 'logo-*.svg' -print`                                                                                                                                                                                                                                      | PASS   | Returned no root staged provider SVG files.                                                                                          |
| `rg -n "['\"]@/assets/logo-\|['\"]\\.\\.?/assets/logo-\|src/assets/logo-[a-z0-9-]+\\.svg" src scripts --glob '!scripts/lib/hermes-media-audit.ts'`                                                                                                                                                   | PASS   | Returned no runtime root-logo imports or references outside the script-side source-path audit metadata.                              |
| `git diff --name-only -- src/components src/routes src/extensions`                                                                                                                                                                                                                                   | PASS   | Returned no changed UI route, component, or extension view files.                                                                    |
| Placeholder scan over `asset-provenance.md`                                                                                                                                                                                                                                                          | PASS   | Returned no incomplete provenance placeholders before the final evidence row was appended.                                           |


---

# 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-session10-assets-and-media-compliance/asset-provenance.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.
