# Task 02c — Work the token-gap queue **Agent**: `design-system-keeper` · **Model**: `agy` (Gemini 3.1 Pro) **Depends on**: 02b, 15d · **Blocks**: 19 **Worktree**: `.agents/scripts/worktree.sh start 02c token-gaps` ## Why this task exists `check-tokens.mjs` bans raw hex, `font-size: Npx` and ad-hoc breakpoints outside the token layer. Until the escape hatch was added it offered no legal alternative, so agents told both "keep the site identical" and "get the gate green" cheated — writing px through the `font:` shorthand the regex misses, or substituting the nearest token and shipping a silent redesign (`12px` and `14px` both became `var(--step-1)`, 15px; a diff-added green became `var(--accent)`, purple). The `/* token-gap: ; owner design-system-keeper */` marker replaced that with an honest, visible queue. **You are the owner it names.** There are ~164 markers on `main`; get the real count yourself from `check-tokens.mjs` output. ## The work For each marked value, one of three outcomes — and the choice is yours to make, not to defer: 1. **The scale should cover it.** Extend `--step-*` and point the site at it. Most of the queue is this: `24px`, `25px`, `20px`, `17px`, `13px` fixed sizes from `chapters.css` that fall between existing steps. 2. **It is genuinely one-off.** Keep the literal value, delete the marker, and leave a comment saying why it is exempt. 3. **It was already wrong.** Some markers record a near-miss substitution an earlier task made under duress. Restoring the true legacy value is a visible change — screenshot it and say so. Work in batches by source file and commit per batch. A single 164-site commit is unreviewable. ## Do not - Do not weaken `check-tokens.mjs` to make markers disappear. Removing a check is not resolving a gap. - Do not touch `scripts/verify.mjs` — 42 assertions, verification-engineer only. - Do not leave a marker whose reason you have satisfied. ## Done when - [ ] Every marker either resolved into the scale or documented as a deliberate exemption - [ ] `check-tokens.mjs` reports zero unexplained gaps - [ ] Screenshots for every change that moved a pixel, differences explained - [ ] `pnpm run gate` green; 42 assertions intact