A serving tray where every table gets a drink it will take, by gpt-6-luna
gpt-6-luna · round 1 · seed 2$0.02SVGPNGtray.svg
tray.svg · 142 lines
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="900" viewBox="0 0 1200 900">
  <defs>
    <linearGradient id="wood" x2="0" y2="1">
      <stop offset="0" stop-color="#c98b52"/>
      <stop offset=".48" stop-color="#b97943"/>
      <stop offset="1" stop-color="#a96739"/>
    </linearGradient>
    <linearGradient id="cup" x2="0" y2="1">
      <stop stop-color="#fffdf7"/><stop offset="1" stop-color="#e9e0d1"/>
    </linearGradient>
    <linearGradient id="coffee" x2="0" y2="1">
      <stop stop-color="#8b4e2d"/><stop offset="1" stop-color="#382116"/>
    </linearGradient>
    <filter id="shadow" x="-20%" y="-20%" width="140%" height="150%">
      <feDropShadow dx="0" dy="9" stdDeviation="12" flood-color="#3d2415" flood-opacity=".2"/>
    </filter>
    <clipPath id="coldCup"><path d="M37 57 H213 L194 266 Q125 280 56 266 Z"/></clipPath>
  </defs>
  <rect width="1200" height="900" fill="#f5efe5"/>
  <circle cx="90" cy="68" r="5" fill="#d59a61"/>
  <text x="600" y="72" text-anchor="middle" font-family="Arial, sans-serif" font-size="17" font-weight="700" letter-spacing="4" fill="#9b6641">THE MORNING RUN</text>
  <text x="600" y="113" text-anchor="middle" font-family="Georgia, serif" font-size="33" font-weight="700" fill="#34251d">Six drinks, ready for their tables</text>

  <!-- A warm wooden serving tray -->
  <rect x="30" y="145" width="1140" height="665" rx="34" fill="url(#wood)" filter="url(#shadow)"/>
  <rect x="48" y="163" width="1104" height="629" rx="25" fill="none" stroke="#e5b77e" stroke-width="3" opacity=".75"/>
  <g opacity=".17" stroke="#704222" stroke-width="2">
    <path d="M70 177 H1130 M70 785 H1130"/>
    <path d="M62 480 H1138"/>
  </g>
  <text x="600" y="790" text-anchor="middle" font-family="Arial, sans-serif" font-size="13" font-weight="700" letter-spacing="3" fill="#f6d8b5" opacity=".9">PLEASE DELIVER WITH CARE</text>

  <!-- Table 1: hot dairy vanilla cortado -->
  <g transform="translate(95 181)">
    <path d="M36 56 H214 L195 265 Q125 279 55 265 Z" fill="url(#cup)" stroke="#cfc4b4" stroke-width="2"/>
    <ellipse cx="125" cy="56" rx="91" ry="20" fill="#f9f5eb" stroke="#c8bba8" stroke-width="3"/>
    <ellipse cx="125" cy="57" rx="77" ry="13" fill="#9a6039"/>
    <ellipse cx="125" cy="57" rx="50" ry="8" fill="#d8b17f" opacity=".8"/>
    <path d="M45 126 Q125 137 205 126 L197 226 Q125 237 53 226 Z" fill="#c69564"/>
    <path d="M45 126 Q125 137 205 126" fill="none" stroke="#b58050" stroke-width="3"/>
    <rect x="54" y="141" width="142" height="73" rx="12" fill="#fff9ef"/>
    <text x="125" y="161" text-anchor="middle" font-family="Arial,sans-serif" font-size="12" font-weight="700" letter-spacing="1.5" fill="#9b6641">TABLE 1</text>
    <text x="125" y="184" text-anchor="middle" font-family="Arial,sans-serif" font-size="17" font-weight="700" fill="#34251d">Vanilla</text>
    <text x="125" y="203" text-anchor="middle" font-family="Arial,sans-serif" font-size="17" font-weight="700" fill="#34251d">cortado</text>
    <path d="M59 265 Q125 278 191 265" fill="none" stroke="#d4cabb" stroke-width="3"/>
    <path d="M96 42 Q91 28 99 16 M125 40 Q119 24 127 11 M151 42 Q146 30 154 19" fill="none" stroke="#fff8ed" stroke-width="3" stroke-linecap="round" opacity=".9"/>
  </g>

  <!-- Table 2: hot decaf cortado -->
  <g transform="translate(475 181)">
    <path d="M36 56 H214 L195 265 Q125 279 55 265 Z" fill="url(#cup)" stroke="#cfc4b4" stroke-width="2"/>
    <ellipse cx="125" cy="56" rx="91" ry="20" fill="#f9f5eb" stroke="#c8bba8" stroke-width="3"/>
    <ellipse cx="125" cy="57" rx="77" ry="13" fill="#8d5737"/>
    <ellipse cx="125" cy="57" rx="35" ry="8" fill="#e6d2b6"/>
    <path d="M45 126 Q125 137 205 126 L197 226 Q125 237 53 226 Z" fill="#b9916c"/>
    <path d="M45 126 Q125 137 205 126" fill="none" stroke="#a77d58" stroke-width="3"/>
    <rect x="54" y="141" width="142" height="73" rx="12" fill="#fff9ef"/>
    <text x="125" y="161" text-anchor="middle" font-family="Arial,sans-serif" font-size="12" font-weight="700" letter-spacing="1.5" fill="#9b6641">TABLE 2</text>
    <text x="125" y="184" text-anchor="middle" font-family="Arial,sans-serif" font-size="17" font-weight="700" fill="#34251d">Decaf</text>
    <text x="125" y="203" text-anchor="middle" font-family="Arial,sans-serif" font-size="17" font-weight="700" fill="#34251d">cortado</text>
    <path d="M59 265 Q125 278 191 265" fill="none" stroke="#d4cabb" stroke-width="3"/>
    <path d="M96 42 Q91 28 99 16 M125 40 Q119 24 127 11 M151 42 Q146 30 154 19" fill="none" stroke="#fff8ed" stroke-width="3" stroke-linecap="round" opacity=".9"/>
  </g>

  <!-- Table 3: hot decaf oat vanilla latte -->
  <g transform="translate(855 181)">
    <path d="M36 56 H214 L195 265 Q125 279 55 265 Z" fill="url(#cup)" stroke="#cfc4b4" stroke-width="2"/>
    <ellipse cx="125" cy="56" rx="91" ry="20" fill="#f9f5eb" stroke="#c8bba8" stroke-width="3"/>
    <ellipse cx="125" cy="57" rx="77" ry="13" fill="#9a6039"/>
    <path d="M96 57 C101 43 119 43 124 57 C130 70 147 68 153 55" fill="none" stroke="#f0dfc2" stroke-width="5" stroke-linecap="round"/>
    <path d="M45 126 Q125 137 205 126 L197 226 Q125 237 53 226 Z" fill="#d1a471"/>
    <path d="M45 126 Q125 137 205 126" fill="none" stroke="#b88958" stroke-width="3"/>
    <rect x="51" y="137" width="148" height="86" rx="12" fill="#fff9ef"/>
    <text x="125" y="156" text-anchor="middle" font-family="Arial,sans-serif" font-size="12" font-weight="700" letter-spacing="1.3" fill="#9b6641">TABLE 3</text>
    <text x="125" y="177" text-anchor="middle" font-family="Arial,sans-serif" font-size="15" font-weight="700" fill="#34251d">Decaf oat</text>
    <text x="125" y="196" text-anchor="middle" font-family="Arial,sans-serif" font-size="15" font-weight="700" fill="#34251d">vanilla latte</text>
    <text x="125" y="214" text-anchor="middle" font-family="Arial,sans-serif" font-size="10" font-weight="700" letter-spacing="1" fill="#9b6641">OAT MILK · HOT</text>
    <path d="M59 265 Q125 278 191 265" fill="none" stroke="#d4cabb" stroke-width="3"/>
    <path d="M96 42 Q91 28 99 16 M125 40 Q119 24 127 11 M151 42 Q146 30 154 19" fill="none" stroke="#fff8ed" stroke-width="3" stroke-linecap="round" opacity=".9"/>
  </g>

  <!-- Table 4: iced oat latte -->
  <g transform="translate(95 500)">
    <path d="M37 57 H213 L194 266 Q125 280 56 266 Z" fill="#e9f2ee" fill-opacity=".72" stroke="#b5c9c1" stroke-width="3"/>
    <g clip-path="url(#coldCup)">
      <path d="M35 111 H215 V280 H35 Z" fill="url(#coffee)"/>
      <path d="M35 110 Q125 100 215 110" fill="none" stroke="#c89b6c" stroke-width="8"/>
      <g fill="#dcefeb" fill-opacity=".9" stroke="#fff" stroke-width="2">
        <rect x="66" y="86" width="35" height="35" rx="7" transform="rotate(12 83 103)"/>
        <rect x="129" y="81" width="39" height="38" rx="7" transform="rotate(-12 148 100)"/>
        <rect x="165" y="116" width="31" height="34" rx="6" transform="rotate(9 180 133)"/>
      </g>
    </g>
    <path d="M37 57 H213 L194 266 Q125 280 56 266 Z" fill="none" stroke="#b5c9c1" stroke-width="3"/>
    <path d="M27 48 Q125 34 223 48 L217 67 Q125 80 33 67 Z" fill="#f8fbf7" stroke="#a9bcb5" stroke-width="3"/>
    <path d="M133 48 L124 4" stroke="#d26e4c" stroke-width="9" stroke-linecap="round"/>
    <rect x="53" y="151" width="144" height="73" rx="12" fill="#fffaf1" stroke="#eadfce"/>
    <text x="125" y="170" text-anchor="middle" font-family="Arial,sans-serif" font-size="12" font-weight="700" letter-spacing="1.5" fill="#9b6641">TABLE 4</text>
    <text x="125" y="194" text-anchor="middle" font-family="Arial,sans-serif" font-size="17" font-weight="700" fill="#34251d">Iced oat</text>
    <text x="125" y="213" text-anchor="middle" font-family="Arial,sans-serif" font-size="17" font-weight="700" fill="#34251d">latte</text>
    <path d="M59 266 Q125 279 191 266" fill="none" stroke="#9eb6ac" stroke-width="3"/>
  </g>

  <!-- Table 5: cold brew -->
  <g transform="translate(475 500)">
    <path d="M37 57 H213 L194 266 Q125 280 56 266 Z" fill="#e9f2ee" fill-opacity=".72" stroke="#b5c9c1" stroke-width="3"/>
    <g clip-path="url(#coldCup)">
      <path d="M35 96 H215 V280 H35 Z" fill="url(#coffee)"/>
      <path d="M35 97 Q125 89 215 97" fill="none" stroke="#bd885d" stroke-width="7"/>
      <g fill="#dcefeb" fill-opacity=".92" stroke="#fff" stroke-width="2">
        <rect x="69" y="70" width="37" height="37" rx="7" transform="rotate(-10 87 88)"/>
        <rect x="128" y="75" width="40" height="38" rx="7" transform="rotate(11 148 94)"/>
        <rect x="165" y="111" width="31" height="34" rx="6" transform="rotate(-8 180 128)"/>
      </g>
    </g>
    <path d="M37 57 H213 L194 266 Q125 280 56 266 Z" fill="none" stroke="#b5c9c1" stroke-width="3"/>
    <path d="M27 48 Q125 34 223 48 L217 67 Q125 80 33 67 Z" fill="#f8fbf7" stroke="#a9bcb5" stroke-width="3"/>
    <path d="M133 48 L124 4" stroke="#d26e4c" stroke-width="9" stroke-linecap="round"/>
    <rect x="53" y="151" width="144" height="73" rx="12" fill="#fffaf1" stroke="#eadfce"/>
    <text x="125" y="170" text-anchor="middle" font-family="Arial,sans-serif" font-size="12" font-weight="700" letter-spacing="1.5" fill="#9b6641">TABLE 5</text>
    <text x="125" y="198" text-anchor="middle" font-family="Arial,sans-serif" font-size="18" font-weight="700" fill="#34251d">Cold brew</text>
    <text x="125" y="215" text-anchor="middle" font-family="Arial,sans-serif" font-size="10" font-weight="700" letter-spacing="1" fill="#9b6641">BLACK · COLD</text>
    <path d="M59 266 Q125 279 191 266" fill="none" stroke="#9eb6ac" stroke-width="3"/>
  </g>

  <!-- Table 6: hot black filter coffee -->
  <g transform="translate(855 500)">
    <path d="M36 56 H214 L195 265 Q125 279 55 265 Z" fill="url(#cup)" stroke="#cfc4b4" stroke-width="2"/>
    <ellipse cx="125" cy="56" rx="91" ry="20" fill="#f9f5eb" stroke="#c8bba8" stroke-width="3"/>
    <ellipse cx="125" cy="57" rx="77" ry="13" fill="#392217"/>
    <ellipse cx="125" cy="53" rx="50" ry="6" fill="#9a6039" opacity=".9"/>
    <path d="M45 126 Q125 137 205 126 L197 226 Q125 237 53 226 Z" fill="#b9916c"/>
    <path d="M45 126 Q125 137 205 126" fill="none" stroke="#a77d58" stroke-width="3"/>
    <rect x="54" y="141" width="142" height="73" rx="12" fill="#fff9ef"/>
    <text x="125" y="161" text-anchor="middle" font-family="Arial,sans-serif" font-size="12" font-weight="700" letter-spacing="1.5" fill="#9b6641">TABLE 6</text>
    <text x="125" y="184" text-anchor="middle" font-family="Arial,sans-serif" font-size="17" font-weight="700" fill="#34251d">Filter</text>
    <text x="125" y="203" text-anchor="middle" font-family="Arial,sans-serif" font-size="17" font-weight="700" fill="#34251d">coffee</text>
    <path d="M59 265 Q125 278 191 265" fill="none" stroke="#d4cabb" stroke-width="3"/>
    <path d="M96 42 Q91 28 99 16 M125 40 Q119 24 127 11 M151 42 Q146 30 154 19" fill="none" stroke="#fff8ed" stroke-width="3" stroke-linecap="round" opacity=".9"/>
  </g>
</svg>

A serving tray where every table gets a drink it will take: GPT-6 Luna

modelopenai/gpt-6-lunataskcup-allocation@v2, checks c1, harness h1date2026-11-08rounds1 of 8 allowed, 12 minutes on the clockcost$0.0228thinkingmediumtokens26,074 in, 7,604 out, of which 3,092 reasoningtime1 min 6 s
Serves all sixdecided by a number, from the filepass

There is no post about this one, since only some results need one, so the picture, the source and the scoring are here instead.

its other runs
the prompt it was given
I'm a barista and I have six drinks ready to go out: - Vanilla cortado: dairy milk, vanilla syrup, hot - Decaf cortado: dairy milk, decaf, hot - Decaf oat vanilla latte: oat milk, decaf, vanilla syrup, hot - Iced oat latte: oat milk, cold - Cold brew: black, cold - Filter coffee: black, hot There are six tables, and each one has asked for something: - Table 1 only drinks dairy milk - Table 2 wants decaf - Table 3 wants vanilla - Table 4 wants oat milk - Table 5 wants something cold - Table 6 wants black coffee Each table gets one drink. Each drink goes to one table. Draw the tray as tray.svg. Label every cup with its table number and the drink's name.
Frozen at v2. This model got this and nothing else.
ground truth

Six drinks with fixed attributes, six tables with fixed notes, one tray. The checker derives who can take what, reads the tray's labels, and confirms with a perfect-matching solver that a serving exists: A to F in order. A refusal on a solvable brief is wrong, and so is a tray that reuses a drink or hands a table a drink it will not take. Whether a drawn cup really holds what its label says is the eye's. How it is scored, and this run's files on GitHub.