> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livepeer.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Repo Config Map

> Reference map of all key configuration files in the repository – root configs, script configs, and environment variable sources.

# Repo Config Map

> Canonical reference of all configuration files that govern repo behaviour, routing, pipeline scripts, and environment setup.

<CustomDivider />

## Root Config Files

These files live at the repo root and are read by Mintlify, the pre-commit hook, CI workflows, and tooling scripts.

| File              | Read by                  | Purpose                                                                                                                                                                        |
| ----------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `docs.json`       | Mintlify                 | Navigation structure, version config, redirect rules, logo/favicon paths, SEO defaults, component imports                                                                      |
| `.allowlist`      | Pre-commit hook          | Generated allowlist of permitted root-level files and directories. Canonical edits happen in `operations/governance/config/root-governance.json`, then regenerate projections. |
| `.mintignore`     | Mintlify                 | Files and directories excluded from the docs build. Prevents operational scripts, workspace scratch, and draft content from becoming routable pages.                           |
| `docs-index.json` | AI and tooling consumers | Ratified machine-readable public root artifact describing docs inventory.                                                                                                      |
| `llms.txt`        | AI consumers             | Ratified AI-first public root artifact for LLM discovery.                                                                                                                      |
| `sitemap-ai.xml`  | AI and crawler consumers | Ratified AI-first public root sitemap artifact.                                                                                                                                |

Live governed root inventory is generated at [`docs-guide/repo-ops/config/root-governance-map.mdx`](/docs-guide/repo-ops/config/root-governance-map). Do not duplicate the full root inventory in manual docs.

<CustomDivider />

## operations/governance/config/

Top-level governance control-plane manifests live here in the ownerless steady state. Active canonical reads target `operations/governance/config/**`, and operational runtime config lives under `operations/config/**`.

### repo-governance-surfaces.json

```icon="terminal" theme={"theme":{"light":"github-light","dark":"dark-plus"}}
operations/governance/config/repo-governance-surfaces.json
```

**Purpose:** Canonical top-level registry for governed repo surfaces, path classes, agent output classes, rollout state, and steady-state handover status.

**Read by:** `generate-repo-governance-status.js`, `check-repo-governance-sync.js`, `repo-governance-sync.test.js`, and human/operator docs via the generated repo governance map.

**Cutover status:** `retired`

**Key responsibilities:**

| Field group                  | Purpose                                                                                                             |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `generated_outputs`          | Declares the repo-governance map and deterministic status reports                                                   |
| `production_approval_policy` | Declares the canonical PR approval contract, required labels, and validator for governance-sensitive changes        |
| `active_governance_reports`  | Declares which repo-ops governance reports are treated as current/live surfaces                                     |
| `github_workspace_surfaces`  | Classifies `.github/workspace` entries as transitional runtime, generated support, design-only, or historical audit |
| `legacy_bridge_inventory`    | Retirement record for former bridge manifests. This remains empty after cutover.                                    |
| `path_classes`               | Declares admitted path classes for governance-controlled writes                                                     |
| `agent_output_classes`       | Declares where agent-generated outputs should live and whether they may be committed                                |
| `surfaces`                   | Declares governed governance surfaces, validators, repair commands, gate layer, rollout state, and escalation       |

**When to update:** When introducing a new governance-controlled surface, changing admitted path classes, or changing the steady-state governance model.

Live top-level governance state is generated at [`docs-guide/repo-ops/config/repo-governance-map.mdx`](/docs-guide/repo-ops/config/repo-governance-map).

### governance-approval-policy.json

```icon="terminal" theme={"theme":{"light":"github-light","dark":"dark-plus"}}
operations/governance/config/governance-approval-policy.json
```

**Purpose:** Canonical production approval contract for governance-sensitive PRs.

**Read by:** `check-governance-approvals.js`, `run-pr-checks.js`, the PR template, and contributor-facing governance docs.

**Current contract:**

| Approval class          | Required label                   | Used when                                                                      |
| ----------------------- | -------------------------------- | ------------------------------------------------------------------------------ |
| `governance-schema`     | `approval:governance-schema`     | Canonical governance manifests, enums, path classes, or approval schema change |
| `governance-gate`       | `approval:governance-gate`       | Gate-layer behavior, PR governance checks, or enforcement posture changes      |
| `workflow-governance`   | `approval:workflow-governance`   | Transitional workflow-governance files or their registry classification change |
| `governance-retirement` | `approval:governance-retirement` | Active governance/runtime config or generated governance outputs are retired   |

### root-governance.json

```icon="terminal" theme={"theme":{"light":"github-light","dark":"dark-plus"}}
operations/governance/config/root-governance.json
```

**Purpose:** Canonical manifest for the governed repo root.

**Read by:** root-governance helpers, generators, validators, and governance sync validation.

### generated-artifacts.json

```icon="terminal" theme={"theme":{"light":"github-light","dark":"dark-plus"}}
operations/governance/config/generated-artifacts.json
```

**Purpose:** Canonical manifest for generated-artifact governance.

**Read by:** generated-artifact helpers, validators, hooks, PR checks, and governance sync validation.

### agent-write-governance.json

```icon="terminal" theme={"theme":{"light":"github-light","dark":"dark-plus"}}
operations/governance/config/agent-write-governance.json
```

**Purpose:** Canonical policy manifest for agent output classes, admitted destinations, and root-write restrictions.

**Read by:** repo-governance map/status generation, `agent-write-admission.test.js`, and PR changed-file governance checks.

### ownerless-governance-surfaces.json

```icon="terminal" theme={"theme":{"light":"github-light","dark":"dark-plus"}}
operations/governance/config/ownerless-governance-surfaces.json
```

**Purpose:** Canonical ownerless-governance surface registry.

**Read by:** ownerless-governance policy/tests, repo-governance sync validation, PR checks, and adjacent governance consumers such as AI-tools registry relevance checks.

<CustomDivider />

## operations/config/

Operational runtime config now lives under `operations/config/**`.

This tree is for runtime config consumed by scripts, validators, audits, and reporting flows that is not itself a governance control-plane manifest.

Current canonical runtime-config surfaces:

| Path                                                                 | Purpose                                                                   | Read by                                                                                   |
| -------------------------------------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `operations/config/content/blueprints/blueprint-mapping.json`        | Canonical blueprint mapping for reconciliation and blueprint-aware audits | `generate-content-gap-reconciliation.js` and adjacent content-audit tooling               |
| `operations/config/content/blueprints/blueprint-pages.json`          | Canonical blueprint page inventory for content reconciliation             | `generate-content-gap-reconciliation.js` and blueprint-aware audits                       |
| `operations/config/content/navigation/navigation-exclusions.json`    | Canonical navigation-exclusion config for Mintlify/data collation support | Mintlify collation/reference docs and navigation-aware support tooling                    |
| `operations/config/content/reports/v2-internal-report-pages.js`      | Canonical runtime module for published internal report page routing       | `publish-v2-internal-reports.js`                                                          |
| `operations/config/workspace/retention/report-retention-policy.json` | Canonical report retention and quarantine policy data                     | `quarantine-manager.js`, `script-footprint-and-usage-audit.js`, and cleanup/report audits |
| `operations/config/workspace/schemas/cleanup-manifest.schema.json`   | Canonical cleanup-manifest schema                                         | cleanup/quarantine policy and cleanup tooling                                             |

`operations/config/**` is the canonical runtime-config home. Active runtime reads must target canonical operations config paths only.

<CustomDivider />

## .github/workspace/

`.github/workspace/` is not one uniform canonical runtime governance tree.

Under the ownerless steady state it contains a mix of:

* transitional runtime support still used for workflow taxonomy and locked decisions
* generated support/reference material
* design-only planning material
* historical audit context

The live classification is declared in `operations/governance/config/repo-governance-surfaces.json` and rendered in [`docs-guide/repo-ops/config/repo-governance-map.mdx`](/docs-guide/repo-ops/config/repo-governance-map).

Current operating rule:

* `.github/workspace/framework-canonical.md` and `.github/workspace/decisions-log.mdx` are transitional runtime support, not the long-term canonical governance home
* `.github/workspace/actions-library/` is generated/supporting reference material
* `.github/workspace/design/**`, `.github/workspace/phase2/**`, `.github/workspace/outcomes.md`, and `.github/workspace/reports-audits/**` are design or audit context, not active runtime governance
* the two transitional runtime files are reviewed on a 90-day cadence declared in `operations/governance/config/repo-governance-surfaces.json`

Correct live support paths:

* Decisions log: `.github/workspace/decisions-log.mdx`
* Actions audit data: `.github/workspace/actions-library/actions-audit.json`
* Actions library index: `.github/workspace/actions-library/catalog-index.mdx`

## Active Governance Reports

The only repo-ops governance reports treated as live/current are:

* `workspace/reports/repo-ops/ROOT_GOVERNANCE_SYNC_LATEST.json`
* `workspace/reports/repo-ops/ROOT_GOVERNANCE_SYNC_LATEST.md`
* `workspace/reports/repo-ops/REPO_GOVERNANCE_STATUS_LATEST.json`
* `workspace/reports/repo-ops/REPO_GOVERNANCE_STATUS_LATEST.md`
* `workspace/reports/repo-ops/REPAIR_REPORT_LATEST.json`
* `workspace/reports/repo-ops/REPAIR_REPORT_LATEST.md`
* `workspace/reports/repo-ops/SCRIPT_INVENTORY_FULL.json`
* `workspace/reports/repo-ops/SCRIPT_INVENTORY_FULL.md`
* `workspace/reports/repo-ops/OWNERLESS_REPO_HANDOVER_LATEST.md`

<CustomDivider />

## operations/scripts/config/

Centralised configuration for fetch scripts, generators, and validators. All files in this directory are JSON.

### paths.config.json

```icon="terminal" theme={"theme":{"light":"github-light","dark":"dark-plus"}}
operations/scripts/config/paths.config.json
```

**Purpose:** Fallback path registry used when git repo root detection fails.

**Read by:** `docs-path-sync.js` and other generator/validator scripts.

**Key paths registered:**

| Key                  | Value                            | Notes                        |
| -------------------- | -------------------------------- | ---------------------------- |
| `snippets`           | `snippets`                       | Root of the snippets library |
| `snippetsComponents` | `snippets/components`            | JSX component library        |
| `docsJson`           | `docs.json`                      | Navigation config            |
| `v2Pages`            | `v2/pages`                       | v2 page tree                 |
| `v2Docs`             | `v2`                             | v2 root                      |
| `lptExchanges`       | `v2/lpt/resources/exchanges.mdx` | Specific page reference      |
| `aiWorkerApi`        | `ai/worker/api`                  | AI worker API directory      |

**When to update:** When repo directories are renamed or new canonical paths need to be registered for script use.

<CustomDivider />

### product-social-config.json

```icon="terminal" theme={"theme":{"light":"github-light","dark":"dark-plus"}}
operations/scripts/config/product-social-config.json
```

**Purpose:** Central registry mapping each solutions product to its social channels, data sources, and pipeline parameters. Used by all social data fetch scripts.

**Read by:** `fetch-youtube-data.js`, `fetch-ghost-blog-data.js`, `fetch-discord-announcements.js`, `fetch-github-discussions.js`, `fetch-github-releases.js`, `fetch-rss-blog-data.js`, and page templates.

**Products registered:** `daydream`, `embody`, `frameworks`, `livepeer-studio`, `streamplace`

**Per-product fields:**

| Field                                         | Purpose                                                              |
| --------------------------------------------- | -------------------------------------------------------------------- |
| `youtube.channelId`                           | YouTube channel ID for fetch script. `null` = skip.                  |
| `discord.serverId` / `announcementsChannelId` | Discord server and channel for bot fetch. `null` = skip.             |
| `blog.fetchMethod`                            | `"ghost-api"` (requires `GHOST_CONTENT_API_KEY`) or `"rss"` (no key) |
| `github.org` + `mainRepo`                     | GitHub org/repo for discussions and releases fetch                   |
| `forum`                                       | Discourse URL and product tag for forum data                         |

**When to update:** When a product gains/loses a social channel, changes its Discord server, or switches blog platforms. Scripts skip products where the relevant field is `null`.

<CustomDivider />

## CI Workflow Trigger Files

These are not config files themselves but are the source inputs that trigger CI regeneration when changed.

| Changed path                                           | Triggers workflow                                                                                  |
| ------------------------------------------------------ | -------------------------------------------------------------------------------------------------- |
| `docs.json`                                            | `generate-docs-guide-catalogs.yml`, `generate-docs-index.yml`, pre-commit redirect integrity check |
| `v2/index.mdx`                                         | `generate-docs-guide-catalogs.yml`, `generate-docs-index.yml`                                      |
| `.github/workflows/**`                                 | `generate-docs-guide-catalogs.yml` (workflows catalog)                                             |
| `.github/ISSUE_TEMPLATE/**`                            | `generate-docs-guide-catalogs.yml` (templates catalog)                                             |
| `operations/scripts/config/product-social-config.json` | No auto-trigger — must manually run social data fetch workflows via workflow dispatch              |

<CustomDivider />

## Environment Variables

Runtime secrets and variables are documented in `docs-guide/repo-ops/config/.env.example`.

For secrets required by the solutions social data pipeline specifically, see [Solutions Secrets](../secrets/solutions-secrets).

| Variable                | Used in                                                   | Notes                                                                 |
| ----------------------- | --------------------------------------------------------- | --------------------------------------------------------------------- |
| `YOUTUBE_API_KEY`       | `fetch-youtube-data.js`                                   | GitHub Actions secret                                                 |
| `GHOST_CONTENT_API_KEY` | `fetch-ghost-blog-data.js`                                | GitHub Actions secret                                                 |
| `DISCORD_BOT_TOKEN`     | `fetch-discord-announcements.js`                          | GitHub Actions secret                                                 |
| `DOCS_V2`               | Ghost blog + forum workflows                              | PAT with `repo` scope; needed for auto-commit cross-workflow triggers |
| `GITHUB_TOKEN`          | `fetch-github-discussions.js`, `fetch-github-releases.js` | Auto-provided by GitHub Actions                                       |

<CustomDivider />

## Related

* [Solutions Secrets](../secrets/solutions-secrets) — GitHub Actions secrets required by the social data pipeline
* [Enforcement Map](../maps/enforcement-map) — pre-commit gates, CI gates, and validators
* `docs-guide/features/data-integrations.mdx` — broader data integrations map
* `workspace/plan/active/SOLUTIONS-SOCIAL-DATA/plan.md` — solutions pipeline implementation plan
