icon-set-weather
rendered
the brief, redacted

Produce a six-icon weather set on a shared grid, in one SVG. Tests visual consistency across repeated elements — the place where most models drift.

386 chars · 64 words · fingerprint cea26cacf025

raw output — byte exact

```svg
<svg viewBox="0 0 600 120" xmlns="http://www.w3.org/2000/svg">
  <!-- Sun -->
  <g transform="translate(50, 60)">
    <circle cx="0" cy="0" r="16" fill="none" stroke="#000" stroke-width="2"/>
    <line x1="0" y1="-28" x2="0" y2="-36" stroke="#000" stroke-width="2" stroke-linecap="round"/>
    <line x1="0" y1="28" x2="0" y2="36" stroke="#000" stroke-width="2" stroke-linecap="round"/>
    <line x1="28" y1="0" x2="36" y2="0" stroke="#000" stroke-width="2" stroke-linecap="round"/>
    <line x1="-28" y1="0" x2="-36" y2="0" stroke="#000" stroke-width="2" stroke-linecap="round"/>
    <line x1="20" y1="-20" x2="25.5" y2="-25.5" stroke="#000" stroke-width="2" stroke-linecap="round"/>
    <line x1="-20" y1="20" x2="-25.5" y2="25.5" stroke="#000" stroke-width="2" stroke-linecap="round"/>
    <line x1="20" y1="20" x2="25.5" y2="25.5" stroke="#000" stroke-width="2" stroke-linecap="round"/>
    <line x1="-20" y1="-20" x2="-25.5" y2="-25.5" stroke="#000" stroke-width="2" stroke-linecap="round"/>
  </g>

  <!-- Cloud -->
  <g transform="translate(150, 60)">
    <path d="M -16 4 Q -24 4 -28 -2 Q -28 -12 -18 -16 Q -14 -22 -4 -22 Q 8 -22 12 -12 Q 18 -14 22 -8 Q 28 -2 24 6 Q 20 10 12 10 L -16 10 Q -22 10 -24 6" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"/>
  </g>

  <!-- Rain -->
  <g transform="translate(250, 60)">
    <path d="M -16 4 Q -24 4 -28 -2 Q -28 -12 -18 -16 Q -14 -22 -4 -22 Q 8 -22 12 -12 Q 18 -14 22 -8 Q 28 -2 24 6 Q 20 10 12 10 L -16 10 Q -22 10 -24 6" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"/>
    <line x1="-18" y1="14" x2="-22" y2="24" stroke="#000" stroke-width="2" stroke-linecap="round"/>
    <line x1="-4" y1="14" x2="-8" y2="24" stroke="#000" stroke-width="2" stroke-linecap="round"/>
    <line x1="10" y1="14" x2="6" y2="24" stroke="#000" stroke-width="2" stroke-linecap="round"/>
  </g>

  <!-- Snow -->
  <g transform="translate(350, 60)">
    <path d="M -16 4 Q -24 4 -28 -2 Q -28 -12 -18 -16 Q -14 -22 -4 -22 Q 8 -22 12 -12 Q 18 -14 22 -8 Q 28 -2 24 6 Q 20 10 12 10 L -16 10 Q -22 10 -24 6" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"/>
    <circle cx="-18" cy="19" r="2" fill="#000"/>
    <circle cx="-4" cy="19" r="2" fill="#000"/>
    <circle cx="10" cy="19" r="2" fill="#000"/>
    <circle cx="-18" cy="27" r="2" fill="#000"/>
    <circle cx="-4" cy="27" r="2" fill="#000"/>
    <circle cx="10" cy="27" r="2" fill="#000"/>
  </g>

  <!-- Fog -->
  <g transform="translate(450, 60)">
    <path d="M -16 0 Q -24 0 -28 -6 Q -28 -14 -18 -18 Q -14 -24 -4 -24 Q 8 -24 12 -14 Q 18 -16 22 -10 Q 28 -4 24 4 Q 20 8 12 8 L -16 8 Q -22 8 -24 4" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"/>
    <line x1="-28" y1="12" x2="24" y2="12" stroke="#000" stroke-width="2" stroke-linecap="round"/>
    <line x1="-28" y1="20" x2="24" y2="20" stroke="#000" stroke-width="2" stroke-linecap="round"/>
  </g>

  <!-- Thunderstorm -->
  <g transform="translate(550, 60)">
    <path d="M -16 4 Q -24 4 -28 -2 Q -28 -12 -18 -16 Q -14 -22 -4 -22 Q 8 -22 12 -12 Q 18 -14 22 -8 Q 28 -2 24 6 Q 20 10 12 10 L -16 10 Q -22 10 -24 6" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"/>
    <path d="M -2 14 L -6 24 L 0 24 L -4 34" fill="none" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
    <line x1="8" y1="14" x2="4" y2="24" stroke="#000" stroke-width="2" stroke-linecap="round"/>
  </g>
</svg>
```

request envelope — prompt redacted

{
  "model": "anthropic/claude-haiku-4.5",
  "system": "Respond with a single complete <svg> element and nothing else. No markdown fences, no explanation. Include an explicit viewBox. Do not reference external fonts, images, or stylesheets — the SVG must be fully self-contained.",
  "messages": [
    {
      "role": "user",
      "content": "«REDACTED — 68 words, 386 chars»"
    }
  ],
  "maxOutputTokens": 16000,
  "gatewayStringId": "189809da-2d08-4d08-bf2e-58338b3d0f1a"
}