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 450 300" xmlns="http://www.w3.org/2000/svg">
  <rect x="0" y="0" width="450" height="300" fill="#ffffff"/>
  <g fill="none" stroke="#2b2f38" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">

    <!-- SUN -->
    <g transform="translate(25,25)">
      <circle cx="50" cy="50" r="18"/>
      <line x1="76" y1="50" x2="90" y2="50"/>
      <line x1="68.3" y1="68.3" x2="78.3" y2="78.3"/>
      <line x1="50" y1="76" x2="50" y2="90"/>
      <line x1="31.7" y1="68.3" x2="21.7" y2="78.3"/>
      <line x1="24" y1="50" x2="10" y2="50"/>
      <line x1="31.7" y1="31.7" x2="21.7" y2="21.7"/>
      <line x1="50" y1="24" x2="50" y2="10"/>
      <line x1="68.3" y1="31.7" x2="78.3" y2="21.7"/>
    </g>

    <!-- CLOUD -->
    <g transform="translate(175,25)">
      <path d="M20,55 C8,55 0,47 0,37 C0,28 7,20 16,19 C18,9 27,2 38,2 C47,2 55,7 58,15 C68,13 78,20 78,30 C78,31 78,32 78,33 C86,35 92,42 92,50 C92,53 89,55 86,55 Z" transform="translate(4,20)"/>
    </g>

    <!-- FOG -->
    <g transform="translate(325,25)">
      <path d="M20,55 C8,55 0,47 0,37 C0,28 7,20 16,19 C18,9 27,2 38,2 C47,2 55,7 58,15 C68,13 78,20 78,30 C78,31 78,32 78,33 C86,35 92,42 92,50 C92,53 89,55 86,55 Z" transform="translate(10,3) scale(0.85)"/>
      <line x1="12" y1="62" x2="88" y2="62"/>
      <line x1="22" y1="76" x2="78" y2="76"/>
      <line x1="15" y1="90" x2="85" y2="90"/>
    </g>

    <!-- RAIN -->
    <g transform="translate(25,175)">
      <path d="M20,55 C8,55 0,47 0,37 C0,28 7,20 16,19 C18,9 27,2 38,2 C47,2 55,7 58,15 C68,13 78,20 78,30 C78,31 78,32 78,33 C86,35 92,42 92,50 C92,53 89,55 86,55 Z" transform="translate(4,2)"/>
      <line x1="30" y1="63" x2="22" y2="85"/>
      <line x1="50" y1="63" x2="42" y2="85"/>
      <line x1="70" y1="63" x2="62" y2="85"/>
    </g>

    <!-- SNOW -->
    <g transform="translate(175,175)">
      <path d="M20,55 C8,55 0,47 0,37 C0,28 7,20 16,19 C18,9 27,2 38,2 C47,2 55,7 58,15 C68,13 78,20 78,30 C78,31 78,32 78,33 C86,35 92,42 92,50 C92,53 89,55 86,55 Z" transform="translate(4,2)"/>
      <g>
        <line x1="28" y1="72" x2="28" y2="88"/>
        <line x1="20" y1="80" x2="36" y2="80"/>
        <line x1="22.3" y1="74.3" x2="33.7" y2="85.7"/>
        <line x1="33.7" y1="74.3" x2="22.3" y2="85.7"/>
      </g>
      <g>
        <line x1="50" y1="76" x2="50" y2="92"/>
        <line x1="42" y1="84" x2="58" y2="84"/>
        <line x1="44.3" y1="78.3" x2="55.7" y2="89.7"/>
        <line x1="55.7" y1="78.3" x2="44.3" y2="89.7"/>
      </g>
      <g>
        <line x1="72" y1="72" x2="72" y2="88"/>
        <line x1="64" y1="80" x2="80" y2="80"/>
        <line x1="66.3" y1="74.3" x2="77.7" y2="85.7"/>
        <line x1="77.7" y1="74.3" x2="66.3" y2="85.7"/>
      </g>
    </g>

    <!-- THUNDERSTORM -->
    <g transform="translate(325,175)">
      <path d="M20,55 C8,55 0,47 0,37 C0,28 7,20 16,19 C18,9 27,2 38,2 C47,2 55,7 58,15 C68,13 78,20 78,30 C78,31 78,32 78,33 C86,35 92,42 92,50 C92,53 89,55 86,55 Z" transform="translate(4,2)"/>
      <path d="M56,60 L40,82 L54,82 L38,98"/>
    </g>

  </g>
</svg>
```

request envelope — prompt redacted

{
  "model": "anthropic/claude-sonnet-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": "913c6230-cffd-4220-a05f-aa5c3bf66c4d"
}