> 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/phases/phase_04/media_gap_matrix.md).

# Phase 04 Media Gap Matrix

**Phase**: 04 - Media Catalog and Audio/Visual Pipeline **Session owner**: `phase04-session01-media-requirements-and-provenance-baseline` **Created**: 2026-05-29 **Status**: Session 01 baseline

***

## Purpose

This matrix routes current and planned FactionOS media work before any Phase 04 catalog schema, draft generation run, promotion script, browser audio runtime, public demo cache change, accessibility gate, or validation closeout is implemented.

The matrix is source-backed. Rows use current tracked files, stable docs, package READMEs, public demo docs, Phase 04 stubs, and quarantined historical evidence by path and conclusion only.

## Evidence Rules

* Current source, stable docs, tracked assets, package READMEs, and public demo docs outrank historical extraction files.
* `EXAMPLES/` may be cited only for standards, gaps, hashes, source-group names, and final disposition.
* Do not copy, transform, import, use as direct generation input, or ship `EXAMPLES/` files.
* Do not preserve raw prompts, token values, OAuth IDs, probe output, command bodies, sensitive local paths, old bundled code, or copied historical media in stable docs.
* Provider credentials in `.env.local` may be used only by local generation commands. Do not copy, print, commit, or summarize secret values, provider account IDs, raw command bodies, or sensitive prompt context.
* A media category is not release-ready until source, rights, attribution, optimization, metadata, size, browser support, fallback, accessibility, and product use are recorded.

## Media Taxonomy

| Category                | Definition                                                                                                                       | Primary owner                                                 |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| Runtime visual media    | Browser-loaded images used by the full app or public demo during normal product/demo execution.                                  | App package or public demo                                    |
| Generated references    | Durable PNG/JPG/WebP references used for visual review and regeneration context before optimized runtime promotion.              | `assets/`                                                     |
| Cross-surface media     | Media intentionally shared by docs, README, full app, and public demo surfaces.                                                  | `assets/` plus consuming surface                              |
| Brand media             | Logos and app identity files, including install and favicon variants.                                                            | `assets/brand/`, app public dirs, public demo                 |
| Showcase media          | Marketing or demonstration visuals used by README, docs, or public demo splash surfaces.                                         | `assets/showcase/`, public demo                               |
| Portrait media          | Faction or hero portraits used in roster/detail/demo cards.                                                                      | Owning app or public demo                                     |
| Battlefield media       | 2D board background and hero standee images.                                                                                     | `apps/web`, `public-demo`, `assets/battlefield-2d/reference/` |
| Speech media            | Short click, state, or character voice-line clips.                                                                               | `public-demo` today; `apps/web` only after catalog approval   |
| Music media             | Longer background tracks or loops.                                                                                               | `public-demo` today; `apps/web` only after catalog approval   |
| SFX and alerts          | Short non-voice UI or state-change sounds.                                                                                       | Planned                                                       |
| Optional video          | Posters, clips, capture loops, or demo videos.                                                                                   | Deferred or planned                                           |
| HUD art                 | Frames, cursors, buttons, panels, and decorative UI art.                                                                         | Planned or prototype-only                                     |
| Achievement art         | Achievement icons, medals, and trophy visuals.                                                                                   | Planned or prototype-only                                     |
| Prototype-only evidence | Historical or experimental files that can guide standards but cannot ship.                                                       | `EXAMPLES/` or ignored `tmp/`                                 |
| Rejected media          | Media that should not be promoted because it conflicts with source, rights, quality, privacy, performance, or product direction. | Matrix disposition                                            |
| Deferred media          | Media outside Phase 04 or current release scope.                                                                                 | Later phase or backlog                                        |

## Status And Disposition Vocabulary

| Disposition              | Meaning                                                                                                    |
| ------------------------ | ---------------------------------------------------------------------------------------------------------- |
| `approved`               | Current tracked media is approved for the named runtime or docs use.                                       |
| `conditionally_promoted` | Current or planned media may be used only while listed conditions remain true.                             |
| `needs_attribution`      | Source or rights are acceptable only after attribution text and placement are recorded.                    |
| `needs_replacement`      | Existing evidence or files should be replaced by owned, generated, or rights-cleared media before release. |
| `prototype_only`         | Useful for standards, taxonomy, or gap evidence but not runtime or release media.                          |
| `rejected`               | Do not use for product media. Keep only if needed for traceability until deletion gates close.             |
| `unknown`                | Provenance, rights, metadata, format, or product use is not known enough for release.                      |
| `planned`                | No current runtime asset; later Phase 04 session owns definition, generation, or creation.                 |
| `deferred`               | Not owned by Phase 04 MVP or blocked by a later phase decision.                                            |

## Risk Model

| Risk     | Criteria                                                                                                                                                                                            |
| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Low      | Current tracked file has documented source, product use, optimized runtime path, size, fallback behavior, and no known attribution or privacy blocker.                                              |
| Medium   | Current tracked file is useful but lacks complete catalog fields, attribution placement, metadata evidence, browser-support evidence, or automated budget coverage.                                 |
| High     | File or category has unknown provenance, unclear rights, missing attribution, oversized payload, missing fallback, service-worker risk, metadata risk, accessibility gap, or no catalog validation. |
| Critical | Direct `EXAMPLES/` promotion, raw sensitive data exposure, hosted transfer without consent, public replay/media hosting without scope, or media that requires credentials or private data.          |

## Owner Session Routing

| Owner  | Responsibility                                                                                                                          |
| ------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| S0401  | Baseline matrix, taxonomy, source evidence, risk, and deferral routing.                                                                 |
| S0402  | Typed catalog contracts, fixtures, validation helpers, and shared or app-local ownership.                                               |
| S0403  | Draft asset generation, provider provenance capture, redacted briefs, cost notes, and non-runtime handoff manifests.                    |
| S0404  | Visual promotion tooling, optimization, metadata stripping, path checks, docs checks, parity, and budgets.                              |
| S0405  | Full app browser audio runtime, settings, captions, visible equivalents, fallback states, and cleanup tests.                            |
| S0406  | Public demo media parity, service-worker cache, standalone behavior, gesture-compatible audio/music, and offline validation.            |
| S0407  | Accessibility, privacy, metadata, lazy-loading, size-budget, fallback, and release-blocker gates.                                       |
| S0408  | End-to-end Phase 04 validation, docs closeout, state updates, and future-phase handoff.                                                 |
| Future | Phase 05-08 work such as War Room federation, collaboration, hosted analytics, mobile certification, trusted erasure, and decommission. |

## Row Schema

Each matrix row must include:

* `ID`: Stable row id in the form `M04-###`.
* `Media group`: Human-readable group name.
* `Category`: One taxonomy category.
* `Current evidence`: Source-backed path, doc, script, or explicit absence.
* `Runtime owner`: Owning package or artifact, or `none`.
* `Current state`: `tracked`, `planned`, `prototype`, `quarantined`, `unknown`, or `absent`.
* `Owner session`: One or more owner session ids.
* `Risk`: Low, Medium, High, or Critical.
* `Release blockers`: Concise blocker list, or `none`.
* `Acceptance notes`: What must be true for the owner session to pass.
* `Final disposition`: One status vocabulary value.

## Inventory Baseline

| Group                            | Evidence                                                                                                        | Baseline conclusion                                                                                                   |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| Full app battlefield runtime     | `apps/web/public/battlefield/` and `docs/media-assets.md`                                                       | Six WebP files are approved runtime media and mirrored to public demo.                                                |
| Battlefield generated references | `assets/battlefield-2d/reference/`                                                                              | Six PNG files are approved regeneration references, not direct runtime files.                                         |
| Full app portraits               | `apps/web/public/portraits/` and `apps/web/src/data/factionStyles.ts`                                           | Five JPG portraits are app runtime media but need typed catalog records and provenance fields.                        |
| Public demo media                | `public-demo/assets/`, `public-demo/index.html`, `public-demo/sw.js`                                            | Demo has copied battlefield, portraits, showcase art, speech clips, music, icons, manifest, and service-worker rules. |
| Showcase media                   | `assets/showcase/`, `public-demo/assets/showcase/`                                                              | Tracked showcase visuals are approved for current docs/demo use but need catalog fields and attribution checks.       |
| Brand media                      | `assets/brand/`, `apps/web/public/favicon.svg`, `public-demo/icon-*.png`                                        | Tracked brand and icon media are current assets but need catalog fields and release checks.                           |
| Historical media                 | `EXAMPLES/`, `EXAMPLES/findings/asset-inventory.md`                                                             | Reference-only standards and gap evidence; no direct promotion.                                                       |
| Audio and music                  | `public-demo/assets/speech/`, `public-demo/assets/music/`, `apps/web/src/store/useVoiceBarks.ts`                | Demo has MP3 files; full app has synthetic voice synthesis and settings but not cataloged runtime clips.              |
| HUD and achievement art          | `EXAMPLES/package-0.4.1/frontend/dist/assets/gui/`, `EXAMPLES/package-0.4.1/frontend/dist/assets/achievements/` | Prototype-only evidence; owned replacements and cataloging required before use.                                       |

***

## Media Rows

### Visual Runtime, References, Brand, Portrait, And Showcase Media

| ID      | Media group                               | Current evidence                                                                                                                                                                      | Runtime owner             | Current state | Owner session                     | Risk   | Release blockers                                                                                       | Acceptance notes                                                                                                                                                                           | Final disposition        |
| ------- | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | ------------- | --------------------------------- | ------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------ |
| M04-001 | Battlefield background runtime            | `apps/web/public/battlefield/background.webp`, `public-demo/assets/battlefield/background.webp`, `assets/battlefield-2d/reference/background.png`, `docs/media-assets.md`             | `apps/web`, `public-demo` | tracked       | S0402, S0404, S0406, S0407, S0408 | Low    | Catalog fixture and metadata evidence pending                                                          | Catalog records must preserve current app/demo paths, 195,330 byte runtime size, 1672x941 dimensions, service-worker coverage, fallback behavior, and current approval record.             | `approved`               |
| M04-002 | Battlefield hero standee runtime set      | `apps/web/public/battlefield/heroes/*.webp`, `public-demo/assets/battlefield/heroes/*.webp`, `assets/battlefield-2d/reference/heroes/*.png`, `docs/media-assets.md`                   | `apps/web`, `public-demo` | tracked       | S0402, S0404, S0406, S0407, S0408 | Low    | Catalog fixture and metadata evidence pending                                                          | Catalog records must preserve five-faction runtime paths, app/demo byte parity, 473,028 byte total runtime size per surface, chroma-key source notes, and visible fallback requirements.   | `approved`               |
| M04-003 | Battlefield generated PNG reference set   | `assets/battlefield-2d/reference/`                                                                                                                                                    | `assets/`                 | tracked       | S0402, S0403, S0404, S0407, S0408 | Medium | Metadata and source prompt/provider fields are docs-only today                                         | Keep as regeneration references, not direct runtime files; catalog must distinguish reference dimensions and provider/brief provenance from optimized runtime outputs.                     | `conditionally_promoted` |
| M04-004 | App/demo battlefield parity gate          | `scripts/check-battlefield-assets.mjs`, `npm run battlefield:check`, `docs/battlefield.md`, `docs/media-assets.md`                                                                    | repository tooling        | tracked       | S0404, S0406, S0408               | Low    | Broader media categories are not covered by this gate yet                                              | Preserve the six-asset manifest, hash parity, byte budgets, service-worker coverage, workspace-import exclusion, and docs path checks; extend only after catalog ownership is explicit.    | `approved`               |
| M04-005 | Full app faction portraits                | `apps/web/public/portraits/*.jpg`, `apps/web/src/data/factionStyles.ts`, `apps/web/README_web.md`                                                                                     | `apps/web`                | tracked       | S0402, S0404, S0407, S0408        | Medium | Source, rights, attribution, dimensions, metadata, and fallback catalog fields pending                 | Add catalog records before expanding portrait use; verify source, optimization, accessible fallback, byte size, metadata, and browser support.                                             | `conditionally_promoted` |
| M04-006 | Public demo portrait copies               | `public-demo/assets/portraits/*.jpg`, `public-demo/index.html`, `public-demo/docs_public-demo/static-artifact.md`                                                                     | `public-demo`             | tracked       | S0402, S0406, S0407, S0408        | Medium | Source, rights, attribution, metadata, and cache policy fields pending                                 | Keep standalone demo copies aligned with app meaning; catalog or documented standalone exception must cover paths, byte sizes, fallback behavior, and service-worker policy.               | `conditionally_promoted` |
| M04-007 | Brand logo media                          | `assets/brand/factionos-logo.png`, `assets/brand/factionos-logo.webp`, `assets/brand/factionos-logo-square.png`, `assets/brand/factionos-logo-square.webp`, `assets/README_assets.md` | `assets/`                 | tracked       | S0402, S0404, S0407, S0408        | Medium | Source, rights, attribution, metadata, and size-budget fields pending                                  | Catalog must distinguish brand source files from runtime install icons and record optimized WebP variants, byte sizes, metadata state, and use surfaces.                                   | `conditionally_promoted` |
| M04-008 | App favicon and public demo install icons | `apps/web/public/favicon.svg`, `public-demo/icon-192.png`, `public-demo/icon-512.png`, `public-demo/icon-maskable-512.png`, `public-demo/manifest.webmanifest`                        | `apps/web`, `public-demo` | tracked       | S0402, S0404, S0406, S0407, S0408 | Medium | Source, rights, metadata, maskable-safe-area, and docs checks pending                                  | Catalog or manifest check must record icon sizes, browser/PWA use, fallback behavior, cache policy, and whether icons derive from approved brand media.                                    | `conditionally_promoted` |
| M04-009 | Cross-surface showcase media              | `assets/showcase/factionos-strip.webp`, `assets/showcase/factionos-strip-cover.jpg`, `assets/showcase/heroes-banner.jpg`, `assets/showcase/strip-frames/*.jpg`                        | `assets/`                 | tracked       | S0402, S0404, S0407, S0408        | Medium | Source, rights, attribution, metadata, dimensions, and current use map pending                         | Catalog must record whether each file is README/docs/demo showcase media, not app runtime state; size, optimization, metadata, and attribution fields are required before expansion.       | `conditionally_promoted` |
| M04-010 | Public demo showcase banner copy          | `public-demo/assets/showcase/heroes-banner.jpg`, `public-demo/index.html`, `public-demo/sw.js`                                                                                        | `public-demo`             | tracked       | S0402, S0406, S0407, S0408        | Medium | Source, attribution, metadata, cache policy, and app/showcase source mapping pending                   | Keep path relative and standalone; service worker policy must stay explicit and cache version must change when the precache list or forced shell content changes.                          | `conditionally_promoted` |
| M04-011 | Future generated visual additions         | Phase 04 stubs, `docs/media-assets.md`, `assets/README_assets.md`                                                                                                                     | none yet                  | planned       | S0402, S0403, S0404, S0407, S0408 | High   | No source, rights, prompt/brief, attribution, optimized output, fallback, or size budget until created | New generated images must start as written briefs, produce ignored drafts, get reviewed references, receive optimized runtime copies, and pass catalog/promotion gates before runtime use. | `planned`                |

### Audio, Music, SFX, Celebration, And Optional Video Media

| ID      | Media group                                | Current evidence                                                                                                                                                 | Runtime owner | Current state                | Owner session                            | Risk                          | Release blockers                                                                                                | Acceptance notes                                                                                                                                                                                                                                          | Final disposition        |
| ------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ---------------------------- | ---------------------------------------- | ----------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| M04-012 | Public demo human click speech clips       | `public-demo/assets/speech/*.mp3`, `public-demo/index.html`, `public-demo/README_public-demo.md`                                                                 | `public-demo` | tracked                      | S0402, S0403, S0406, S0407, S0408        | High                          | Source, rights, attribution, loudness, duration, metadata, and catalog fields pending                           | Record four current MP3 paths, 217,079 byte total size, click-only human Engineer scope, gesture behavior, visible fallback, metadata cleanup, and standalone artifact ownership; draft replacements need provider provenance before use.                 | `conditionally_promoted` |
| M04-013 | Public demo background music playlist      | `public-demo/assets/music/*.mp3`, `public-demo/index.html`, `public-demo/docs_public-demo/architecture.md`                                                       | `public-demo` | tracked                      | S0402, S0403, S0406, S0407, S0408        | High                          | Source, rights, attribution, metadata, duration, loudness, loop/edit decisions, and size budget pending         | Record six current MP3 paths, 24,895,254 byte total size, explicit playlist order, lazy-loading policy, non-precache decision, gesture-compatible start, stop/resume state, and failure behavior; draft replacements need provider provenance before use. | `conditionally_promoted` |
| M04-014 | Full app synthetic voice bark runtime      | `apps/web/src/store/useVoiceBarks.ts`, `apps/web/src/lib/voiceSynth.ts`, `apps/web/src/store/useSettingsStore.ts`, `apps/web/README_web.md`                      | `apps/web`    | tracked code, no media files | S0405, S0407, S0408                      | Medium                        | Cataloged media files are absent; settings default and opt-in policy require review before adding file playback | Preserve current settings, gesture unlock, and visible UI state; if file-backed audio is added, it must use cataloged records and cleanup tests.                                                                                                          | `planned`                |
| M04-015 | Future full-app voice-line clips           | Phase 04 Session 05 stub, `docs/media-assets.md`, `EXAMPLES/findings/asset-inventory.md` as gap evidence only                                                    | none yet      | planned                      | S0402, S0403, S0404, S0405, S0407, S0408 | High                          | No approved files, source, rights, attribution, catalog records, duration, metadata, captions, or fallback      | Use written briefs and rights-cleared or generated replacements; do not copy, upload, or transform legacy MP3s; captions or visible equivalents are required.                                                                                             | `planned`                |
| M04-016 | UI alerts and SFX                          | Phase 04 Session 05 stub, `docs/media-assets.md`, legacy alert-like MP3 names as evidence only                                                                   | none yet      | planned                      | S0402, S0403, S0404, S0405, S0407, S0408 | High                          | No approved files, catalog records, source, rights, loudness, metadata, or accessible equivalents               | Define event mapping, opt-in behavior, cooldown/duplicate guards, captions or visible equivalents, and failed-load state before runtime use.                                                                                                              | `planned`                |
| M04-017 | Achievement and celebration audio          | `apps/web` achievement burst code, `public-demo` achievements, legacy `celebration.mp3` evidence only                                                            | none yet      | planned                      | S0402, S0403, S0404, S0405, S0407, S0408 | High                          | No approved files, source, rights, metadata, captions, reduced-motion/audio interaction, or size budget         | Audio cannot become the only achievement signal; visual trophy/toast state must remain authoritative and audio must clean up on unmount or completion.                                                                                                    | `planned`                |
| M04-018 | Optional video, posters, and capture loops | No current tracked runtime video files; Phase 04 and release docs mention optional video only as a future category                                               | none          | absent                       | S0402, S0403, S0404, S0407, S0408        | High                          | No product use, source, rights, posters, codecs, captions, metadata, lazy-loading, or size budget               | Defer until a concrete product use exists; require poster/fallback, captions when speech/text appears, codec support, and budget gates before promotion.                                                                                                  | `deferred`               |
| M04-019 | Legacy speech MP3s in historical package   | `EXAMPLES/package-0.4.1/frontend/dist/assets/speech/`, `EXAMPLES/findings/asset-inventory.md`, `docs/media-assets.md`                                            | none          | quarantined                  | S0401, S0402, S0403, S0405, S0407, S0408 | Critical if promoted directly | Unknown rights, attribution, provider, metadata, loudness, and direct promotion ban                             | May inform event taxonomy and gap notes only; future product audio must be owned, generated, recorded, or rights-cleared replacements without using legacy MP3s as provider input.                                                                        | `prototype_only`         |
| M04-020 | Historical song-like bark evidence         | `EXAMPLES/package-0.4.1/frontend/dist/assets/speech/done_song.mp3`, `EXAMPLES/package-0.4.1/frontend/dist/assets/speech/prompt_sing.mp3`, `docs/media-assets.md` | none          | quarantined                  | S0401, S0402, S0403, S0405, S0407, S0408 | Critical if promoted directly | Not evidence of a current looped music system; unknown source, rights, metadata, and direct promotion ban       | Treat as voice-line taxonomy evidence only; full app music needs separate briefs, controls, loop decisions, and size budgets.                                                                                                                             | `prototype_only`         |

### HUD, Achievements, Icons, Prototype Evidence, Unknowns, And Deferrals

| ID      | Media group                                                                  | Current evidence                                                                                                                                   | Runtime owner             | Current state                            | Owner session                            | Risk                          | Release blockers                                                                                                                                    | Acceptance notes                                                                                                                                                      | Final disposition   |
| ------- | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | ---------------------------------------- | ---------------------------------------- | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
| M04-021 | Current cockpit HUD and chrome                                               | `apps/web/src/index.css`, `apps/web/src/components/`, `apps/web/README_web.md`                                                                     | `apps/web`                | tracked code, no HUD image files         | S0402, S0404, S0407, S0408               | Low                           | N/A for current CSS/DOM treatment                                                                                                                   | Keep current HUD state as DOM/CSS unless a later spec approves image-based HUD art with catalog records, accessibility checks, and size budgets.                      | `approved`          |
| M04-022 | Historical HUD frames, buttons, dropdowns, and cursors                       | `EXAMPLES/package-0.4.1/frontend/dist/assets/gui/`, `EXAMPLES/package-0.4.1/frontend/dist/assets/cursors/`, `EXAMPLES/findings/asset-inventory.md` | none                      | quarantined                              | S0401, S0402, S0403, S0404, S0407, S0408 | Critical if promoted directly | Unknown source, rights, attribution, metadata, optimization, size impact, and direct promotion ban                                                  | May inform style standards only; owned replacements must be generated or created from written briefs and pass catalog/promotion gates.                                | `prototype_only`    |
| M04-023 | Current achievement visual treatment                                         | `apps/web/src/components/battlefield/achievementCelebration.ts`, `apps/web/src/index.css`, public demo achievements in `public-demo/index.html`    | `apps/web`, `public-demo` | tracked code, no achievement image files | S0402, S0405, S0407, S0408               | Low                           | N/A for current CSS/DOM treatment                                                                                                                   | Keep current trophy/toast/burst visuals understandable without media; any future icon art must be cataloged and keep text equivalents.                                | `approved`          |
| M04-024 | Historical achievement icon set                                              | `EXAMPLES/package-0.4.1/frontend/dist/assets/achievements/icons/`, `EXAMPLES/findings/asset-inventory.md`                                          | none                      | quarantined                              | S0401, S0402, S0403, S0404, S0407, S0408 | Critical if promoted directly | Unknown source, rights, attribution, metadata, optimization, and direct promotion ban                                                               | Use only for standards and gap analysis; owned replacement icons need catalog records, alt/label decisions, metadata cleanup, and size budgets.                       | `prototype_only`    |
| M04-025 | Historical provider, IDE, and service icons                                  | `EXAMPLES/package-0.4.1/frontend/dist/assets/gui/icons/`, `docs/legacy-consolidation.md`                                                           | none                      | quarantined                              | S0401, S0402, S0404, S0407, S0408        | High                          | Third-party marks and unclear rights; direct promotion ban                                                                                          | Prefer maintained icon libraries, official allowed brand assets, or text labels; do not copy historical icon files into current runtime paths.                        | `needs_replacement` |
| M04-026 | Historical 3D models, buildings, textures, trees, rocks, and animation files | `EXAMPLES/package-0.4.1/frontend/dist/assets/characters/`, `buildings/`, `textures/`, `trees/`, `rocks/`, `animations/`, `docs/battlefield-3d.md`  | none                      | quarantined                              | S0401, S0402, S0404, S0407, S0408        | Critical if promoted directly | Unknown source, rights, attribution, metadata, large size, unsupported current runtime, and direct promotion ban                                    | Current battlefield is 2D DOM/WebP; 3D/model work is outside current runtime and must remain prototype evidence unless a future spec reopens it.                      | `deferred`          |
| M04-027 | Historical screenshots and AgentCraft logo media                             | `EXAMPLES/package-0.4.1/frontend/dist/assets/screenshots/`, `EXAMPLES/package-0.4.1/frontend/dist/assets/logo/`, `EXAMPLES/README_examples.md`     | none                      | quarantined                              | S0401, S0402, S0403, S0407, S0408        | High                          | Brand mismatch, unknown rights, attribution, metadata, and direct promotion ban                                                                     | Current FactionOS brand/showcase media must use tracked `assets/brand/` and `assets/showcase/` records; historical screenshots/logos stay evidence only.              | `rejected`          |
| M04-028 | Bundled frontend chunks and PWA asset references                             | `EXAMPLES/package-0.4.1/frontend/dist/assets/index-*.js`, historical manifest files, `docs/legacy-consolidation.md`                                | none                      | quarantined                              | S0401, S0402, S0407, S0408               | Critical if promoted directly | Built chunks are not media provenance, can contain obsolete behavior, and must not be copied into current runtime                                   | Use as traceability pointers only; stable docs and current source define product behavior.                                                                            | `rejected`          |
| M04-029 | Unknown-provenance tracked or future media                                   | Current and future tracked media audits; no single path                                                                                            | owning surface TBD        | unknown                                  | S0402, S0403, S0404, S0407, S0408        | High                          | Unknown source, rights, attribution, metadata, optimized output, browser support, fallback, and product use                                         | Any row with unknown provenance is non-release until catalog data or explicit non-release status resolves the unknowns.                                               | `unknown`           |
| M04-030 | Future HUD art and achievement icon replacements                             | Phase 04 stubs, `docs/media-assets.md`, `assets/README_assets.md`                                                                                  | none yet                  | planned                                  | S0402, S0403, S0404, S0407, S0408        | High                          | No approved files, briefs, rights, attribution, metadata, responsive checks, or accessibility decisions                                             | If approved later, create owned assets from written briefs, keep DOM/text equivalents, validate contrast/focus/reduced-motion behavior, and pass size/metadata gates. | `planned`           |
| M04-031 | Future faction variants and expanded battlefield scenery                     | `docs/battlefield.md`, `docs/media-assets.md`                                                                                                      | none yet                  | planned                                  | S0402, S0403, S0404, S0406, S0407, S0408 | High                          | No product need proven, no approved files, and app/demo parity complexity                                                                           | Add only if browser visual QA proves the universal board insufficient; preserve app/demo parity, service-worker policy, and fallback treatment.                       | `deferred`          |
| M04-032 | Future hosted, War Room, analytics, collaboration, or public-share media     | Phase 05-08 PRD boundaries, `docs/privacy-and-security.md`, `docs/hosted-services.md`                                                              | none                      | absent                                   | Future                                   | Critical without later scope  | Hosted transfer, public replay/media hosting, analytics events, consent, authorization, retention, and erasure are out of Phase 04 Session 01 scope | Defer to later phases with separate threat model, consent, transfer, retention, and validation requirements.                                                          | `deferred`          |

***

## Owner Session Handoff

| Owner  | Rows                                                                                                                               | Handoff summary                                                                                                                                                                                                                         |
| ------ | ---------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| S0401  | M04-001 through M04-032                                                                                                            | Baseline matrix owns the current evidence, taxonomy, risk, disposition, and quarantine boundary.                                                                                                                                        |
| S0402  | M04-001 through M04-031 except current code-only rows as applicable                                                                | Catalog contracts must decide shared protocol versus app-local versus asset-root versus public-demo record ownership.                                                                                                                   |
| S0403  | M04-003, M04-011 through M04-013, M04-015 through M04-020, M04-022, M04-024, M04-027, M04-029 through M04-031 as applicable        | Draft generation must produce product-safe briefs, ignored provider outputs, selected non-runtime references, provider/tool provenance, rights notes, cost estimates, and rejection records without using `EXAMPLES/` as direct inputs. |
| S0404  | M04-001 through M04-011, M04-015 through M04-018, M04-021, M04-022, M04-024 through M04-026, M04-029 through M04-031 as applicable | Promotion tooling must cover visual inventory, optimization, metadata stripping, byte budgets, path checks, docs references, and parity.                                                                                                |
| S0405  | M04-014 through M04-017, M04-019 through M04-020, M04-023                                                                          | Full app audio runtime must remain opt-in, cataloged, captioned or visibly equivalent, cleanup-safe, and isolated from quarantined audio.                                                                                               |
| S0406  | M04-001, M04-002, M04-006, M04-008, M04-010, M04-012, M04-013, M04-031                                                             | Public demo must preserve standalone paths, service-worker cache rules, app/demo parity, gesture-compatible audio/music, and offline validation.                                                                                        |
| S0407  | M04-001 through M04-032                                                                                                            | Accessibility, privacy, metadata, lazy-loading, fallback, size, and release-blocker gates apply to every media category before release.                                                                                                 |
| S0408  | M04-001 through M04-032                                                                                                            | Closeout must rerun catalog, generation provenance, tooling, app/demo, privacy, performance, docs, and ASCII/LF gates and update phase state.                                                                                           |
| Future | M04-032 and later hosted/share categories                                                                                          | Hosted media, analytics, public sharing, collaboration, and decommission need later phase consent, authz, retention, transfer, and erasure scope.                                                                                       |

## Release Blocker Coverage

| Blocker class                                              | Rows covered                                                                                |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| Source, rights, license, or attribution unknown            | M04-003, M04-005 through M04-013, M04-015 through M04-020, M04-022, M04-024 through M04-031 |
| Metadata cleanup unknown                                   | M04-003, M04-005 through M04-020, M04-022, M04-024 through M04-031                          |
| Size or performance risk                                   | M04-011 through M04-018, M04-022, M04-026, M04-030, M04-031                                 |
| Browser support or fallback missing                        | M04-005 through M04-018, M04-030, M04-031                                                   |
| Accessibility or visible-equivalent gap                    | M04-012 through M04-018, M04-023, M04-024, M04-030                                          |
| Service-worker cache risk                                  | M04-001, M04-002, M04-004, M04-006, M04-008, M04-010, M04-012, M04-013, M04-031             |
| Quarantined `EXAMPLES/` direct-promotion risk              | M04-019, M04-020, M04-022, M04-024 through M04-028                                          |
| Provider secret, raw prompt, request payload, or cost risk | M04-003, M04-011 through M04-013, M04-015 through M04-018, M04-030, M04-031                 |
| Hosted, public-share, analytics, or collaboration risk     | M04-032                                                                                     |

## Disposition Summary

| Disposition              | Rows                                                      |
| ------------------------ | --------------------------------------------------------- |
| `approved`               | M04-001, M04-002, M04-004, M04-021, M04-023               |
| `conditionally_promoted` | M04-003, M04-005 through M04-010, M04-012 through M04-013 |
| `needs_replacement`      | M04-025                                                   |
| `prototype_only`         | M04-019, M04-020, M04-022, M04-024                        |
| `rejected`               | M04-027, M04-028                                          |
| `unknown`                | M04-029                                                   |
| `planned`                | M04-011, M04-014 through M04-017, M04-030                 |
| `deferred`               | M04-018, M04-026, M04-031, M04-032                        |

## Session 03 Draft Generation Coverage

Session 03 added redacted draft briefs, a non-runtime generation manifest, local dry-run/provider command surfaces, and app-facing blocked catalog records. It did not promote generated media into app runtime paths, public-demo cache entries, release artifacts, or approved catalog records.

| Session 03 record                            | Rows                      | Coverage status | Notes                                                                                                   |
| -------------------------------------------- | ------------------------- | --------------- | ------------------------------------------------------------------------------------------------------- |
| `draft.visual.battlefield-reference-refresh` | M04-003                   | Deferred        | Current approved reference records remain unchanged; new regeneration needs Session 04 promotion scope. |
| `draft.visual.future-battlefield-additions`  | M04-011, M04-031          | Planned         | Future variants require a proven product gap and app/demo parity plan.                                  |
| `draft.audio.public-demo-speech-replacement` | M04-012, M04-015, M04-019 | Deferred        | Voice, captions, loudness, metadata, and budget review are pending.                                     |
| `draft.audio.music-loop-replacement`         | M04-013, M04-020          | Deferred        | Music loop/edit, controls, size, and rights decisions are pending.                                      |
| `draft.audio.ui-alerts-and-sfx`              | M04-016                   | Planned         | Event cooldown, duplicate-trigger prevention, and visible-equivalent gates are pending.                 |
| `draft.audio.achievement-celebration`        | M04-017                   | Planned         | Visual achievement state remains authoritative; audio lifecycle gates are pending.                      |
| `draft.video.optional-demo-loop`             | M04-018                   | Deferred        | No concrete product use, poster, caption, codec, or budget plan exists.                                 |
| `draft.visual.hud-style-study`               | M04-022, M04-030          | Planned         | App HUD remains DOM/CSS until contrast, focus, responsive, and metadata gates pass.                     |
| `draft.visual.achievement-icons`             | M04-024, M04-030          | Planned         | Achievement text and trophy state remain authoritative.                                                 |
| `draft.visual.legacy-brand-rejection`        | M04-027                   | Rejected        | Historical screenshot and old logo media remain rejected for brand and rights reasons.                  |
| `draft.audit.unknown-provenance`             | M04-029                   | Deferred        | Unknown provenance remains a release blocker until resolved.                                            |

## Acceptance Baseline

Before any row moves closer to release, the owning session must verify:

1. Source and rights are recorded, including attribution text and placement when required.
2. Runtime paths are repository-relative, owned by the consuming surface, and not copied from `EXAMPLES/`.
3. Optimized output, dimensions or duration, byte size, browser support, and fallback state are recorded.
4. Metadata has been inspected and stripped or explicitly approved.
5. Accessibility requirements are covered by labels, captions, visible equivalents, focus behavior, contrast, and reduced-motion behavior where relevant.
6. Privacy review confirms no raw prompts, tokens, OAuth IDs, command bodies, provider prompts, sensitive local paths, or raw historical excerpts are exposed.
7. Provider generation records include redacted briefs, provider/tool names, non-sensitive variation IDs when available, rights notes, and cost estimates without exposing `.env.local` values.
8. Public demo media remains standalone, path-relative, cache-aware, and free of workspace imports.
9. App/demo shared media passes parity checks when the media is intentionally shared.
10. Large optional audio, music, video, and image files are lazy-loaded unless a documented exception justifies precaching.
11. `npm run media:check`, `npm run battlefield:check`, `git diff --check`, ASCII/LF checks, and focused docs path checks are recorded by the responsible session.


---

# 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/phases/phase_04/media_gap_matrix.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.
