# 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** — `<pre>` 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
- [ ] `pnpm 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`.
