# `mgf-brand-web` — scope policy

> What belongs in the Magogi brand-web kit (family **SP**). A proposed addition
> is in scope only if it passes the §3 gate.

## §1 In scope (SP-01)

The **reusable, framework-agnostic web implementation of the Magogi brand**:

- **Design tokens** (`tokens.css`) — colour, type, spacing, radius, motion,
  dark mode — reconciled to the Brand Book; the source of truth for MGF surfaces.
- **Base + component CSS** (`base.css`, `components.css`) — element defaults,
  buttons, cards, tables, status badges, forms, nav, empty state, Evidence Ledger.
- **Self-hosted assets** — the three OFL fonts, Cornerstone-Orbit logo marks +
  favicon, Federation-Lattice patterns.
- **A tiny accessor** (`static_dir()`) so consumers can mount the assets.

The boundary: **shared, drop-in brand styling any MGF web tool can consume**,
shipped as package data, with **zero framework coupling**.

## §2 Out of scope (SP-02)

| Not here | Why | Where instead |
|---|---|---|
| App-specific layout / pages | per-consumer | the consuming app (e.g. `mgf-cloud-app`'s `app.css`) |
| JS frameworks / interactivity (htmx, etc.) | the kit is CSS + assets only | the consumer vendors its own JS |
| Server/runtime/CLI logic | it's an asset package, not a service | a service sibling |
| The brand source-of-record (logo SVGs masters, brand book) | that's `mgf-brand` | `mgf-brand` |

## §3 Scope-creep gate (SP-03)

A PR MUST answer: (1) is it brand styling/assets reusable across MGF surfaces
(else it belongs in the consumer)? (2) does it keep the package **framework-free**
(import-linter contract)? (3) does it stay reconciled to the Brand Book / token
source of truth? Any "no/unclear" blocks it.

## §6 Revisiting scope (SP-06)

Revisited at every MAJOR boundary; re-affirms the framework-free + single-source
invariants.
