diff -ruN adom-theme.orig/README.md adom-theme/README.md --- adom-theme.orig/README.md 2026-10-22 14:27:08.412861761 -0500 +++ adom-theme/README.md 2026-10-22 14:35:56.473480638 -0500 @@ -1,6 +1,6 @@ # Adom Theme -The color schemes, tokens, and typefaces that make every Adom surface look like one company built it. This page is the extensive tour: what the five schemes look like, the exact background and foreground values, the fonts we install for the user, and how the system is wired into Hydrogen Desktop (including VS Code), Adom Desktop, and the wiki. The machine-readable contract an implementing agent should follow is [SKILL.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/SKILL.md) on this same page (install: `adom-wiki pkg install adom-theme-system`). +The color schemes, tokens, and typefaces that make every Adom surface look like one company built it. This page is the extensive tour: what the five schemes look like, the exact background and foreground values, the fonts we install for the user, and how the system is wired into Hydrogen Desktop (including VS Code), Adom Desktop, and the wiki. The machine-readable contract an implementing agent should follow is [SKILL.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/SKILL.md) on this same page (install: `adom-wiki pkg install adom/adom-theme`). Why this gets its own page: themes are a big part of whether Adom reads as a professional product or an amateur one. A user touches three of our surfaces in their first ten minutes (Hydrogen Desktop, Adom Desktop, the wiki), and any mismatch between them is instantly visible. So the palette, the names, the fonts, and the rules live in one place, with screenshots proving what each surface actually renders today. @@ -156,7 +156,7 @@ - **On Windows itself**: the AI chat panel is an isolated webview that does not load the workbench's webfonts, so Satoshi must also be installed as a real Windows font for chat prose to render there. Standing deployment requirement, documented in [DEPLOYMENT-CHECKLIST.md](https://github.com/adom-inc/hydrogen-desktop/blob/main/docs/DEPLOYMENT-CHECKLIST.md). - **Fresh installs**: [hd-bootstrap.sh](https://github.com/adom-inc/hydrogen-desktop/blob/main/scripts/hd-bootstrap.sh) seeds new machines with the Adom Studio theme and the full font pairing, including the chat font keys. -Licensing decides what this page can carry. JetBrains Mono and Familjen Grotesk are OFL 1.1, so their woff2 files live right here in [fonts/](https://wiki.adom.inc/adom/adom-theme-system) with their license texts beside them. Satoshi's Fontshare EULA explicitly forbids "uploading them in a public server", so its binaries are deliberately absent: [fonts/satoshi/README.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/fonts/satoshi/README.md) documents the official Fontshare endpoints, and this page's install.sh fetches the faces from those servers automatically (the EULA-sanctioned channel). Read [fonts/LICENSES.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/fonts/LICENSES.md) for the full rules before copying font files anywhere. +Licensing decides what this page can carry. JetBrains Mono and Familjen Grotesk are OFL 1.1, so their woff2 files live right here in [fonts/](https://wiki.adom.inc/adom/adom-theme) with their license texts beside them. Satoshi's Fontshare EULA explicitly forbids "uploading them in a public server", so its binaries are deliberately absent: [fonts/satoshi/README.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/fonts/satoshi/README.md) documents the official Fontshare endpoints, and this page's install.sh fetches the faces from those servers automatically (the EULA-sanctioned channel). Read [fonts/LICENSES.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/fonts/LICENSES.md) for the full rules before copying font files anywhere. Users can override both slots in Settings. Each picker shows a readout of the family the workbench actually resolved (measured inside the editor document, not assumed), and "Match theme" states which font that means right now. Picks narrate their progress ("Reloading VS Code to set font...", then "Done. JetBrains Mono loaded.") because an editor reload is slow enough to need a spinner: @@ -194,7 +194,7 @@ ![Adom Desktop v1.9.198](https://wiki.adom.inc/api/pages/adom/adom-theme/files/docs/ad.png) -What AD does not yet have is the token layer: its colors are its own CSS rather than the generated `--bg / --surface / --text` ramp, and it offers no scheme choice. The step-by-step checklist for bringing AD onto the system (adopt the token table, honor the five slugs, reuse the parity and naming laws, style approvals from the same tokens) is in [SKILL.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/SKILL.md), and the concrete artifacts to start from are on this page: [tokens.css](https://wiki.adom.inc/api/pages/adom/adom-theme/files/tokens.css) (drop-in CSS custom properties for all five schemes) and the generated [vscode/ pack](https://wiki.adom.inc/adom/adom-theme-system) as a worked example of projecting the tokens onto another surface. Since HD and AD share one machine and one user, the near-term win is AD honoring the same slugs so a scheme choice in HD can carry across. +What AD does not yet have is the token layer: its colors are its own CSS rather than the generated `--bg / --surface / --text` ramp, and it offers no scheme choice. The step-by-step checklist for bringing AD onto the system (adopt the token table, honor the five slugs, reuse the parity and naming laws, style approvals from the same tokens) is in [SKILL.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/SKILL.md), and the concrete artifacts to start from are on this page: [tokens.css](https://wiki.adom.inc/api/pages/adom/adom-theme/files/tokens.css) (drop-in CSS custom properties for all five schemes) and the generated [vscode/ pack](https://wiki.adom.inc/adom/adom-theme) as a worked example of projecting the tokens onto another surface. Since HD and AD share one machine and one user, the near-term win is AD honoring the same slugs so a scheme choice in HD can carry across. **The wiki** ships the dark ground, teal identity, and Satoshi-style type today: @@ -237,14 +237,14 @@ ## 8. Files -Everything an implementer needs is ON this page, because the living repo below is private and other agents cannot read it. The page copies are pinned at commit `a4c764be` (theme pack v7.2.0); browse the full tree on the [page's Files tab](https://wiki.adom.inc/adom/adom-theme-system). +Everything an implementer needs is ON this page, because the living repo below is private and other agents cannot read it. The page copies are pinned at commit `a4c764be` (theme pack v7.2.0); browse the full tree on the [page's Files tab](https://wiki.adom.inc/adom/adom-theme). - [SKILL.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/SKILL.md): the implementation contract (full token tables, laws, fonts, VS Code, the AD checklist) - [tokens.css](https://wiki.adom.inc/api/pages/adom/adom-theme/files/tokens.css): all five schemes as CSS custom properties, extracted verbatim from the reference. The starting artifact for AD's re-brand and any web surface. - `vscode/`: the complete generated theme pack ([package.json](https://wiki.adom.inc/api/pages/adom/adom-theme/files/vscode/package.json) plus five theme JSONs). Cloud containers and any code-server install can copy this directly into `~/.local/share/code-server/extensions/adom.adom-themes-7.2.0/`. - `fonts/`: the redistributable brand fonts with their licenses. JetBrains Mono (4 faces) and Familjen Grotesk (variable), each with `OFL.txt` beside them. Satoshi has a folder too, holding only [fonts/satoshi/README.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/fonts/satoshi/README.md) (where to get it and why no binaries live here); [fonts/LICENSES.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/fonts/LICENSES.md) explains the exact license situation for all three faces and what you may copy where. - `reference/`: byte-exact copies of the machinery, since the repo is private: the theme generator, its template, the font installer, and all three guard scripts, with a [provenance README](https://wiki.adom.inc/api/pages/adom/adom-theme/files/reference/README.md). -- [install.sh](https://wiki.adom.inc/api/pages/adom/adom-theme/files/install.sh): `adom-wiki pkg install adom-theme-system` installs the skill, and where code-server is present also installs the theme pack (making the five Adom themes selectable, without changing the active theme), the OFL fonts, and Satoshi fetched live from Fontshare's official servers with wOF2 verification. Verified end to end in a standard Adom cloud container. +- [install.sh](https://wiki.adom.inc/api/pages/adom/adom-theme/files/install.sh): `adom-wiki pkg install adom/adom-theme` installs the skill, and where code-server is present also installs the theme pack (making the five Adom themes selectable, without changing the active theme), the OFL fonts, and Satoshi fetched live from Fontshare's official servers with wOF2 verification. Verified end to end in a standard Adom cloud container. - [docs/tokens.png](https://wiki.adom.inc/api/pages/adom/adom-theme/files/docs/tokens.png) and `docs/scheme-*.png`: the rendered token sheet and the five verified captures. Source of truth in the Hydrogen Desktop repo (private; the copies above exist because of that): diff -ruN adom-theme.orig/SKILL.md adom-theme/SKILL.md --- adom-theme.orig/SKILL.md 2026-10-22 14:27:08.412861761 -0500 +++ adom-theme/SKILL.md 2026-10-22 14:36:16.262541268 -0500 @@ -1,6 +1,9 @@ --- -name: adom-theme-system -description: THE Adom application theme system, the canonical spec every Adom desktop app implements (Hydrogen Desktop is the reference; Adom Desktop is the next implementer). Five colour schemes with exact tokens, slugs vs product labels, per-scheme font pairings, the VS Code theme contract, storage migration rules, and the guard scripts that keep implementations honest. Trigger words - adom theme, adom themes, color scheme, colour scheme, theme tokens, adom design tokens, implement adom themes, adom studio theme, kickstand, adom slate, bright inverse, scheme slugs, adom fonts, satoshi, jetbrains mono, familjen grotesk, vs code adom theme. +name: adom-theme +description: >- + The Adom app theme system, the spec every Adom desktop app implements (Hydrogen is the reference): + five colour schemes, exact tokens, font pairings, the VS Code theme pack. Use when asked about + adom theme, color scheme, theme tokens, implement adom themes, kickstand, adom slate. --- # The Adom Theme System @@ -19,11 +22,11 @@ - `src/lib/stores/settings.ts` - FONTS_FOR_SCHEME, slugs, labels, migrations Because that repo is private, the wiki page carries usable copies (pinned @ a4c764be, pack -v7.2.0) at https://wiki.adom.inc/adom/adom-theme-system : +v7.2.0) at https://wiki.adom.inc/adom/adom-theme : - `tokens.css` - all five scheme blocks as drop-in CSS custom properties -- `vscode/` - the complete generated theme pack; copy into - `~/.local/share/code-server/extensions/adom.adom-themes-/` (the page's install.sh - does this automatically when code-server is present) +- `vscode/` - the complete generated theme pack (extension id `adom.adom-theme`); install it + as a `.vsix`, never by copying the folder (the page's install.sh does this automatically + when code-server is present; see "Delivering the pack" below) - `fonts/` - the REDISTRIBUTABLE faces only: JetBrains Mono + Familjen Grotesk (both OFL 1.1, license texts beside the files). Satoshi binaries are NOT there and must never be uploaded to any public server (Fontshare EULA); `fonts/satoshi/README.md` documents the official @@ -195,12 +198,12 @@ `CODE_SERVER_PARENT_PID` (and `VSCODE_IPC_HOOK_CLI`) from the editor terminal that is running the installer. `env -u` both before invoking it. -The litmus is registration, not files on disk: assert the `adom.adom-themes` id +The litmus is registration, not files on disk: assert the `adom.adom-theme` id appears in `extensions.json` after installing. A directory check passes for a pack that is about to be deleted, which is exactly how this got past a build gate. Uninstall through the CLI too, so the registration goes with the folder. -## 7. Implementing in Adom Desktop, the checklist +## 7. Implementing in Adom Bridge (ab) or another Adom app, the checklist 1. Define the tokens as CSS custom properties on `:root` (the studio-dark values) plus one `[data-scheme='']` block per scheme copied from the table above. Adom Studio's diff -ruN adom-theme.orig/fonts/LICENSES.md adom-theme/fonts/LICENSES.md --- adom-theme.orig/fonts/LICENSES.md 2026-10-22 14:27:08.424862280 -0500 +++ adom-theme/fonts/LICENSES.md 2026-10-22 14:35:56.473480638 -0500 @@ -6,7 +6,7 @@ |---|---|---|---|---| | JetBrains Mono | Code | SIL Open Font License 1.1 | Yes (`fonts/jetbrains-mono/`, 4 faces + OFL.txt) | OFL permits redistribution when the license text accompanies the files | | Familjen Grotesk | Headlines, Kickstand prose | SIL Open Font License 1.1 | Yes (`fonts/familjen-grotesk/`, variable face + OFL.txt) | Same OFL terms | -| Satoshi | Prose (the main body face) | Fontshare Free Font EULA (Indian Type Foundry) | **No binaries, deliberately** | The FFL forbids hosting the files publicly (see below). [`satoshi/README.md`](https://wiki.adom.inc/api/pages/adom/adom-theme-system/files/fonts/satoshi/README.md) says where to get it, and `install.sh` fetches it from Fontshare automatically | +| Satoshi | Prose (the main body face) | Fontshare Free Font EULA (Indian Type Foundry) | **No binaries, deliberately** | The FFL forbids hosting the files publicly (see below). [`satoshi/README.md`](https://wiki.adom.inc/api/pages/adom/adom-theme/files/fonts/satoshi/README.md) says where to get it, and `install.sh` fetches it from Fontshare automatically | ## The OFL pair (JetBrains Mono, Familjen Grotesk) diff -ruN adom-theme.orig/fonts/satoshi/README.md adom-theme/fonts/satoshi/README.md --- adom-theme.orig/fonts/satoshi/README.md 2026-10-22 14:27:08.428862456 -0500 +++ adom-theme/fonts/satoshi/README.md 2026-10-22 14:35:56.473480638 -0500 @@ -1,6 +1,6 @@ # Satoshi (not stored here, on purpose) -Satoshi is the Adom brand's prose face: UI copy, chat, markdown. Unlike its two OFL siblings in the folders next door, its files are NOT committed to this page, because its license forbids exactly that. The Fontshare Free Font EULA (Indian Type Foundry) prohibits distribution "by e-mail, on USB sticks, CD-ROMs, or other media, uploading them in a public server or making the fonts available on peer-to-peer networks", and this wiki is a public server. Full licensing story for all three brand faces: [../LICENSES.md](https://wiki.adom.inc/api/pages/adom/adom-theme-system/files/fonts/LICENSES.md). +Satoshi is the Adom brand's prose face: UI copy, chat, markdown. Unlike its two OFL siblings in the folders next door, its files are NOT committed to this page, because its license forbids exactly that. The Fontshare Free Font EULA (Indian Type Foundry) prohibits distribution "by e-mail, on USB sticks, CD-ROMs, or other media, uploading them in a public server or making the fonts available on peer-to-peer networks", and this wiki is a public server. Full licensing story for all three brand faces: [../LICENSES.md](https://wiki.adom.inc/api/pages/adom/adom-theme/files/fonts/LICENSES.md). ## Where to get it @@ -10,7 +10,7 @@ - Direct ZIP (official API): [api.fontshare.com/v2/fonts/download/satoshi](https://api.fontshare.com/v2/fonts/download/satoshi) - Hosted CSS for web surfaces: `https://api.fontshare.com/v2/css?f[]=satoshi@400,500,700&display=swap` -**You usually do not need to do this by hand.** This page's [install.sh](https://wiki.adom.inc/api/pages/adom/adom-theme-system/files/install.sh) downloads Satoshi from that official endpoint during install, verifies the wOF2 magic bytes, and places the faces beside the OFL fonts. Offline installs skip it gracefully and print this README's URL. +**You usually do not need to do this by hand.** This page's [install.sh](https://wiki.adom.inc/api/pages/adom/adom-theme/files/install.sh) downloads Satoshi from that official endpoint during install, verifies the wOF2 magic bytes, and places the faces beside the OFL fonts. Offline installs skip it gracefully and print this README's URL. ## Which faces the brand uses diff -ruN adom-theme.orig/package.json adom-theme/package.json --- adom-theme.orig/package.json 2026-10-22 14:27:08.428862456 -0500 +++ adom-theme/package.json 2026-10-22 14:36:25.250930610 -0500 @@ -1,7 +1,7 @@ { "slug": "adom-theme", "name": "adom-theme", - "version": "2.3.8", + "version": "2.3.9", "type": "skill", "description": "THE Adom application theme: five colour schemes with exact tokens, slugs vs labels, font pairings, the VS Code theme pack (adom.adom-theme, version-locked to this package), migration rules, and the guards. Hydrogen Desktop is the reference implementation.", "discovery_triggers": [ diff -ruN adom-theme.orig/page.json adom-theme/page.json --- adom-theme.orig/page.json 2026-10-22 14:27:08.428862456 -0500 +++ adom-theme/page.json 2026-10-22 14:36:25.250930610 -0500 @@ -52,7 +52,7 @@ "path": "screenshots/hero-v6.png" }, "name": "adom-theme", - "version": "2.3.8", + "version": "2.3.9", "description": "THE Adom application theme: five colour schemes with exact tokens, slugs vs labels, font pairings, the VS Code theme pack (adom.adom-theme, version-locked to this package), migration rules, and the guards. Hydrogen Desktop is the reference implementation.", "discovery_pitch": "Implementing or matching Adom's look in any app: load this first. Exact tokens for all five schemes, the slug/label contract, font pairings and delivery traps, and the guard scripts.", "files": [ diff -ruN adom-theme.orig/readme.html adom-theme/readme.html --- adom-theme.orig/readme.html 2026-10-22 14:27:08.428862456 -0500 +++ adom-theme/readme.html 2026-10-22 14:35:56.473480638 -0500 @@ -38,7 +38,7 @@

Adom Theme

-

The color schemes, tokens, and typefaces that make every Adom surface look like one company built it. This page is the extensive tour: what the five schemes look like, the exact background and foreground values, the fonts we install for the user, and how the system is wired into Hydrogen Desktop (including VS Code), Adom Desktop, and the wiki. The machine-readable contract an implementing agent should follow is SKILL.md on this same page (install: adom-wiki pkg install adom-theme-system).

+

The color schemes, tokens, and typefaces that make every Adom surface look like one company built it. This page is the extensive tour: what the five schemes look like, the exact background and foreground values, the fonts we install for the user, and how the system is wired into Hydrogen Desktop (including VS Code), Adom Desktop, and the wiki. The machine-readable contract an implementing agent should follow is SKILL.md on this same page (install: adom-wiki pkg install adom/adom-theme).

Why this gets its own page: themes are a big part of whether Adom reads as a professional product or an amateur one. A user touches three of our surfaces in their first ten minutes (Hydrogen Desktop, Adom Desktop, the wiki), and any mismatch between them is instantly visible. So the palette, the names, the fonts, and the rules live in one place, with screenshots proving what each surface actually renders today.


0. Identity and versioning (one number, everywhere)

@@ -225,7 +225,7 @@
  • On Windows itself: the AI chat panel is an isolated webview that does not load the workbench's webfonts, so Satoshi must also be installed as a real Windows font for chat prose to render there. Standing deployment requirement, documented in DEPLOYMENT-CHECKLIST.md.
  • Fresh installs: hd-bootstrap.sh seeds new machines with the Adom Studio theme and the full font pairing, including the chat font keys.
  • -

    Licensing decides what this page can carry. JetBrains Mono and Familjen Grotesk are OFL 1.1, so their woff2 files live right here in fonts/ with their license texts beside them. Satoshi's Fontshare EULA explicitly forbids "uploading them in a public server", so its binaries are deliberately absent: fonts/satoshi/README.md documents the official Fontshare endpoints, and this page's install.sh fetches the faces from those servers automatically (the EULA-sanctioned channel). Read fonts/LICENSES.md for the full rules before copying font files anywhere.

    +

    Licensing decides what this page can carry. JetBrains Mono and Familjen Grotesk are OFL 1.1, so their woff2 files live right here in fonts/ with their license texts beside them. Satoshi's Fontshare EULA explicitly forbids "uploading them in a public server", so its binaries are deliberately absent: fonts/satoshi/README.md documents the official Fontshare endpoints, and this page's install.sh fetches the faces from those servers automatically (the EULA-sanctioned channel). Read fonts/LICENSES.md for the full rules before copying font files anywhere.

    Users can override both slots in Settings. Each picker shows a readout of the family the workbench actually resolved (measured inside the editor document, not assumed), and "Match theme" states which font that means right now. Picks narrate their progress ("Reloading VS Code to set font...", then "Done. JetBrains Mono loaded.") because an editor reload is slow enough to need a spinner:

    Hydrogen Desktop settings, Appearance section at defaults


    @@ -251,7 +251,7 @@

    Hydrogen Desktop is the reference implementation: tokens, five schemes, generated VS Code pack, font installation, migrations. Everything above.

    Adom Desktop already sits on the brand ground with teal accents and reads clearly as Adom:

    Adom Desktop v1.9.198

    -

    What AD does not yet have is the token layer: its colors are its own CSS rather than the generated --bg / --surface / --text ramp, and it offers no scheme choice. The step-by-step checklist for bringing AD onto the system (adopt the token table, honor the five slugs, reuse the parity and naming laws, style approvals from the same tokens) is in SKILL.md, and the concrete artifacts to start from are on this page: tokens.css (drop-in CSS custom properties for all five schemes) and the generated vscode/ pack as a worked example of projecting the tokens onto another surface. Since HD and AD share one machine and one user, the near-term win is AD honoring the same slugs so a scheme choice in HD can carry across.

    +

    What AD does not yet have is the token layer: its colors are its own CSS rather than the generated --bg / --surface / --text ramp, and it offers no scheme choice. The step-by-step checklist for bringing AD onto the system (adopt the token table, honor the five slugs, reuse the parity and naming laws, style approvals from the same tokens) is in SKILL.md, and the concrete artifacts to start from are on this page: tokens.css (drop-in CSS custom properties for all five schemes) and the generated vscode/ pack as a worked example of projecting the tokens onto another surface. Since HD and AD share one machine and one user, the near-term win is AD honoring the same slugs so a scheme choice in HD can carry across.

    The wiki ships the dark ground, teal identity, and Satoshi-style type today:

    wiki.adom.inc home

    Its values are close cousins of Studio Dark rather than literal token consumers (it is a separate codebase serving the public internet). The alignment worth holding: teal #00b8b1 as the only accent, near-black grounds, no second accent hue creeping in.

    @@ -275,14 +275,14 @@

    Two cheap fixes, either works: redirect /login to hydrogen.adom.inc/auth/login, or give adom.inc a branded 404 (ground #0d1117, teal accent, Satoshi). Ideally both, since a branded 404 covers every future bad URL, not just this one.


    8. Files

    -

    Everything an implementer needs is ON this page, because the living repo below is private and other agents cannot read it. The page copies are pinned at commit a4c764be (theme pack v7.2.0); browse the full tree on the page's Files tab.

    +

    Everything an implementer needs is ON this page, because the living repo below is private and other agents cannot read it. The page copies are pinned at commit a4c764be (theme pack v7.2.0); browse the full tree on the page's Files tab.

    • SKILL.md: the implementation contract (full token tables, laws, fonts, VS Code, the AD checklist)
    • tokens.css: all five schemes as CSS custom properties, extracted verbatim from the reference. The starting artifact for AD's re-brand and any web surface.
    • vscode/: the complete generated theme pack (package.json plus five theme JSONs). Cloud containers and any code-server install can copy this directly into ~/.local/share/code-server/extensions/adom.adom-themes-7.2.0/.
    • fonts/: the redistributable brand fonts with their licenses. JetBrains Mono (4 faces) and Familjen Grotesk (variable), each with OFL.txt beside them. Satoshi has a folder too, holding only fonts/satoshi/README.md (where to get it and why no binaries live here); fonts/LICENSES.md explains the exact license situation for all three faces and what you may copy where.
    • reference/: byte-exact copies of the machinery, since the repo is private: the theme generator, its template, the font installer, and all three guard scripts, with a provenance README.
    • -
    • install.sh: adom-wiki pkg install adom-theme-system installs the skill, and where code-server is present also installs the theme pack (making the five Adom themes selectable, without changing the active theme), the OFL fonts, and Satoshi fetched live from Fontshare's official servers with wOF2 verification. Verified end to end in a standard Adom cloud container.
    • +
    • install.sh: adom-wiki pkg install adom/adom-theme installs the skill, and where code-server is present also installs the theme pack (making the five Adom themes selectable, without changing the active theme), the OFL fonts, and Satoshi fetched live from Fontshare's official servers with wOF2 verification. Verified end to end in a standard Adom cloud container.
    • docs/tokens.png and docs/scheme-*.png: the rendered token sheet and the five verified captures.

    Source of truth in the Hydrogen Desktop repo (private; the copies above exist because of that):

    diff -ruN adom-theme.orig/reference/README.md adom-theme/reference/README.md --- adom-theme.orig/reference/README.md 2026-10-22 14:27:08.428862456 -0500 +++ adom-theme/reference/README.md 2026-10-22 14:35:56.473480638 -0500 @@ -11,4 +11,4 @@ | `check-installed-themes.sh` | Machine guard: the theme pack is actually installed and the live `workbench.colorTheme` resolves. Catches VS Code's silent fallback-to-light-theme failure. | | `check-vscode-theme-names.sh` | Build guard: the theme labels the app pushes exist in the pack it ships. | -The installable artifacts these produce live one level up: [`../vscode/`](https://wiki.adom.inc/adom/adom-theme-system) (the generated pack) and [`../tokens.css`](https://wiki.adom.inc/api/pages/adom/adom-theme-system/files/tokens.css) (the extracted token blocks). If you change a token, regenerate; never edit the pack by hand. +The installable artifacts these produce live one level up: [`../vscode/`](https://wiki.adom.inc/adom/adom-theme) (the generated pack) and [`../tokens.css`](https://wiki.adom.inc/api/pages/adom/adom-theme/files/tokens.css) (the extracted token blocks). If you change a token, regenerate; never edit the pack by hand. diff -ruN adom-theme.orig/tokens.css adom-theme/tokens.css --- adom-theme.orig/tokens.css 2026-10-22 14:27:08.436862801 -0500 +++ adom-theme/tokens.css 2026-10-22 14:35:56.473480638 -0500 @@ -5,7 +5,7 @@ * Apply as * (studio-dark needs no block - it is the base). * Comments were stripped mechanically; the values are byte-exact. - * Living source + full rationale: https://wiki.adom.inc/adom/adom-theme-system + * Living source + full rationale: https://wiki.adom.inc/adom/adom-theme */ :root {