# 14 · Governance

> Who owns this, how it changes, and what to do when two documents disagree.

---

## 14.1 Source of truth

**This repository is the brand.** Not a Notion page, not a Figma file, not the
CSS in whichever product shipped most recently.

Within the repo the precedence is:

1. **`tokens/tokens.json`** — the machine-readable contract. If a value is not here, it is not a Since Labs value.
2. **`docs/`** — the rules and the reasoning behind them.
3. **`components/ui/`** — the reference implementations.
4. **`assets/`** — the logo files.
5. **`audit/`** — where the shipped product currently diverges, and what to do about it.

Everything else — the Notion brand pages, the Canva kit, decks, the app's own
`globals.css` — is a **consumer** of this repo, and must be corrected to match it
rather than the other way round.

---

## 14.2 Conflicts on record

Resolved here, as of 2026-08-28. Update the listed sources.

| Question | Answer | Sources to correct |
|---|---|---|
| Brand orange | **`#C4602A`** (fills) + **`#A34A1F`** (text) | Notion `Agent.md` says `#E8501A`; Brand Design System Skills says `#C4561A`; Brand Guidelines v1 says `#FF5C35 TBD` |
| Typefaces | **Lora · DM Sans · Geist Mono** | Brand Design System Skills says Cormorant Garamond + Inter; Guidelines v1 says Inter/Geist/Space Grotesk TBD |
| Background | **`#F7F5F2`** | Brand Design System Skills says `#F0EBE3` |
| Dark ground | **`#1A1917`** | Brand Design System Skills says `#1E1A17` |
| Muted text | **`#6B6762`** | Brand Design System Skills says `#6B6560` |
| Positioning | **Command center for AI agents + AI-native lab**; beachhead is Finnish infrastructure & earthmoving | `Agent.md` §§ 3–5 still describe the shelved marketplace model |
| Marketplace / builder portal | **Shelved 2026-07-25.** Do not reuse | `Agent.md` §§ 1, 3, 5 |

The visual values above were read out of the CSS actually served by
`sincelabs.com` and `sincelabs/app`, so they are what customers see today. The
Notion figures were eyeball approximations made before the token files were
inspected — an understandable gap, now closed.

---

## 14.3 Ownership

| Area | Owner |
|---|---|
| Tokens, components, product UI | Yuehan John |
| Verbal identity, messaging, sales-facing material | Talha Ahmad |
| Finnish-language material and market fit | Jaakko Mäkipelto |
| This repo | Yuehan John, as maintainer |

Anyone may open a PR. Merges follow the same rule as `sincelabs/app`: **AG
merges on genuinely green CI.**

---

## 14.4 Changing the brand

**A token change is a breaking change.** It reaches the site, the product, every
email and every deck.

1. Open an issue naming the token, the current value, the proposed value, and **what problem it solves**. "It looks nicer" is not a problem.
2. Check the contrast consequences — run the [colour explorer](/color/) locally, or `lib/color.ts` directly.
3. Open a PR changing `tokens/tokens.json` **and** both CSS files together. They must never drift.
4. Update the chapter that documents it, in the same PR.
5. Add a row to the changelog.
6. On merge, open a follow-up issue on `sincelabs/app` to adopt it.

**Adding a component:** implement it in `components/ui/`, add it to the gallery,
document it in chapter 11, and clear the checklist at § 11.13.

**Adding a chapter:** create `docs/NN-slug.md` with an `# NN · Title` heading and
a one-line blockquote summary. Add it to `lib/nav.ts`. The site picks it up
automatically.

---

## 14.5 Consuming the brand

```
npm install github:sincelabs/brand
```

```css
@import "tailwindcss";
@import "@sincelabs/brand/tokens/since-brand.css";
@import "@sincelabs/brand/tokens/tailwind-theme.css";
```

```ts
import tokens from "@sincelabs/brand/tokens.json";
```

The target state for `sincelabs/app` is that `src/app/globals.css` contains
**only** those imports, with no local colour definitions at all. See the
[app audit](/audit/) for the path there.

---

## 14.6 Versioning

Semver on the repo:

- **Major** — a token is removed or changes meaning; a component's API breaks.
- **Minor** — a token or component is added; a chapter is added.
- **Patch** — wording, corrections, documentation.

Current: **v2.2.1**. (v1 was the Notion draft of 2026-06-03, which is now
superseded and should be marked as such in Notion.)

---

## 14.7 Changelog

### v2.2.1 — 2026-08-28

Site only — no token changed, so `tokens.json` stays at 2.2.0.

- Fixed the logo disappearing in the dark theme. The hero lockup was pinned to the ink file, so on an ink ground only the terracotta `//` survived; it now swaps to `since-wordmark-on-ink.svg` with the theme, which is what § 3.5 asks for wherever the ground is known.
- Fixed every logo preview showing the artwork on the wrong ground. The plates were built from `--sl-paper` and `--sl-ink`, which invert with the page — so in dark mode the card marked "light grounds" served an ink lockup on ink, and the one marked "dark grounds" served paper on paper. Both demonstrated the exact misuse they exist to prevent. Preview plates are now pinned to fixed brand values, recorded per asset as `plate` in `assets/logo/catalogue.json` and kept separate from the asset's own `ground`.

### v2.1.0 — 2026-08-28

The real logo artwork lands, and the guide becomes readable by software.

- Replaced the placeholder logo set with the vendor masters, trimmed to their own artwork. The exports arrived on a 1500 × 1500 art board that was 48–80% padding, with the dark variants drawn 1.25× larger than the light ones; `scripts/build-logo-assets.mjs` now measures each master's ink and crops to it, so every variant shares proportions and no file carries invisible margin.
- **Breaking:** the wordmark is now **outlined paths, not live DM Sans text**, and its letterforms are a serif. The five `since-wordmark-*.svg` files keep their names and render with no fonts installed. Anything that relied on them being `<text>` in DM Sans must be re-exported.
- **Breaking:** `since-mark.svg` is now the true mark geometry — two round-capped strokes on a 34 × 60 box, replacing the 32 × 32 approximation. It is taller than it is wide; layouts that assumed a square will need adjusting.
- Added the stacked lockup, transparent PNG renders at every size the platforms ask for, the 180/192/512/1024 app icons § 3.8 has always specified, the 1200 × 630 social card, and a one-file kit.
- Added [`TRADEMARKS.md`](../TRADEMARKS.md) and the [`/legal/`](/legal/) page — the first written statement of what may and may not be done with the marks, including by a model.
- Added the machine-readable surface: `/brand.json`, `/llms.txt`, `/llms-full.txt`, `/ai.txt`, `/sitemap.xml`, `/robots.txt`, raw markdown at `/docs/*.md`, and schema.org JSON-LD carrying the licence on every page. All generated from `docs/`, `tokens/` and `assets/`, so the machine surface cannot drift from the prose.
- Added the [downloads page](/downloads/), with the terms beside the files rather than a click away.
- Fixed chapter subtitles rendering their markdown as literal brackets and backticks.

### v2.0.0 — 2026-08-28

First complete, evidence-based brand guide. Built by auditing the CSS actually
served by `sincelabs.com` and `sincelabs/app`, rather than by proposing values.

- Resolved the brand orange to `#C4602A` and split out `#A34A1F` as the text/link colour, on contrast grounds.
- Confirmed the typeface system as Lora · DM Sans · Geist Mono.
- Documented the dark theme, including the two contrast traps.
- Added the full token set as JSON, plain CSS and a Tailwind v4 theme.
- Added the logo asset set built on a corrected, optically centred grid.
- Added UX principles, patterns and a component library with reference implementations.
- Added the app conformance audit.
- Carried the verbal identity forward from Guidelines v1, updated for the 2026-07-25 GTM correction.
- Published the guide as a statically exported Next.js site.

### v1 — 2026-06-03 (superseded)

Notion draft. Verbal identity complete; visual identity proposed and marked
TO CONFIRM.
