> 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/phase38-session06-policy-docs-and-catalogs/implementation-notes.md).

# Implementation Notes

**Session ID**: `phase38-session06-policy-docs-and-catalogs` **Started**: 2026-06-29 23:09 **Last Updated**: 2026-06-29 23:41

***

## Session Progress

| Metric              | Value   |
| ------------------- | ------- |
| Tasks Completed     | 20 / 20 |
| Estimated Remaining | 0 hours |
| Blockers            | 0       |

***

### Task T020 - Run required quality gates and ASCII/LF validation

**Started**: 2026-06-29 23:40 **Completed**: 2026-06-29 23:41 **Duration**: 1 minute

**Notes**:

* Ran the required quality gates for lint, application typecheck, scripts typecheck, and repository formatting.
* Initial `format:check` and lint surfaced Prettier-only formatting issues, including the newly edited Hermes component test and spec/docs files included by the repository formatting gate.
* Ran Prettier on the reported files, then reran the gates successfully.
* Validated all changed tracked and untracked files as ASCII and checked for CRLF line endings.

**Files Changed**:

* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added final quality gate evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T020 complete, updated the progress summary, and completed the session checklist.
* Repository formatting-only updates were applied to files reported by `bun run format:check`, including existing spec-system docs, README/development docs, and the Hermes component test.

**Verification**:

* Command/check: `bun run lint`
  * Result: PASS - ESLint completed successfully after formatting.
  * Evidence: Command exited 0.
* Command/check: `bun run typecheck`
  * Result: PASS - Application TypeScript check completed successfully.
  * Evidence: `tsc --noEmit` exited 0.
* Command/check: `bun run typecheck:scripts`
  * Result: PASS - Scripts TypeScript check completed successfully.
  * Evidence: `tsc --noEmit -p tsconfig.scripts.json` exited 0.
* Command/check: `bun run format:check`
  * Result: PASS - Prettier repository check completed successfully after formatting the reported files.
  * Evidence: Output ended with `All matched files use Prettier code style!`.
* Command/check: `git ls-files -m -o --exclude-standard` plus changed-file `perl` ASCII scan and `file` classification
  * Result: PASS - Changed files are ASCII text, JSON text, or ASCII JavaScript source.
  * Evidence: Non-ASCII scan returned no matches; `file` output reported ASCII text/source or JSON text data for changed files.
* Command/check: changed-file CRLF scan with `perl -ne 'print "$ARGV:$.:CRLF\n" if /\r\n/'`
  * Result: PASS - No CRLF line endings found in changed files.
  * Evidence: Command returned no output.
* UI product-surface check: PASS - No UI implementation changed after T016; the Hermes component test remains included in the passing targeted suite from T017.
* UI craft check: PASS - Final formatting did not introduce UI layout or copy changes beyond previously verified catalog test coverage.

**BQC Fixes**:

* Formatting consistency: Applied Prettier to the files identified by the repository formatting gate, then confirmed lint and format checks pass.
* Artifact hygiene: Final changed-file scans confirmed ASCII-only content and LF line endings across the implementation set.

***

### Task T019 - Run executable-bit verification

**Started**: 2026-06-29 23:39 **Completed**: 2026-06-29 23:40 **Duration**: 1 minute

**Notes**:

* Re-ran executable-bit verification for Session 10 reconciliation evidence.
* Confirmed three AI OS tracked paths are executable and `scripts/webp-file-type-art.sh` remains intentionally missing/untracked.

**Files Changed**:

* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T019 executable-bit evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T019 complete and updated progress summary.

**Verification**:

* Command/check: `git ls-files -s -- .githooks/pre-commit scripts/graph-to-dashboard.sh scripts/setup-graphify-brain.sh scripts/webp-file-type-art.sh`
  * Result: PASS - Expected executable entries are tracked.
  * Evidence: `.githooks/pre-commit`, `scripts/graph-to-dashboard.sh`, and `scripts/setup-graphify-brain.sh` are `100755`; `scripts/webp-file-type-art.sh` has no tracked entry.
* Command/check: `test ! -e scripts/webp-file-type-art.sh; echo "webp_missing=$?"`
  * Result: PASS - Missing script disposition confirmed.
  * Evidence: Output was `webp_missing=0`, meaning the file does not exist.
* Command/check: `git ls-files --stage | rg "(\\.githooks/pre-commit|scripts/graph-to-dashboard\\.sh|scripts/setup-graphify-brain\\.sh|scripts/webp-file-type-art\\.sh)"`
  * Result: PASS - Stage output contains only the three executable AI OS paths.
  * Evidence: Output lists the same three `100755` entries and no webp script.
* UI product-surface check: N/A - Executable-bit verification only; no rendered app surface changed.
* UI craft check: N/A - Executable-bit verification only; no UI changed.

**BQC Fixes**:

* N/A - Verification task; no application code changed.

***

### Task T018 - Run docs stale-claim and secret-pattern sweeps

**Started**: 2026-06-29 23:37 **Completed**: 2026-06-29 23:39 **Duration**: 2 minutes

**Notes**:

* Swept README, AGENTS, and docs for removed upstream endpoints, voice/Intelligence overclaims, stale storage names, compatibility names, and token-shaped strings.
* Removed upstream endpoint and secret-pattern sweeps returned no matches.
* Voice/Intelligence matches are confined to current-state deferral language naming Session 08 and Session 09 ownership.
* `Claude OS`, `CLAUDE_OS_*`, `FINDTREND_*`, `findtrend`, and `~/.claude-os` matches are existing compatibility, attribution, migration, or historical docs references rather than new product identity.

**Files Changed**:

* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T018 sweep evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T018 complete and updated progress summary.

**Verification**:

* Command/check: `rg -n "127\\.0\\.0\\.1:17873|/api/install|/api/aggregate|/api/run-fix|/api/dream-now" README.md AGENTS.md docs || true`
  * Result: PASS - Removed upstream endpoint strings are absent.
  * Evidence: Command returned no matches.
* Command/check: `rg -n "voice-lab|bun run voice|Configure voice|Talk to Hermes|talk to Hermes|gpt-realtime|one-click|speech-in|speech-out|voice broker|Intelligence portal|Intelligence view|/__start_voice|OPENAI_BASE_URL" README.md AGENTS.md docs | sed -n '1,220p'`
  * Result: PASS - Voice and Intelligence matches are current-state deferrals or required policy terms.
  * Evidence: Matches are in AGENTS, README, `docs/local-voice-setup.md`, and `docs/intelligence-view.md`; they state not-shipped status, Session 08/09 ownership, or `OPENAI_BASE_URL` policy.
* Command/check: `rg -n "~/.claude-os|claude-os|Claude OS|CLAUDE_OS|findtrend|FINDTREND" README.md AGENTS.md docs | sed -n '1,260p'`
  * Result: PASS - Legacy and inherited names are compatibility/history references.
  * Evidence: Matches appear in attribution, env compatibility docs, migration docs, historical changelog/audit docs, and Trend Finder compatibility docs; no new global `findtrend` identity was added.
* Command/check: `rg -n "sk-[A-Za-z0-9_-]{16,}|Bearer [A-Za-z0-9._-]{16,}|x-claude-os-token\\s*[:=]\\s*[A-Za-z0-9._-]{16,}|OPENAI_API_KEY=[A-Za-z0-9_-]{16,}|ANTHROPIC_API_KEY=[A-Za-z0-9_-]{16,}" README.md AGENTS.md docs || true`
  * Result: PASS - No token-shaped strings found.
  * Evidence: Command returned no matches.
* UI product-surface check: N/A - Documentation sweep task; no rendered app surface changed.
* UI craft check: N/A - Documentation sweep task; no UI changed.

**BQC Fixes**:

* Error information boundaries: Secret-pattern sweep confirmed docs do not expose bearer-shaped tokens or provider-key-shaped examples in the checked scope.

***

### Task T017 - Run targeted model and Hermes catalog tests

**Started**: 2026-06-29 23:36 **Completed**: 2026-06-29 23:37 **Duration**: 1 minute

**Notes**:

* Ran the exact targeted model and Hermes catalog test command from the task checklist.
* All targeted bridge, model-helper, session-scanner, and Hermes component tests passed.

**Files Changed**:

* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T017 test evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T017 complete and updated progress summary.

**Verification**:

* Command/check: `bun run test -- scripts/lib/__tests__/hermes-dev-bridge.test.ts scripts/lib/__tests__/model-helpers.test.ts scripts/lib/__tests__/session-scanner.test.ts src/components/hermes/__tests__/hermes-sections.test.tsx`
  * Result: PASS - Targeted model and Hermes catalog tests pass.
  * Evidence: 4 test files passed; 192 tests passed.
* UI product-surface check: PASS - The Hermes component catalog test is included in the targeted command and passed.
* UI craft check: PASS - No UI layout edits were made; the test confirms existing selector behavior with expanded catalog options.

**BQC Fixes**:

* N/A - Test execution task; behavioral fixes were recorded on the implementation tasks that added coverage.

***

### Task T016 - Wire Hermes catalog, demo fixtures, and product-surface tests

**Started**: 2026-06-29 23:35 **Completed**: 2026-06-29 23:36 **Duration**: 1 minute

**Notes**:

* Verified bridge catalog, demo fixtures, and Hermes product-surface tests are wired together.
* Confirmed upstream Claude names are catalog options and do not replace the configured `openai` / `gpt-5.5` default.
* Confirmed component coverage renders upstream options in the persona model selector without selecting them by default.

**Files Changed**:

* `scripts/lib/hermes-dev-bridge.ts` - Bridge catalog includes upstream Claude options and keeps OpenAI default first.
* `src/lib/hermes-demo-data.ts` - Demo catalog includes upstream Claude options and keeps demo configured default as `openai` / `gpt-5.5`.
* `src/components/hermes/__tests__/hermes-sections.test.tsx` - Product-surface test covers expanded options and default preservation.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T016 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T016 complete and updated progress summary.

**Verification**:

* Command/check: `bun -e 'import { HERMES_MODEL_CATALOG } from "./scripts/lib/hermes-dev-bridge.ts"; import { HERMES_DEMO_DATA, HERMES_DEMO_MODELS, HERMES_DEMO_STATUS } from "./src/lib/hermes-demo-data.ts"; console.log(JSON.stringify({bridgeOpenAiFirst:HERMES_MODEL_CATALOG.find((g)=>g.provider==="openai")?.models[0], bridgeClaude:HERMES_MODEL_CATALOG.find((g)=>g.provider==="anthropic")?.models.map((m)=>m.name), demoStatusDefault:HERMES_DEMO_STATUS.defaultModel, demoConfigured:HERMES_DEMO_MODELS.configuredDefault, demoClaude:HERMES_DEMO_DATA.models.catalog.find((g)=>g.provider==="anthropic")?.models.map((m)=>m.name)}, null, 2));'`
  * Result: PASS - Bridge and demo fixtures are coherent.
  * Evidence: Bridge OpenAI first model is `gpt-5.5`; bridge Anthropic includes `claude-opus-4.8` and `claude-sonnet-4.6`; demo status/default remains `openai` / `gpt-5.5`; demo Anthropic includes upstream names.
* Command/check: `bun run test -- src/components/hermes/__tests__/hermes-sections.test.tsx -t "expanded model catalog options"`
  * Result: PASS - Hermes product-surface selector coverage passes.
  * Evidence: 1 test file passed; 1 test passed and 88 skipped.
* Command/check: `rg -n "claude-opus-4\\.8|claude-sonnet-4\\.6|gpt-5\\.5|configuredDefault" scripts/lib/hermes-dev-bridge.ts src/lib/hermes-demo-data.ts src/components/hermes/__tests__/hermes-sections.test.tsx`
  * Result: PASS - Catalog and tests contain upstream options plus preserved default.
  * Evidence: Matches show upstream options in bridge/demo/test files and `gpt-5.5` as configured default.
* UI product-surface check: PASS - Component test inspects the visible model selector options and confirms the select value remains unset so template/configured defaults are not silently replaced.
* UI craft check: PASS - Uses the existing native select control and model-option copy pattern; no new layout or interaction surface was introduced.

**BQC Fixes**:

* Contract alignment: Bridge, fixture, and component tests now agree on catalog data shape and default semantics (`scripts/lib/hermes-dev-bridge.ts`, `src/lib/hermes-demo-data.ts`, `src/components/hermes/__tests__/hermes-sections.test.tsx`).

***

### Task T015 - Record voice-lab launch target disposition

**Started**: 2026-06-29 23:33 **Completed**: 2026-06-29 23:35 **Duration**: 2 minutes

**Notes**:

* Verified `.claude/launch.json` still contains only the runnable `ai-os` development target.
* Recorded the voice broker launch target as Session 08-owned in README, agent guidance, voice setup policy, and the implementation launch-target register.
* No `.claude/launch.json` edit was needed because adding a voice target before the broker and package script exist would create a broken command.

**Files Changed**:

* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T015 evidence and launch target disposition.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T015 complete and updated progress summary.

**Verification**:

* Command/check: `jq '.configurations[].name' .claude/launch.json`
  * Result: PASS - Only runnable AI OS launch target is present.
  * Evidence: Output was `"ai-os"`.
* Command/check: `sed -n '1,120p' .claude/launch.json`
  * Result: PASS - Launch file inspected.
  * Evidence: Target runs `bun run dev` on port 5189.
* Command/check: `rg -n "voice-lab|voice|8099|run.*voice" .claude/launch.json package.json docs/local-voice-setup.md README.md AGENTS.md || true`
  * Result: PASS - No runnable voice target or package script was added; only current-state docs mention voice ownership.
  * Evidence: Matches are documentation-only and state Session 08 ownership or not-shipped status; `.claude/launch.json` and `package.json` had no voice target/script matches.
* Command/check: `jq -e '.configurations | length == 1 and .[0].name == "ai-os" and .[0].runtimeExecutable == "bun" and (.[0].runtimeArgs == ["run", "dev"]) and .[0].port == 5189' .claude/launch.json`
  * Result: PASS - Launch target remains the single runnable AI OS dev command.
  * Evidence: Command returned `true`.
* UI product-surface check: N/A - Launch disposition task; no rendered app surface changed.
* UI craft check: N/A - Launch disposition task; no UI changed.

**BQC Fixes**:

* Product surface discipline: Docs and agent guidance explicitly prevent voice launch claims until Session 08 ships broker support (`README.md`, `AGENTS.md`, `docs/local-voice-setup.md`).

***

### Task T014 - Align onboarding, development, and Dream runbook references

**Started**: 2026-06-29 23:30 **Completed**: 2026-06-29 23:33 **Duration**: 3 minutes

**Notes**:

* Added current local Vite middleware endpoint boundaries to onboarding and development docs.
* Clarified browser refresh and Dream controls as local loopback/token-gated surfaces rather than public APIs.
* Aligned Dream runbook scheduling language with shipped macOS/Windows `install-dream` behavior and Linux manual timer guidance.

**Files Changed**:

* `docs/onboarding.md` - Added current local dashboard endpoint behavior and local control-plane platform note.
* `docs/development.md` - Added local Vite middleware control-plane table and browser-visible privacy boundary.
* `docs/runbooks/ai-os-dream.md` - Clarified OS timer proof and macOS/Windows/Linux Dream scheduling paths.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T014 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T014 complete and updated progress summary.

**Verification**:

* Command/check: `rg -n "/__live-data|/__token|/__refresh_data|/__run_dream|/__hermes_\\*|loopback|Host checks|local control plane|install-dream|Task Scheduler|launchd|AI_OS_DREAM_ENABLED" docs/onboarding.md docs/development.md docs/runbooks/ai-os-dream.md`
  * Result: PASS - Current endpoint and Dream scheduler language is present across target docs.
  * Evidence: Matches cover Vite middleware endpoints, loopback/token/Host checks, local control-plane note, install-dream, launchd, Task Scheduler, and Dream activation env.
* Command/check: `rg -n "127\\.0\\.0\\.1:17873|/api/install|/api/aggregate|/api/dream-now|voice-lab|bun run voice|gpt-realtime|OPENAI_BASE_URL" docs/onboarding.md docs/development.md docs/runbooks/ai-os-dream.md || true`
  * Result: PASS - Target docs avoid removed upstream endpoints and unshipped voice strings.
  * Evidence: Command returned no matches.
* Command/check: `perl -ne 'print "$ARGV:$.:$_" if /[^\x00-\x7F]/' docs/onboarding.md docs/development.md docs/runbooks/ai-os-dream.md`
  * Result: PASS - Target docs are ASCII-only after edits.
  * Evidence: Command returned no non-ASCII matches.
* Command/check: `git diff -- docs/onboarding.md docs/development.md docs/runbooks/ai-os-dream.md | sed -n '1,260p'`
  * Result: PASS - Diff inspected for scoped docs alignment.
  * Evidence: Diff only adds endpoint/control-plane notes and Dream scheduling clarification.
* UI product-surface check: N/A - Documentation task; no rendered app surface changed.
* UI craft check: N/A - Documentation task; no UI changed.

**BQC Fixes**:

* Trust boundary enforcement: Development and onboarding docs now state refresh/Dream endpoints require loopback and same-run token, with development additionally documenting Host checks (`docs/onboarding.md`, `docs/development.md`).

***

### Task T013 - Create current-state Intelligence view guidance

**Started**: 2026-06-29 23:28 **Completed**: 2026-06-29 23:30 **Duration**: 2 minutes

**Notes**:

* Created a current-state Intelligence view document that names Session 09 ownership and avoids claiming the full portal is shipped.
* Documented `POST /__hermes_chat` as the real backend requirement with loopback, token, admin, Host-header, validation, streaming, and error-boundary requirements.
* Linked voice readiness to Session 08 broker support.

**Files Changed**:

* `docs/intelligence-view.md` - Added current-state Intelligence view policy and Session 09 delivery bar.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T013 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T013 complete and updated progress summary.

**Verification**:

* Command/check: `rg -n "Session 09|/__hermes_chat|loopback|Same-run-token|HERMES_DASHBOARD_ADMIN|Host-header|not a claim|does not currently ship|Delivery Bar" docs/intelligence-view.md`
  * Result: PASS - Required Intelligence current-state and backend delivery-bar content is present.
  * Evidence: Matches cover Session 09 ownership, `/__hermes_chat`, loopback/token/admin/Host requirements, not-shipped framing, and delivery bar.
* Command/check: `rg -n "voice-lab|bun run voice|OPENAI_BASE_URL|gpt-realtime|127\\.0\\.0\\.1:17873|/api/install|/api/aggregate|/api/dream-now|shipped with voice|one-click" docs/intelligence-view.md || true`
  * Result: PASS - Intelligence doc avoids stale voice and removed endpoint strings.
  * Evidence: Command returned no matches.
* Command/check: `perl -ne 'print "$ARGV:$.:$_" if /[^\x00-\x7F]/' docs/intelligence-view.md`
  * Result: PASS - Intelligence doc is ASCII-only.
  * Evidence: Command returned no non-ASCII matches.
* Command/check: `sed -n '1,220p' docs/intelligence-view.md`
  * Result: PASS - New document inspected for current-state status, backend requirements, product boundary, and delivery checklist.
  * Evidence: Document states AI OS does not currently ship the full-screen Intelligence portal, visualizers, live voice loop, or portal-specific voice controls.
* UI product-surface check: N/A - Documentation task; no rendered app surface changed.
* UI craft check: N/A - Documentation task; no UI changed.

**BQC Fixes**:

* Trust boundary enforcement: Delivery bar requires `/__hermes_chat` to stay loopback, token, admin, Host-header, and schema validated (`docs/intelligence-view.md`).
* Product surface discipline: Document prevents future agents from claiming the portal is shipped before Session 09 wires real data and tests (`docs/intelligence-view.md`).

***

### Task T012 - Create current-state local voice setup guidance

**Started**: 2026-06-29 23:26 **Completed**: 2026-06-29 23:28 **Duration**: 2 minutes

**Notes**:

* Created a current-state voice policy document that does not claim shipped voice behavior.
* Documented environment-only provider configuration, `OPENAI_BASE_URL` allowlist policy, no browser-stored keys, and Session 08 broker ownership.
* Avoided adding a runnable voice command, broker launch target, or provider-token implementation claim.

**Files Changed**:

* `docs/local-voice-setup.md` - Added current-state voice setup and security policy.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T012 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T012 complete and updated progress summary.

**Verification**:

* Command/check: `rg -n "Session 08|environment-only|OPENAI_BASE_URL|No key|browser storage|loopback|\\.claude/launch.json|not a claim|not already shipped|future broker" docs/local-voice-setup.md`
  * Result: PASS - Required current-state voice policy content is present.
  * Evidence: Matches cover Session 08 ownership, environment-only configuration, `OPENAI_BASE_URL`, browser storage, loopback, launch-target rules, and not-shipped framing.
* Command/check: `rg -n "bun run voice|voice-lab|gpt-realtime|sk-|Bearer [A-Za-z0-9]|127\\.0\\.0\\.1:17873|/api/install|/api/aggregate|/api/dream-now" docs/local-voice-setup.md || true`
  * Result: PASS - Voice doc avoids stale runnable commands, removed endpoints, and secret-shaped examples.
  * Evidence: Command returned no matches.
* Command/check: `perl -ne 'print "$ARGV:$.:$_" if /[^\x00-\x7F]/' docs/local-voice-setup.md`
  * Result: PASS - Voice doc is ASCII-only.
  * Evidence: Command returned no non-ASCII matches.
* Command/check: `sed -n '1,220p' docs/local-voice-setup.md`
  * Result: PASS - New document inspected for current-state wording and required policy sections.
  * Evidence: Document states AI OS does not currently ship a runnable voice broker and Session 08 owns broker implementation.
* UI product-surface check: N/A - Documentation task; no rendered app surface changed.
* UI craft check: N/A - Documentation task; no UI changed.

**BQC Fixes**:

* Error information boundaries: Future broker requirements explicitly require controlled errors without stack traces, local paths, provider payloads, or secrets (`docs/local-voice-setup.md`).
* Trust boundary enforcement: Future broker requirements explicitly require loopback, Host-header, method, missing-key, invalid-base, and provider-failure tests (`docs/local-voice-setup.md`).

***

### Task T011 - Add Phase 38 Session 06 changelog entry

**Started**: 2026-06-29 23:25 **Completed**: 2026-06-29 23:26 **Duration**: 1 minute

**Notes**:

* Added a top-of-date changelog section for Phase 38 Session 06.
* Covered adopted legal posture, docs alignment, Hermes catalog/default policy, model test coverage, and evidence recorded for Session 10 reconciliation.

**Files Changed**:

* `docs/CHANGELOG.md` - Added Phase 38 Session 06 entry.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T011 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T011 complete and updated progress summary.

**Verification**:

* Command/check: `sed -n '1,42p' docs/CHANGELOG.md`
  * Result: PASS - New Session 06 entry appears at the top of the current date section.
  * Evidence: Entry describes policy, docs, catalog, tests, and evidence work.
* Command/check: `rg -n "Session 06|SEE LICENSE IN LICENSE|gpt-5.5|webp-file-type-art|Session 10|voice and Intelligence" docs/CHANGELOG.md`
  * Result: PASS - Required changelog topics are present.
  * Evidence: Matches include Session 06 heading, package license string, default model, missing script evidence, Session 10 reconciliation, and Session 08/09 voice/Intelligence ownership.
* Command/check: `perl -ne 'print "$ARGV:$.:$_" if /[^\x00-\x7F]/' docs/CHANGELOG.md`
  * Result: PASS - Changelog remains ASCII-only.
  * Evidence: Command returned no non-ASCII matches.
* Command/check: `rg -n "127\\.0\\.0\\.1:17873|/api/install|/api/aggregate|/api/dream-now|voice-lab|bun run voice|OPENAI_BASE_URL|gpt-realtime" docs/CHANGELOG.md || true`
  * Result: PASS - Changelog entry avoids removed endpoints and future voice implementation strings.
  * Evidence: Command returned no matches.
* UI product-surface check: N/A - Changelog documentation only; no rendered app surface changed.
* UI craft check: N/A - Changelog documentation only; no UI changed.

**BQC Fixes**:

* Product surface discipline: Changelog describes voice and Intelligence as not-yet-shipped ownership rather than shipped product behavior (`docs/CHANGELOG.md`).

***

### Task T010 - Update agent guidance

**Started**: 2026-06-29 23:23 **Completed**: 2026-06-29 23:25 **Duration**: 2 minutes

**Notes**:

* Replaced sparse root agent guidance with current AI OS command, local control-plane, privacy, naming, and implementation rules.
* Confirmed `CLAUDE.md` and `GEMINI.md` remain symlinks to `AGENTS.md`, so they inherit the updated guidance.
* Avoided stale voice broker commands and removed upstream endpoint names.

**Files Changed**:

* `AGENTS.md` - Added docs pointers, common commands, endpoint boundaries, privacy/secret rules, compatibility naming, and implementation rules.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T010 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T010 complete and updated progress summary.

**Verification**:

* Command/check: `ls -l AGENTS.md CLAUDE.md GEMINI.md && readlink CLAUDE.md && readlink GEMINI.md`
  * Result: PASS - Agent symlink inheritance preserved.
  * Evidence: `CLAUDE.md -> AGENTS.md` and `GEMINI.md -> AGENTS.md`.
* Command/check: `rg -n "Common Commands|/__live-data|/__token|/__refresh_data|/__run_dream|/__hermes_\\*|Session 08|Session 09|VITE_CLAUDE_OS|CLAUDE_OS|FINDTREND|findtrend|Privacy And Secrets" AGENTS.md`
  * Result: PASS - Required command, endpoint, privacy, and compatibility guidance is present.
  * Evidence: Matches found for commands, current endpoint families, Session 08/09 ownership, compatibility env names, and privacy section.
* Command/check: `perl -ne 'print "$ARGV:$.:$_" if /[^\x00-\x7F]/' AGENTS.md`
  * Result: PASS - AGENTS.md is ASCII-only.
  * Evidence: Command returned no non-ASCII matches.
* Command/check: `rg -n "voice-lab|bun run voice|OPENAI_BASE_URL|gpt-realtime|127\\.0\\.0\\.1:17873|/api/install|/api/aggregate|/api/dream-now" AGENTS.md || true`
  * Result: PASS - AGENTS.md avoids stale voice commands and removed upstream endpoints.
  * Evidence: Command returned no matches.
* UI product-surface check: N/A - Agent guidance documentation only; no rendered surface changed.
* UI craft check: N/A - Agent guidance documentation only; no UI changed.

**BQC Fixes**:

* Product surface discipline: Agent guidance now instructs future agents not to document voice broker, Intelligence portal, or Dream engine-selection behavior unless matching code and tests exist (`AGENTS.md`).

***

### Task T009 - Update README current-state setup, endpoint, privacy, and license language

**Started**: 2026-06-29 23:21 **Completed**: 2026-06-29 23:23 **Duration**: 2 minutes

**Notes**:

* Added Windows/platform setup notes that match current Bun/dev behavior and scheduler platform boundaries.
* Documented current local control-plane endpoint families without reintroducing removed upstream endpoint names.
* Clarified Hermes model catalog default preservation and current voice/Intelligence deferral to Sessions 08 and 09.
* Updated README package-license wording to `SEE LICENSE IN LICENSE`.

**Files Changed**:

* `README.md` - Added Windows/platform notes, local endpoint boundary table, Hermes catalog/default note, voice/Intelligence current-state note, docs links, and license metadata alignment.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T009 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T009 complete and updated progress summary.

**Verification**:

* Command/check: `rg -n "127\\.0\\.0\\.1:17873|/api/install|/api/aggregate|/api/run-fix|/api/dream-now|UNLICENSED|voice-lab|bun run voice|OPENAI_BASE_URL|gpt-realtime" README.md || true`
  * Result: PASS - README avoids removed endpoints, stale package metadata, and future voice implementation overclaims.
  * Evidence: Command returned no matches.
* Command/check: `rg -n "/__live-data|/__token|/__refresh_data|/__run_dream|/__hermes_\\*|SEE LICENSE IN LICENSE|Windows And Platform Notes|Local Voice Setup|Intelligence View|gpt-5.5|Session 08|Session 09" README.md`
  * Result: PASS - Current-state additions are present.
  * Evidence: Matches found for Windows notes, current endpoint families, model default preservation, voice/Intelligence docs, Session 08/09 ownership, and `SEE LICENSE IN LICENSE`.
* Command/check: `perl -ne 'print "$ARGV:$.:$_" if /[^\x00-\x7F]/' README.md`
  * Result: PASS - README remains ASCII-only after edits.
  * Evidence: Command returned no non-ASCII matches.
* Command/check: `git diff -- README.md | sed -n '1,260p'`
  * Result: PASS - Diff inspected for scoped README changes.
  * Evidence: Diff only covers setup/platform, endpoint/privacy boundary, Hermes catalog/deferral, docs links, and license metadata.
* UI product-surface check: N/A - Documentation task; no rendered app surface changed.
* UI craft check: N/A - Documentation task; no UI layout changed.

**BQC Fixes**:

* Product surface discipline: README now explicitly states voice broker and full Intelligence portal are not shipped AI OS surfaces in this session, preventing future-session overclaims (`README.md`).

***

### Task T008 - Add baseline model catalog tests

**Started**: 2026-06-29 23:19 **Completed**: 2026-06-29 23:21 **Duration**: 2 minutes

**Notes**:

* Added bridge catalog assertions for upstream Claude entries while preserving `gpt-5.5` as configured default.
* Added model-helper coverage for Anthropic-prefixed and direct upstream Claude labels.
* Added session-scanner coverage for dotted and colon-prefixed Claude fallback pricing.
* Added Hermes component coverage that the expanded model options render in the persona selector without changing the selected default.

**Files Changed**:

* `scripts/lib/__tests__/hermes-dev-bridge.test.ts` - Added Anthropic catalog assertions.
* `scripts/lib/__tests__/model-helpers.test.ts` - Added normalized upstream Claude label coverage.
* `scripts/lib/__tests__/session-scanner.test.ts` - Added dotted and provider-prefixed Claude pricing fallback coverage.
* `src/components/hermes/__tests__/hermes-sections.test.tsx` - Expanded model fixture and added product-surface selector coverage.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T008 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T008 complete and updated progress summary.

**Verification**:

* Command/check: `bun run test -- scripts/lib/__tests__/hermes-dev-bridge.test.ts scripts/lib/__tests__/model-helpers.test.ts scripts/lib/__tests__/session-scanner.test.ts src/components/hermes/__tests__/hermes-sections.test.tsx`
  * Result: PASS - Baseline catalog tests pass.
  * Evidence: 4 test files passed; 192 tests passed.
* UI product-surface check: PASS - `HermesPantheon` component test inspects the default model selector and verifies `openai/gpt-5.5 (configured)` plus upstream Claude options are present without changing the selected default.
* UI craft check: PASS - Existing component rendering stays within the established select-control pattern; no layout or visible copy changes were introduced outside catalog options.

**BQC Fixes**:

* Contract alignment: Tests now lock bridge, utility, pricing, and component contracts around catalog expansion and default preservation (`scripts/lib/__tests__/hermes-dev-bridge.test.ts`, `scripts/lib/__tests__/model-helpers.test.ts`, `scripts/lib/__tests__/session-scanner.test.ts`, `src/components/hermes/__tests__/hermes-sections.test.tsx`).

***

### Task T007 - Update model label and pricing recognition

**Started**: 2026-06-29 23:18 **Completed**: 2026-06-29 23:19 **Duration**: 1 minute

**Notes**:

* Added Anthropic/Claude recognition to normalized model labels for upstream Claude model families.
* Preserved unsafe-label rejection for labels containing spaces or secret-like free text.
* Updated Claude pricing family extraction so provider-prefixed slugs such as `anthropic:claude-sonnet-4.6` still use existing family fallback pricing without adding unsafe exact-price rows.

**Files Changed**:

* `scripts/lib/model-helpers.ts` - Added known Anthropic model-family recognition and wired it into `normalizeModelLabel`.
* `scripts/lib/session-scanner.ts` - Extended Claude pricing family parsing to handle slash- and colon-prefixed provider slugs.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T007 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T007 complete and updated progress summary.

**Verification**:

* Command/check: `bun -e 'import { normalizeModelLabel } from "./scripts/lib/model-helpers.ts"; console.log(JSON.stringify([normalizeModelLabel("anthropic/claude-opus-4.8", "unknown"), normalizeModelLabel("claude-sonnet-4.6-20260601", "unknown"), normalizeModelLabel("anthropic:claude-haiku-4.5", "unknown"), normalizeModelLabel("claude-model with spaces", "anthropic")], null, 2));'`
  * Result: PASS - Upstream Claude labels normalize safely.
  * Evidence: Opus 4.8, Sonnet 4.6, and Haiku 4.5 normalize as known Anthropic labels; a label with spaces is rejected as `unsafe`.
* Command/check: `bun -e 'import { priceForModel, hasKnownModelPricing } from "./scripts/lib/session-scanner.ts"; console.log(JSON.stringify({dotted:priceForModel("claude-opus-4.8"), prefixed:priceForModel("anthropic:claude-sonnet-4.6"), openrouter:priceForModel("openrouter/anthropic/claude-haiku-4.5-preview"), unknown:priceForModel("anthropic:future-model"), known:hasKnownModelPricing("anthropic:claude-sonnet-4.6")}, null, 2));'`
  * Result: PASS - Pricing recognition remains family-based.
  * Evidence: Dotted Opus, colon-prefixed Sonnet, and OpenRouter-prefixed Haiku map to existing family fallback prices; unknown future model returns null.
* Command/check: `bun run test -- scripts/lib/__tests__/model-helpers.test.ts scripts/lib/__tests__/session-scanner.test.ts -t "Claude"`
  * Result: PASS - Focused Claude recognition tests pass.
  * Evidence: 2 test files passed; 18 tests passed and 67 skipped.
* UI product-surface check: N/A - Model utility task; no rendered surface changed.
* UI craft check: N/A - Model utility task; no UI layout changed.

**BQC Fixes**:

* Contract alignment: Claude labels now return the existing normalized model label shape and pricing still returns `null` for unknown non-Claude or unsupported models (`scripts/lib/model-helpers.ts`, `scripts/lib/session-scanner.ts`).

***

### Task T006 - Define Hermes model catalog adaptation

**Started**: 2026-06-29 23:17 **Completed**: 2026-06-29 23:18 **Duration**: 1 minute

**Notes**:

* Added upstream Claude model names to the browser-safe Hermes bridge catalog as labels only.
* Preserved `openai` / `gpt-5.5` as the first bridge catalog option and the configured demo default.
* Added demo Anthropic catalog entries so fixtures can render upstream options without replacing current AI OS defaults.

**Files Changed**:

* `scripts/lib/hermes-dev-bridge.ts` - Added `claude-opus-4.8` and `claude-sonnet-4.6` to the Anthropic catalog while retaining existing entries.
* `src/lib/hermes-demo-data.ts` - Added a demo Anthropic catalog group with upstream Claude names; preserved `configuredDefault` as `openai` / `gpt-5.5`.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T006 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T006 complete and updated progress summary.

**Verification**:

* Command/check: `bun -e 'import { HERMES_MODEL_CATALOG } from "./scripts/lib/hermes-dev-bridge.ts"; import { HERMES_DEMO_MODELS } from "./src/lib/hermes-demo-data.ts"; console.log(JSON.stringify({bridgeDefault:HERMES_MODEL_CATALOG.find((g)=>g.provider==="openai")?.models[0], bridgeAnthropic:HERMES_MODEL_CATALOG.find((g)=>g.provider==="anthropic")?.models.map((m)=>m.name), demoDefault:HERMES_DEMO_MODELS.configuredDefault, demoAnthropic:HERMES_DEMO_MODELS.catalog.find((g)=>g.provider==="anthropic")?.models.map((m)=>m.name)}));'`
  * Result: PASS - Catalog adaptation preserves defaults and exposes upstream labels.
  * Evidence: Bridge default is `gpt-5.5`; demo default is `openai` / `gpt-5.5`; bridge Anthropic entries include `claude-opus-4.8` and `claude-sonnet-4.6`; demo Anthropic entries include `claude-opus-4.8`, `claude-sonnet-4.6`, and `claude-haiku-4.5`.
* Command/check: `bun test scripts/lib/__tests__/hermes-dev-bridge.test.ts -t "reads status and models from config without network calls"`
  * Result: FAIL - Direct Bun test invocation treated the path as a filter.
  * Evidence: Bun reported the path filter did not match test files and instructed using a path or project test command.
* Command/check: `bun run test -- scripts/lib/__tests__/hermes-dev-bridge.test.ts -t "reads status and models from config without network calls"`
  * Result: PASS - Focused Hermes bridge model test passes through the repo Vitest command.
  * Evidence: 1 test file passed, 1 test passed, 16 skipped.
* UI product-surface check: N/A - Catalog data task only; rendered Hermes surface tests run later in T017.
* UI craft check: N/A - Catalog data task only; no UI layout changed.

**BQC Fixes**:

* Contract alignment: Preserved the existing `HermesModelEntry` shape and avoided adding availability fields that UI consumers do not currently understand (`scripts/lib/hermes-dev-bridge.ts`, `src/lib/hermes-demo-data.ts`).

***

### Task T005 - Adopt resolved upstream license posture

**Started**: 2026-06-29 23:14 **Completed**: 2026-06-29 23:17 **Duration**: 3 minutes

**Notes**:

* Rewrote root legal files as ASCII-only project legal metadata.
* Adopted the resolved restrictive posture in AI OS terms: no redistribution, resale, repackaging, hosted/SaaS provision, community-gated access, notice removal, or unauthorized third-party access.
* Preserved AI OS closed-source ownership, upstream Claude OS attribution, Jack Roberts attribution requirement, and third-party notice boundaries.
* Updated package metadata from `UNLICENSED` to `SEE LICENSE IN LICENSE`.

**Files Changed**:

* `LICENSE` - Replaced prior proprietary text with restrictive AI OS proprietary license plus upstream attribution, termination, enforcement, commercial-license, reservation-of-rights, and warranty sections.
* `NOTICE` - Replaced prior notice with ASCII third-party/upstream scope sections covering Claude OS, Hermes Agent, Anthropic, other agent integrations, brand marks, generated artwork, local-only data, and skills.
* `package.json` - Set license metadata to `SEE LICENSE IN LICENSE`.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T005 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T005 complete and updated progress summary.

**Verification**:

* Command/check: `bun -e 'const p=require("./package.json"); console.log(p.license)'`
  * Result: PASS - Package license metadata matches adopted posture.
  * Evidence: Output was `SEE LICENSE IN LICENSE`.
* Command/check: `perl -ne 'print "$ARGV:$.:$_" if /[^\x00-\x7F]/' LICENSE NOTICE package.json`
  * Result: PASS - Touched legal/package metadata is ASCII-only.
  * Evidence: Command returned no non-ASCII matches.
* Command/check: `rg -n "SEE LICENSE IN LICENSE|UNLICENSED|not open source|redistribution|community-gated|Claude OS by Jack Roberts" LICENSE NOTICE package.json README.md`
  * Result: PASS - Legal terms and remaining README metadata mismatch identified.
  * Evidence: LICENSE/NOTICE/package contain the new restrictive posture; README still references `UNLICENSED` and will be fixed in T009.
* Command/check: `file LICENSE NOTICE package.json`
  * Result: PASS - Legal files are plain ASCII text and package metadata remains JSON text.
  * Evidence: `LICENSE: ASCII text`, `NOTICE: ASCII text`, `package.json: JSON text data`.
* UI product-surface check: N/A - Legal metadata task; no rendered surface changed.
* UI craft check: N/A - Legal metadata task; no UI changed.

**BQC Fixes**:

* N/A - Legal metadata task; no application code changed.

***

### Task T003 - Verify executable-bit state and missing script disposition

**Started**: 2026-06-29 23:12 **Completed**: 2026-06-29 23:13 **Duration**: 1 minute

**Notes**:

* Verified local tracked mode state for upstream mode-change paths.
* Confirmed `.githooks/pre-commit`, `scripts/graph-to-dashboard.sh`, and `scripts/setup-graphify-brain.sh` are already tracked as executable.
* Confirmed `scripts/webp-file-type-art.sh` is not present or tracked in AI OS; disposition is to record this for Session 10 reconciliation and not reintroduce an unused upstream script during this docs/catalog session.

**Files Changed**:

* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T003 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T003 complete and updated progress summary.

**Verification**:

* Command/check: `git ls-files -s -- .githooks/pre-commit scripts/graph-to-dashboard.sh scripts/setup-graphify-brain.sh scripts/webp-file-type-art.sh`
  * Result: PASS - Existing tracked executable paths are executable and missing script is untracked.
  * Evidence: Output lists `100755` for `.githooks/pre-commit`, `scripts/graph-to-dashboard.sh`, and `scripts/setup-graphify-brain.sh`; no entry exists for `scripts/webp-file-type-art.sh`.
* Command/check: `ls -l .githooks/pre-commit scripts/graph-to-dashboard.sh scripts/setup-graphify-brain.sh scripts/webp-file-type-art.sh 2>&1`
  * Result: PASS - Filesystem mode and missing path confirmed.
  * Evidence: Three files show executable mode; `ls` reports `scripts/webp-file-type-art.sh` does not exist.
* Command/check: `sed -n '1,120p' /home/aiwithapex/projects/claudeos/claude-os-v2.7_to_v2.8.1.summary.txt`
  * Result: PASS - Upstream mode-change list reviewed.
  * Evidence: Upstream summary lists mode changes for `.githooks/pre-commit`, `scripts/graph-to-dashboard.sh`, `scripts/setup-graphify-brain.sh`, and `scripts/webp-file-type-art.sh`.
* UI product-surface check: N/A - Executable-mode audit only; no rendered surface changed.
* UI craft check: N/A - Executable-mode audit only; no UI changed.

**BQC Fixes**:

* N/A - Audit-only setup task; no application code changed.

***

### Task T002 - Audit current documentation for stale claims

**Started**: 2026-06-29 23:10 **Completed**: 2026-06-29 23:12 **Duration**: 2 minutes

**Notes**:

* Audited README, AGENTS, and docs for removed upstream endpoint strings, future-session voice/Intelligence claims, inherited storage names, and contradictory license wording.
* Found no references to removed upstream endpoint strings in README, AGENTS, or docs.
* Identified docs that must be updated in later tasks: README license metadata currently says `UNLICENSED`, AGENTS is still a sparse pointer, and voice/Intelligence current-state docs do not exist yet.
* Confirmed legacy `~/.claude-os/dreams`, `CLAUDE_OS_*`, and `findtrend` references are compatibility notes in current docs rather than new product identity, but follow-up docs should prefer AI OS names for new behavior.

**Files Changed**:

* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T002 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T002 complete and updated progress summary.

**Verification**:

* Command/check: `rg -n "127\\.0\\.0\\.1:17873|/api/install|/api/aggregate|/api/run-fix|/api/dream-now" README.md AGENTS.md docs || true`
  * Result: PASS - Removed upstream endpoint strings are absent from current docs.
  * Evidence: Command returned no matches.
* Command/check: `rg -n "UNLICENSED|SEE LICENSE IN LICENSE|not open source|open source|Proprietary|closed-source" README.md AGENTS.md docs LICENSE NOTICE package.json`
  * Result: PASS - License wording targets identified.
  * Evidence: `package.json` and README still reference `UNLICENSED`; LICENSE/NOTICE describe the proprietary closed-source posture.
* Command/check: `rg -n "claude-os|Claude OS|~/.claude-os|CLAUDE_OS|findtrend|open source|opensource|MIT|Apache|GPL|UNLICENSED|SEE LICENSE IN LICENSE|Proprietary|closed-source" README.md AGENTS.md docs LICENSE NOTICE package.json`
  * Result: PASS - Compatibility naming and license references reviewed.
  * Evidence: Matches are concentrated in compatibility docs, inherited attribution, existing license text, env-var docs, research/license notes, and README license metadata.
* Command/check: `sed -n '1,260p' docs/onboarding.md`, `sed -n '120,330p' docs/development.md`, and `sed -n '1,260p' docs/runbooks/ai-os-dream.md`
  * Result: PASS - Primary setup/development/Dream docs reviewed for later edits.
  * Evidence: Docs describe current AI OS endpoints and scheduler behavior; Dream runbook keeps legacy `~/.claude-os/dreams` only as a read fallback.
* UI product-surface check: N/A - Documentation audit only; no rendered surface changed.
* UI craft check: N/A - Documentation audit only; no UI changed.

**BQC Fixes**:

* N/A - Audit-only setup task; no application code changed.

***

## Evidence Registers

### Docs Sweep Register

| Check                             | Status                | Evidence                                                                                                                                         |
| --------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Removed upstream endpoints        | Initial pass complete | No matches for `127.0.0.1:17873`, `/api/install`, `/api/aggregate`, `/api/run-fix`, or `/api/dream-now` in `README.md`, `AGENTS.md`, or `docs/`. |
| Voice and Intelligence overclaims | Initial pass complete | Existing docs do not ship dedicated voice or Intelligence guidance yet; new docs must state Session 08 and Session 09 ownership.                 |
| Stale storage names               | Initial pass complete | Legacy `~/.claude-os`, `CLAUDE_OS_*`, and `findtrend` references are currently documented as compatibility surfaces.                             |
| License wording                   | Initial pass complete | README and package metadata still say `UNLICENSED`; Session 06 will update package metadata to `SEE LICENSE IN LICENSE` and align README text.   |

### Executable Mode Register

| Path                              | AI OS State       | Disposition                                                                            |
| --------------------------------- | ----------------- | -------------------------------------------------------------------------------------- |
| `.githooks/pre-commit`            | Tracked `100755`  | Already matches executable posture.                                                    |
| `scripts/graph-to-dashboard.sh`   | Tracked `100755`  | Already matches executable posture.                                                    |
| `scripts/setup-graphify-brain.sh` | Tracked `100755`  | Already matches executable posture.                                                    |
| `scripts/webp-file-type-art.sh`   | Missing/untracked | Record for Session 10 reconciliation; do not add unused upstream script in Session 06. |

### Model Catalog Policy Register

| Policy                | Disposition                                                                                                                        |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| AI OS default         | Preserve `openai` / `gpt-5.5` as configured and demo default.                                                                      |
| Upstream Claude names | Add only as browser-safe catalog/fixture labels with no secrets, auth hints, or unsafe pricing claims.                             |
| Provider readiness    | Catalog entries remain labels, providers, and tiers; active availability still depends on Hermes provider readiness/config.        |
| Pricing recognition   | Add or preserve Claude-family recognition only where fallback pricing is family-based and does not claim unverified exact pricing. |

### Launch Target Register

| Target      | Disposition                                                                                                  |
| ----------- | ------------------------------------------------------------------------------------------------------------ |
| `ai-os`     | Keep runnable dev launch target on port 5189.                                                                |
| `voice-lab` | Do not add in Session 06. Session 08 owns broker support, package script, launch target, and security tests. |

***

### Task T001 - Verify upstream hunks against AI OS targets

**Started**: 2026-06-29 23:09 **Completed**: 2026-06-29 23:10 **Duration**: 1 minute

**Notes**:

* Compared upstream v2.8.1 legal, README, CLAUDE, changelog, voice setup, Intelligence, launch target, and model-catalog changes against AI OS targets.
* Recorded the adaptation policy: adopt the restrictive license posture and package license string, adapt docs to AI OS endpoints and shipped behavior, keep `.claude/launch.json` free of the upstream `voice-lab` target until Session 08, and preserve `gpt-5.5` as the AI OS Hermes default while adding upstream Claude names only as catalog options.
* Confirmed the upstream findings report identifies stale sidecar/API docs and voice overclaims, so AI OS docs must not copy upstream docs verbatim.

**Files Changed**:

* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added T001 evidence.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T001 complete and added progress summary.

**Verification**:

* Command/check: `sed -n '1,240p' /home/aiwithapex/projects/claudeos/claude-os-v2.8.1/LICENSE`
  * Result: PASS - Upstream restrictive license posture reviewed.
  * Evidence: License adds attribution, anti-redistribution, community-gating, termination, enforcement, commercial-license, reservation-of-rights, and governing-law terms.
* Command/check: `sed -n '1,220p' /home/aiwithapex/projects/claudeos/claude-os-v2.8.1/package.json`
  * Result: PASS - Upstream package license metadata reviewed.
  * Evidence: Upstream package declares `"license": "SEE LICENSE IN LICENSE"` and adds a voice script that AI OS must not adopt until Session 08.
* Command/check: `sed -n '1,240p' /home/aiwithapex/projects/claudeos/claude-os-v2.8.1/README.md` and `sed -n '1,220p' /home/aiwithapex/projects/claudeos/claude-os-v2.8.1/CLAUDE.md`
  * Result: PASS - Upstream README and agent guidance reviewed.
  * Evidence: Files include Windows, Dream, voice, and privacy updates but retain Claude OS ports, sidecar claims, and voice behavior that require AI OS-specific adaptation.
* Command/check: `sed -n '1,220p' /home/aiwithapex/projects/claudeos/claude-os-v2.8.1/.claude/launch.json`
  * Result: PASS - Upstream launch target reviewed.
  * Evidence: Upstream adds `voice-lab`; local AI OS `.claude/launch.json` currently has only the runnable `ai-os` dev target on port 5189.
* Command/check: `rg -n "LICENSE|NOTICE|README|CLAUDE|CHANGELOG|local-voice|intelligence|launch.json|voice-lab|model|fable|mythos|opus|sonnet|haiku|webp-file-type-art" /home/aiwithapex/projects/claudeos/claude-os-v2.7_to_v2.8.1.full.patch | sed -n '1,240p'`
  * Result: PASS - Relevant upstream hunks located.
  * Evidence: Patch hits legal/package docs, voice docs, launch target, `claude-opus-4.8`, `claude-sonnet-4.6`, `claude-haiku-4.5`, and mode-change paths.
* UI product-surface check: N/A - Audit-only setup task; no rendered surface changed.
* UI craft check: N/A - Audit-only setup task; no UI changed.

**BQC Fixes**:

* N/A - Audit-only setup task; no application code changed.

***

### Task T004 - Create implementation evidence file

**Started**: 2026-06-29 23:13 **Completed**: 2026-06-29 23:14 **Duration**: 1 minute

**Notes**:

* Created and structured the implementation evidence file required by the workflow and Session 06 scope.
* Added registers for docs sweeps, executable modes, model catalog policy, and launch-target disposition so later tasks and Session 10 reconciliation have a stable evidence target.

**Files Changed**:

* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md` - Added evidence registers.
* `.spec_system/specs/phase38-session06-policy-docs-and-catalogs/tasks.md` - Marked T004 complete and updated progress summary.

**Verification**:

* Command/check: `test -f .spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md && rg -n "Docs Sweep Register|Executable Mode Register|Model Catalog Policy Register|Launch Target Register" .spec_system/specs/phase38-session06-policy-docs-and-catalogs/implementation-notes.md`
  * Result: PASS - Evidence file exists with required registers.
  * Evidence: Registers cover docs sweeps, executable modes, catalog policy, and launch-target disposition.
* UI product-surface check: N/A - Spec evidence artifact only; no rendered surface changed.
* UI craft check: N/A - Spec evidence artifact only; no UI changed.

**BQC Fixes**:

* N/A - Evidence artifact only; no application code changed.

***

## Task Log

### 2026-06-29 - Session Start

**Environment verified**:

* [x] Prerequisites confirmed
* [x] Tools available
* [x] Directory structure ready

**Verification**:

* Command/check: `if [ -d .spec_system/scripts ]; then bash .spec_system/scripts/analyze-project.sh --json; else bash /home/aiwithapex/.codex/plugins/cache/apex-spec-system/apex-spec/2.1.3-codex/skills/apex-spec/scripts/analyze-project.sh --json; fi`
  * Result: PASS - Active session resolved.
  * Evidence: Current session is `phase38-session06-policy-docs-and-catalogs`; session directory exists with `spec.md` and `tasks.md`.
* Command/check: `if [ -d .spec_system/scripts ]; then bash .spec_system/scripts/check-prereqs.sh --json --env; else bash /home/aiwithapex/.codex/plugins/cache/apex-spec-system/apex-spec/2.1.3-codex/skills/apex-spec/scripts/check-prereqs.sh --json --env; fi`
  * Result: PASS - Environment prerequisites confirmed.
  * Evidence: `.spec_system`, jq 1.7, and git 2.43.0 passed; workspace package check skipped because this is not a monorepo.
* Command/check: `if [ -d .spec_system/scripts ]; then bash .spec_system/scripts/check-prereqs.sh --json --tools "bun,rg,git"; else bash /home/aiwithapex/.codex/plugins/cache/apex-spec-system/apex-spec/2.1.3-codex/skills/apex-spec/scripts/check-prereqs.sh --json --tools "bun,rg,git"; fi`
  * Result: PASS - Required tools are available.
  * Evidence: Bun 1.3.14, ripgrep 15.1.0, and git 2.43.0 passed.

***


---

# 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/phase38-session06-policy-docs-and-catalogs/implementation-notes.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.
