# brand-v5 changelog

One entry per meaningful deploy, newest first. Ritual (AGENTS.md §5): after content changes —
rebuild zip → verify-kit → update this file → deploy → verify-kit --live.
Requests/corrections → alex@imperium-growth.com.

## 2026-08-04 — v5.5 · light grounds go bone (beige, never greenish)

- **Default light page ground: Sage → Bone `#F4F1EA`** (Alex directive, 2026-08-04:
  "the sage hex is too green — light backgrounds read beige"). Panels re-tier to
  Paper `#F7F6F1`, raised `#FBF9F7`. Sage `#EDF2E8` demoted to an occasional tint
  (charts, soft fills), never a page ground.
- Synced everywhere: tokens.json `semantic.light` + role notes (v5.2.0),
  imperium-tokens.css `--surface-page/--surface-panel`, BRAND-BOOK §3 roles +
  contrast table (recomputed vs bone: ink 16.46, racing 9.61, ember-600 5.07 — all
  pass), §6 theme, §8 website row, DESIGN.md colors + do/don't. check-contrast PASS.
- DESIGN.md also documents the console-card ramp stops (`#0F1912 #0A130E #07100A
  #060D08`) in the machine frontmatter so DESIGN.md-aware detectors recognise them.
- First consumer: the imperium-website facelift (2026-08-04) ships on the bone ground.

## 2026-08-04 — v5.4 · DESIGN.md ships: the brand in the standard token spec

- **DESIGN.md added at the kit root:** the whole visual system (colour, type hierarchy,
  R40 shape law, spacing/grid, elevation, motion patterns, component specs, do/don't
  guardrails) encoded in the standard DESIGN.md format — YAML token frontmatter + the
  eight canonical sections. Copy it into any project root and DESIGN.md-aware design
  tools (Impeccable v4, Stitch, spec-compliant agents) enforce the brand automatically.
  Precedence unchanged: BRAND-BOOK → tokens.json → DESIGN.md.
- **Why:** frontend generation now runs through the Impeccable skill as the craft +
  anti-slop engine, with this kit as the identity layer. DESIGN.md is the handshake
  between the two. AGENTS.md §3 websites row, BRAND-BOOK §11, and llms.txt now say so.
- Manifest 299 → 300; counts synced.

## 2026-08-01 — v5.3 · the deck becomes the journey + the real nav

- **deck-cinematic.html shipped** (downloads/documents/): the continuous-world engine as one
  self-contained file — still → frame-locked film → still, availability probe with 700ms
  crossfade fallback, skip protection, ambient idle loop, entrance choreography, glass-over-
  photography (R40), click-thirds nav, ?slide=N deep links, print support. Ships with a
  working demo world (4 stills + 2 films + cover loop from the shipped AIOS keynote world)
  in downloads/documents/world/.
- **Deck tier rule flipped (Alex):** the continuous-world method IS the Imperium
  presentation — default for everything outward-facing. Static premium
  (imperium-presentation.md) is the no-films middle tier; deck-template.html is demoted to
  internal utility only and says so in its own header. AGENTS.md §3, DOCUMENTS.md, llms.txt
  and the master sheet all carry the same routing; BRAND-BOOK gains the presentation
  doctrine under §8.
- **UI primitives rebuilt from the real product, not invented:** the floating pill nav is
  gone — the nav primitive now mirrors the real Imperium site pattern (full-width 64px bar,
  quiet Switzer links left, Emilio wordmark dead-centre, log in + pill CTA right, scroll
  behaviour documented) and BRAND-BOOK §8 now specs it. Buttons split into two families:
  marketing CTAs (pill) and product buttons (10px, sized/weighted like the shipped OS
  renders). Glass-card radius contradiction in continuous-world-technique §4 fixed (14 → 40,
  pre-lock note kept).
- Manifest 291 → 299 (engine + 7 world assets); counts synced everywhere.
- Fresh-LLM sim round (URL-only agent, brief "build a client deck"): routed to the
  continuous-world method in one hop, confidence 8/10. Its four findings fixed same day:
  utility-deck warning now in fetch-visible title/meta (HTML comments are stripped by
  fetchers), world naming convention (bg-NN / t-NN-MM / loop-NN, data-* attrs are the
  config) documented inline in the engine, presentation-pipeline Track B now points at the
  shipped engine (and marks the intake-layer doc author-machine), technique doc's
  "copy the app" now names deck-cinematic.html as the kit starter instead of the
  author-machine Next.js path.

## 2026-08-01 — v5.2 · consolidation to one self-consistent system

Re-audit round (same day, five parallel audits): warm-palette survivals purged from the
shipped references (finishers/pipeline champagne → greens/mint), founder-imagery rule made
consistent everywhere (never generated — real photos via photos.json; the author's internal
likeness tooling is explicitly out of kit scope), prompt-pack model table now mirrors the
routing table, card canvas defaults + copy ask-rule + deck-tier decision rule added, motion
pattern table written into BRAND-BOOK §5 + tokens.json, print scoped digital-first with
press-run guidance, type-scale leading/tracking + chart-series order + grid collapse + icon
sizing ladder added to tokens.json, manifest count synced (291), portability notes completed
on all shipped process docs, zip links made absolute so they survive offline extraction.
- Zip rebuilt from the kit root: the archive now mirrors the site exactly (brand book, tokens,
  fonts, logos, icons all included; every relative link works offline). `scripts/verify-kit.mjs`
  guards manifest ↔ disk ↔ zip ↔ live URLs; `scripts/check-links.mjs` guards markdown links;
  `scripts/check-contrast.mjs` guards the WCAG table.
- Six contradiction classes fixed: 20px radius survivals → R40; dead 30x30 icon spec → codicons;
  champagne ring → mint; stale sci-fi hero entry deleted; Constantia/champagne survivals →
  Emilio/Switzer + brand inks; model routing unified in an AGENTS.md §3 table.
- Master sheet: viewport/OG/twitter meta, mobile pass (≤900px), sticky TOC, lazy embeds, swatch
  borders, caption alignment, dock resting-sharp, integrations text clip.
- Headless layer: 22 cited references/scripts now ship in downloads/skills/{references,scripts};
  quality gate (avg ≥9.5, no dim <8, max 3 iterations) + output-location rule inline in
  AGENTS.md §4; palette swatch regenerated in code (greens-only, labelled); photos.json 100%
  quality-scored; tokens completed (racing-350, console-card ramp, mockup surfaces, layout,
  contrast pairs); environment doctrine → BRAND-BOOK §5b; precedence chain stated everywhere;
  noindex removed (site is now crawlable).
- The missing brand-book half: layout system (8px spacing scale, containers, 12-col grid,
  breakpoints, section rhythm), documents layer (invoice / letterhead / email-signature /
  deck-template + DOCUMENTS.md conventions), logo governance (clear space, minimums, six-panel
  misuse, co-branding), accessibility (contrast table with the Ember-600 text rule,
  focus-visible spec, prefers-reduced-motion), UI primitives (buttons/inputs/table/tags/nav),
  voice boilerplates (25/50/100 words + four pillars), type-scale table, CMYK/Pantone print
  reference, licences documented (Emilio confirmed licensed 2026-07-31).

## 2026-07-30 — v5.1 late
- photos.json machine catalogue (262 photos, direct links, quality scores) + photo library
  section; finished heroes v3 (real-world environments, sci-fi banned — the doctrine's origin).

## 2026-07-29/30 — mockups + components complete
- mockups-v5 rebranded to brand-v5 and rolled out with the premium v4 finish (36 alpha renders +
  full source tree in the kit); component gallery to 11 families (glow-cards ×4, icon-styles);
  LUT pack (bailey-mylook) shipped; icon set swapped to VS Code codicons (CC BY 4.0).

## 2026-07-27/28 — the headless layer is born
- AGENTS.md + llms.txt + manifest.json; portability pass on all process docs; logo family
  rebuilt as true vectors in Racing Green (48 files), blue-teal squircle set retired; radius
  locked 40px; master sheet with live specimens + dual themes; deployed to
  brand.imperiumos.ai.

## 2026-07-22/26 — v5.0 → v5.1
- v5 system born: Emilio + Switzer locked, green-forward palette + Ember accent, self-hosted
  fonts, tokens.css; v5.1 added explicit weight presets, greens-only (champagne/taupe removed),
  vivid Mint locked, 7-step scales; entity renamed to "Imperium"; SME / Palantir-for-SMEs
  positioning wired in.

## 2026-08-10 — radius re-lock
- `--radius` 40px → 20px (tokens.json radius.DEFAULT, imperium-tokens.css). Alex re-locked from live imperium-website screenshots: 40 reads too rounded at page scale. 10/pill/12-chrome unchanged. Applied across imperium-website the same day.
