# SCOPE — mgf-brand-qt

> The scope-creep gate. A change that doesn't fit §1 needs a
> documented decision before it lands.

## §1 In scope

The **Magogi brand, expressed for Qt desktops, as reusable package
data + presentation-layer code**:

- Design tokens (raw palette, light/dark semantic maps, scales, viz
  palettes) — vendored from `mgf-brand` (the source of record),
  never invented here; `color-mix()` recipes computed for parity.
- The generated application stylesheet (`qss`) and the `mgf*`
  dynamic-property styling vocabulary.
- Brand assets as package data: OFL fonts, the 42-icon set, marks,
  lattice patterns, desktop app icon — with sha256 provenance.
- The theme engine (Fusion + QPalette + QSS, OS scheme watching) and
  the restrained-motion helpers.
- Brand widgets that any MGF desktop needs identically: status
  chips/badges, stat tiles, honest empty states, the status-chip
  item delegate, property helpers.

## §2 Out of scope

- **Domain logic or domain-library imports of any kind** (GUI-01(a),
  import-linter enforced). No SDK calls, no workers, no settings
  persistence (GUI-08 belongs to consumers).
- **App-specific composites** — a product's top bar, navigation
  rail contents, screens, dialogs (those live in each consumer;
  promotion candidates arrive via FEEDBACK papers).
- **Generic Qt infrastructure** that is not brand (worker bases,
  table-model bases, log panels, excepthook bridges) — that is the
  future `mgf-qt` conversation, gated on a second desktop consumer
  proving the duplication (same extract-when-proven discipline that
  produced this kit).
- **The brand source of record** — token values, mark geometry, and
  icon sources are `mgf-brand`'s; changes flow there first and get
  re-vendored here.

## §3 Scope gate

A PR is in scope when: (a) every MGF desktop consumer would render
it identically, (b) it keeps both import-linter contracts green
(no domain imports; Qt-free token core), and (c) any visual value it
introduces traces to an `mgf-brand` token.
