# Changelog Every released change to the brand, newest first. Versioning rules are in `CONTRIBUTING.md`. How to write an entry: - Put it under "Unreleased", below `### Breaking`, `### Added` or `### Fixed`. The release takes its version from these headings: any Breaking entry makes a major release, any Added a minor one, otherwise a patch. Never write a version heading by hand; the pipeline adds it after the merge into `main`. - Start with a short bold title, then a spaced hyphen and a one-line description: `- **What changed** - Why it matters, in one sentence`. - Add the details as one-line sub-bullets (` - `), each under about 100 characters, at most four or so. No wrapped paragraphs. - A Breaking entry has a `Consumers:` sub-bullet naming what has to change. The reference site's Releases page shows each entry's title, with its description in smaller text, as written here. The bullets stay in this file. ## Unreleased ## 2.1.2 - 2026-11-09 ### Fixed - **Nav bar matches the page in dark mode** - The sticky nav drops `saturate(180%)`, keeps the blur - Saturating the navy ground `#20243a` made the bar bluer than the page - `references/web.md` now says `backdrop-filter: blur(14px)` - The reference site's bar now matches the website's: 27px logo, sans 14px links, arch hover ## 2.1.1 - 2026-11-09 ### Fixed - **Getting started opens with a hero** - Says what the site is, with the swoosh drawing in - "One brand, every format": the swoosh draws, slides right, then the text and buttons come in - Every guide is listed under Getting started as small cards, grouped as in the menu - **The reference site updates after each release** - The pipeline deploys the stamped `main` itself - Netlify held the "Release X.Y.Z" commit for review, so the site kept the old version - The Release stage now calls a Netlify build hook (`netlify-build-hook`, secret) - No approval and no billed Netlify contributor; the held request can stay unapproved ## 2.1.0 - 2026-11-09 ### Added - **Releases by merging PRs** - The pipeline works out and writes the version, as in gritmind-os - Merge `master` into `main`; the pipeline stamps the version from the Unreleased headings - `release.mjs stamp` writes the heading and `plugin.json`, rebuilds `data.js`, pushes to `main` - `check` shows the next version; `to-main` opens the PR into `main` - `check-plugin.mjs` fails a PR whose Unreleased entries sit outside the three headings - **Release stage in the pipeline** - One merge into `main` releases; nothing is left to approve - Stamps, tags `vX.Y.Z`, publishes the marketplace, merges `main` back into `master` - The back-merge opens a PR only when the changelog changed on `master` meanwhile - Pushes to `gritmindinc/gritmind-brand-marketplace` as `gritmind-brand-marketplace-bot` - A one-hour token from the GitHub App `gritmind-brand-publish` signs each push - Each step skips what is done, so a failed run can be rerun - **Reference site: one page per topic** - The long scroll is now separate pages with a menu - Each page has its own path (`/colour/`, `/guides/`, `/releases/`); Getting started is `/` - Top bar: Getting started, Guides, Releases, the menu and the theme button - The menu groups pages under Foundations, Formats and Changing the brand - Old addresses (`/reference/`, `#colour`, `#/colour`, renamed pages) move to the new paths - **Pages named for what people make** - Formats replace the old Production page - Production is split into Slide decks, Documents and email, Social cards and Video - Layout and Components are one Web pages page; Pre-flight is the Checklist - Open decisions is at `/open-decisions/`, as `decisions/` is a repo folder - **Reference site without a Netlify rewrite** - Every address is a real file - `build-reference.mjs` writes a copy of the page per path; Netlify runs it on deploy - The copies are git-ignored; the script refuses to overwrite a repo folder - **Getting started and page banners** - Every page shows how to use it, in Claude and elsewhere - Getting started shows both ways in: the plugin in Claude, and Markdown files for other tools - Every page's banner has a prompt to try in Claude and the files to hand over - Banners and the Getting started card carry a 4px mint top line and a soft resting shadow - The hero is gone; the signature move leads the Motion page - **Releases page (GW-229)** - Every release and what changed in it, on the reference site - Every release from `CHANGELOG.md`, newest first, grouped Breaking, Added and Fixed - Read by `parseReleases` in `scripts/changelog.mjs`; the footer links to it - **Token `shadow.soft`** - A lighter shadow for the rare card that stays raised - `0 6px 20px`, 6% navy in light mode, 28% black in dark mode - Additive; first used by the reference banners and the Guides cards - **Reference site details** - Small rules the pages now follow - One mint word in each page heading; pages padded `64px` (`layout.section.ySm`) - All icons are Lucide (ISC licence), pasted in as SVG - `README.md` explains the hosting and how to view the site locally - **Shorter changelog entries** - A title, a one-line description and short bullets - Earlier releases rewritten to the same format, wording only - `check-plugin.mjs` checks new entries follow it ### Fixed - **Rebuilding `data.js` on Windows** - A Windows build now matches the CI build - `build-reference.mjs` normalises line endings before writing ## 2.0.0 - 2026-11-06 ### Breaking - **The brand skill ships as a Claude Code plugin** - One plugin for every brand skill (decision 0008, proposed) - Moved from `skill/gritmind-brand/` to `plugin/skills/gritmind-brand/` - The old path is a symlink to the new one until the next major - `plugin.json` carries the brand version, set in the release PR - Published to `gritmindinc/gritmind-brand-marketplace`, which the company's Claude syncs - Consumers: re-point any `~/.claude/skills` symlink, then delete it once the plugin is installed - Consumers: on Windows the old path is a text file after `git pull`, not a link - Consumers: replace the website's copy of the skill; add the PR pipeline as a branch policy ### Added - **A self-contained skill** - The skill works when installed on its own - `build-skill.mjs` copies the asset READMEs and `decisions/` into the skill - Repo citations are rewritten; repo-only files become links to the brand repo - Only `.svg`, `.png`, `.woff2`, `.js` and `.md` files ship from the asset folders - **One pipeline for the repo** - Every PR and every release goes through the same checks - `build-and-deploy-gritmind-brand` runs on every PR and every merge into `main` - `check-plugin.mjs` checks generated files, skill citations, LFS pointers and em dashes - It also checks that `plugin.json` matches the changelog version - PRs into `main` need an empty Unreleased; `claude plugin validate --strict` runs on both - **The marketplace build** - The GitHub marketplace repo is built from this one - `scripts/build-marketplace.mjs` builds it from `marketplace/` and `plugin/` - Every PR builds and validates it ### Fixed - **Dead links in the skill** - Two files cited paths the skill did not ship - `SKILL.md` cited the swoosh README as a repo file; `web.md` cited `CHECKLIST.md` - `SKILL.md` said "all four" references; there are five - **Changelog entries in the right release** - A merge had filed these under 1.3.0 - 1.3.0 shipped only its own two entries ## 1.3.0 - 2026-10-30 ### Added - **Inter as the fallback typeface** - For files where Alliance No.2 cannot load (decision 0007) - New token `type.sans.fallback`; `type.sans.family` and `type.sans.stack` are unchanged - Editable PowerPoint, Keynote, Google Slides and Word files use Inter, never mixed with Alliance No.2 - On the web it follows Alliance No.2 in the stack and is not loaded - `deck.md` has a "Typeface" section; `docs.md`, `web.md` and the reference page name it - Consumers: the website adds `Inter` after `"Alliance No.2"` in its sans stack on the next upgrade - **Logo exports accepted** - Decision 0006, proposed in 1.2.0, is now accepted ## 1.2.2 - 2026-10-27 ### Fixed - **The site root shows the reference page** - No redirect, so the address stays `/` - `/` serves the page directly instead of redirecting to `/reference/` - The page loads `data.js` through `../reference/`, so it works from both addresses and from disk ## 1.2.1 - 2026-10-27 ### Fixed - **Hosting on Netlify** - The reference page is online for the whole team - `netlify.toml` publishes the whole repo, deployed from `main` - The site root redirects to the reference page - Markdown files are served as plain text, so source links open in the browser ## 1.2.0 - 2026-10-27 ### Added - **Logo exports** - Ready-made logo files for every common use (decision 0006, proposed) - One-colour navy and white versions of both lockups; the arches-only mark in four colourways - A transparent 2000px PNG of every logo SVG, built by `scripts/build-logo-exports.mjs` - `assets/logo/README.md` has a "Which file to use" table; Office files point to the PNGs - Replaces hand-made exports in circulation (`#0F1319` black, different spacing) - **Source files with copy links** - Hand any brand file to a tool without cloning the repo - Each reference page section lists its files one per line; each opens in a new tab - A copy button copies the hosted address, for Claude or Figma ### Fixed - **Reference page top bar fits** - No section link is clipped any more - The 13 section links overflowed the `1240px` wrap and the last ones were clipped - Process, Pre-flight and Open items moved into a "More" menu, with any link that does not fit - The section in view turns its link from muted to ink, colour only - **One version number** - The changelog heading is the brand's only version - Removed `meta.version` from `tokens/tokens.json`; it was never bumped - The reference page shows the version as "Brand vX.Y.Z", from the changelog - Consumers: none in this repo; a repo that read the field should read the pinned tag ## 1.1.1 - 2026-10-21 ### Fixed - **New-hire video: halftone shoulder gap** - The photo edge no longer shows a thin gap - A scalloped gap could show where the dots meet the solid photo - The solid part now starts one dot row earlier; decision 0004 is unchanged ## 1.1.0 - 2026-10-20 ### Added - **New-hire video photo treatment** - Recorded with its exception to the one-accent rule (decision 0004) - For this template only, for now - **Brand slogan** - "With courage and grit, always first into the fire." (decision 0005) - Added to the skill's voice section - **Social loops in `video.md`** - Rules for short looping social videos - First frame is the last frame; line builds take 300ms with a 70ms stagger - The card holds about 3s; the signal lines can run behind it - `motion.md` and the reference page summarise it; the new-hire template follows it - **Release steps in `CONTRIBUTING.md`** - How a change becomes a release - Including the plain-merge sync from `main` back into `master` - `main` stays the Azure default branch ## 1.0.0 - 2026-10-20 The first release. Two breaking changes against the brand as it stood on the website: the drawn mark replaces the typeset wordmark (0002), and mint replaces red as the accent (0003). ### Breaking - **Mint replaces red as the accent** - The brand's one accent colour is now mint (decision 0003) - `signal` is `#5e8e81` light, `#93e0c6` dark; `signal-tint` is `rgba(147,224,198,.16)` - The `red` accent is renamed `mint`; a new `error` token keeps the old reds for errors - Consumers: the website (shipped in GW-213), its OG share card (still red) - Consumers: any deck, document or social asset made with the skill before this change - **The logo is the designer's drawn mark** - It replaces the wordmark set in type (decision 0002) - The horizontal masters keep their filenames, rebuilt from the `.ai` with the drawn wordmark - The box is tight to the artwork: 40px of CSS height now draws about a 27px logo - Arches are grouped and classed, no longer stroked; hover offsets are -18.5 to 18.5 - Consumers: listed in the decision record ### Added - **Repo foundation** - The brand gets its own repo and owners - `CLAUDE.md`, `README.md`, `CONTRIBUTING.md`, `CHECKLIST.md`, and Git LFS for binaries - Brand owners: Aurimas Adomavicius and Alex Cadice; either can approve - **Migrated from `gritmind-website-v2`** - Tokens, fonts, logo and skill move here - `tokens/tokens.json` with unchanged values, fonts, the logo and the Claude skill - `scripts/build-skill.mjs` assembles the skill's assets from tokens, logo and fonts - **Logo lockups and sources** - Every lockup built from the designer's files - The stacked lockup, navy on light and white on dark - `gritmind-logo-full-white-on-dark.svg`, matching the website's dark-mode logo - `scripts/import-logo-ai.py` builds the four masters from the designer's `.ai` files - **Formal logo animation** - The logo's motion, rebuilt from the After Effects master - `gritmind-logo-animation.js`, without dependencies, frame for frame - The skill ships it; the reference page plays it; `motion.md` and `video.md` point to it - **The swoosh** - The brand's wave graphic, as a generator and masters - `gritmind-swoosh.js`, a dependency-free generator rebuilt from the designer's file - Single-wave and four-wave SVG masters in both colourways, from `scripts/build-swoosh.mjs` - **New-hire video template** - The LinkedIn new-hire loop, made from brand files - `templates/video/new-hire/` in Remotion, reading this repo's tokens, logo and fonts - Each hire is a folder outside the repo; renders are named `-draft` until a tagged release - Includes a `new-hire-video` Claude skill; open brand exceptions are in its README - **Video guideline** - How a Gritmind video is made, from brief to hand-off - `guidelines/production/video.md`: process, formats, safe zones, timing, sound and review - Repeatable formats are templates under `templates/video/`; the skill ships `guidelines/` - **Team photos in social posts** - Allowed in posts about that person (decision 0001) - Additive, no consumers to update - **The `draft` token** - The colour of the website's draft-post badge - `#2563eb` light, `#5b8cff` dark - **Reference page** - Every token, asset and rule on one browsable page - `reference/index.html`, rendered from `tokens/tokens.json` - The logo section shows both lockups and measures the master - **Licensing outside the repo** - Font and Remotion licences are managed elsewhere - `assets/fonts/LICENSE.md` and the licensing rules removed ### Fixed - **Accent contrast in `web.md`** - The old red's contrast was overstated - Red on off-white is 3.94:1, AA for large text only, not about 4.6:1 - **Logo README hover description** - It described the hover backwards - On hover the arches draw together; they do not spread - **Logo sizes for documents and social cards** - Adjusted for the tighter logo box - `docs.md`: 22px in document headers and 27px on social cards