I committed to a creative direction so the system would run. Eight decisions in that direction need a yes / override from you, and six files need to land in this repo before the extension can stop loading fonts from a CDN and stop shipping the placeholder square-and-dot PNG.

Nothing here is locked. Override anything; the tokens are wired so a re-skin is a single-file edit.

§ 01

## Decisions to confirm or override

8 items

Each one currently has a proposed direction shipping in `colors_and_type.css` and the UI kit. Tick the box if you accept; replace inline if you want a different answer.

D-01 · Public display name
Is "Mokosh" the right `manifest.json:name`?
Proposing the codename surfaces externally as the public name. Alternative is keeping "AI Call Recorder" for store discoverability, or coining something new.
alt → "AI Call Recorder" · "Mokosh — Session Capture" · "Mokosh / АИ Регистратор"
brand
D-02 · Tagline
Confirm «Тридцать секунд назад, всегда под рукой.»
EN parallel: Thirty seconds ago, always within reach. Used on welcome hero + `manifest.json:description`.
brand
D-03 · Voice register
Two-register copy — terse RU on toolbar / popup / notification; bilingual RU+EN on welcome only.
Calm, operationally serious. Sentence case. Periods. No emoji. No exclamation marks. Address with «вы» on welcome; imperative verbs in popup.
brand
D-04 · Palette direction
"Loom" — linen + ink + dye-named accents. Light-primary with dark sibling.
Madder rust for REC is the boldest call. Alt is conventional material-red (`#D32F2F`) if rust reads off-brand.
override → flag the WCAG-AA-validated hex you'd prefer for any of madder / moss / amber / brick
design
D-05 · Type pairing
Newsreader (display) · IBM Plex Sans (UI) · IBM Plex Mono (mono).
All three OFL, all three cover Cyrillic. If a licensed face is preferred (e.g. an in-house family), name it and I'll rethread.
design
D-06 · Mark concept
2×2 weave intersection — see `assets/mokosh-mark.svg`.
References the goddess-of-weaving etymology without being illustrative. Holds at 16 px. Override with anything from a wordmark-only lockup to an illustrated scene.
design
D-07 · Iconography
Lucide — line, 1.5 stroke, 24 grid.
Open-licensed (ISC). Bundle locally for MV3. Alternative is a custom set or Phosphor / Heroicons. Tabler is the other strong line option.
design
D-08 · Per-state icon swap
Stick with neutral mark + dynamic badge, or commission per-state PNG sets?
Per-state requires 9 additional PNGs (3 sizes × 3 states) and a perf-costed `chrome.action.setIcon` swap on every state change. Default direction stays with the badge.
see `assets-spec.md` A-06 for the deliverable list if you pick swap
design
§ 02

## Files I need landed in this repo

6 deliverables

Priorities map to the engineering plan in the original `assets-spec.md`. P0 unblocks shipping a real branded build; P1 finishes the welcome surface; P2 is polish.

P0 fonts/newsreader-{400,500,600}.woff2
fonts/ibm-plex-sans-{400,500,600,700}.woff2
fonts/ibm-plex-mono-{400,500}.woff2 Webfont WOFF2 files. Currently loaded from Google Fonts via `@import`. MV3 CSP forbids remote `@font-face` at runtime — production must bundle. I'll rewire `colors_and_type.css` to local rules once these land. Cyrillic ✓ · WOFF2
P0 assets/extension-icons/icon16.png
assets/extension-icons/icon48.png
assets/extension-icons/icon128.png Branded extension icons. The three files currently in that folder are the upstream engineering placeholders (dark square + green dot). Rasterise from `assets/mokosh-mark.svg` — or supply a different mark if D-06 is overridden. ≥ 200 B · 500 B · 1 KB
P1 assets/extension-icons/icon192.png Hi-DPI notification icon. Optional but recommended for retina rendering of `chrome.notifications.create`. ≥ 2 KB
P1 copy/welcome.ru.md Final RU copy review. Hero title, three step bodies, three privacy cards. My draft in `ui_kits/extension/Welcome.jsx` is a working strawman. brand sign-off
P1 copy/welcome.en.md English parallel-text subhead. One line under the hero title. Brand decides whether to extend bilingual treatment to the step bodies. brand sign-off
P2 assets/icon-{rec,off,err}-{16,48,128}.png Per-state icon variants — only if D-08 lands on the swap direction. 9 files total. conditional
§ 03

## Acceptance criteria

non-creative · binding

These are engineering / accessibility floors, not creative direction. Anything you ship has to clear them.

WCAG AA4.5 : 1 normal text, 3 : 1 large. Current palette is pre-validated; overrides need re-validation.
Cyrillic ✓Every chosen face renders Russian glyphs without fallback. Plex + Newsreader currently pass.
MV3 CSPNo remote font / script loads at runtime. Bundle everything locally in `dist/`.
Notification floor`iconUrl` ≥ 128 px PNG, ≥ 1 KB. Chrome's `imageUtil` silently rejects smaller files.
Badge floorBadge text ≤ 4 characters. Chrome truncates beyond. "REC" / "ERR" both fit.
Reduced-motionAll transitions collapse to 0 ms under `prefers-reduced-motion`. Wired in `colors_and_type.css`.
Colour-independenceEvery state pairs colour with text or shape. Badge carries REC / ERR text alongside the colour.
Focus visible3 px halo on all interactive elements. `--mks-shadow-focus` works on any surface.
§ 04

## What I will do once you reply

turnaround

Round-trip cost so you can scope a review window.

+ 0 h Acknowledge each decision. If overridden, re-thread the token in `colors_and_type.css` and re-render every preview card + UI-kit surface that depends on it. + 1 h Swap the font import to local `@font-face` once the WOFF2 files arrive in `fonts/`. Verify Cyrillic specimen still renders in `preview/type-ui.html`. + 1 h Replace the placeholder PNGs in `assets/extension-icons/` the moment the rasterised versions arrive. Re-shoot `preview/brand-extension-icons.html` so the card stops carrying the substitution flag. + 2 h Inline final RU + EN copy in `ui_kits/extension/Welcome.jsx`. Lock badge tooltips and notification strings in a single source-of-truth file for engineering to wire. + ? Optional follow-on: dark-theme popup variant, smoke-test diagnostic overlay re-skin, animated icon (if D-08 chooses swap), and a tone audit of every Russian string in the original codebase against the agreed register.
Mokosh
handoff · v1 · 17.05.2026