# Task 07 — Primitives **Agent**: `component-builder` · **Model**: MiniMax-M3 — **use this task to calibrate the model routing before fanning out** **Depends on**: 02 · **Blocks**: 08–11 **Worktree**: `.agents/scripts/worktree.sh start 07 primitives` ## Goal The four smallest reusable pieces, so the four parallel block tasks compose rather than reinvent. ## Scope `src/components/primitives/` — `Eyebrow.astro`, `Rule.astro`, `Callout.astro`, `CodeBlock.astro`. Nothing else. ## Why these four Each appears 10+ times across the current stylesheets: - **Eyebrow** — `10–11px` monospace, `letter-spacing:.08–.1em`, uppercase. The single most repeated treatment on the site and a signature of the design. - **Rule** — the `border-top: 4px solid var(--gold)` section divider. - **Callout** — gold-background emphasis block (`.callout`, `.thesis`). - **CodeBlock** — `
` on `--ink` with gold text.

## Steps

Copy `.agents/templates/components/static-block.astro` for each. Typed props,
tokens only, zero JS. Then grep the current CSS for every place each treatment
appears and confirm the component covers them all — if it needs five variants,
you have found two components, not one.

## Done when

- [ ] `.agents/checklists/before-component.md` complete for all four
- [ ] Rendered output visually identical to the CSS classes they replace
- [ ] `npm run gate` green
- [ ] **Routing note written**: how many iterations, what the model got wrong.
      This decides whether 08–11 run on M3 or move to Codex.

## Do not

Do not build blocks or touch pages. Do not edit `tokens.css`.