tray.svg · 32 lines
<svg xmlns="http://www.w3.org/2000/svg" width="900" height="560" viewBox="0 0 900 560" font-family="Helvetica, Arial, sans-serif">
<rect width="900" height="560" fill="#f7f3ee"/>
<text x="450" y="40" text-anchor="middle" font-size="26" font-weight="bold" fill="#3b2a1e">Order Tray</text>
<rect x="40" y="65" width="820" height="440" rx="30" fill="#8b5a2b" stroke="#5e3b1a" stroke-width="6"/>
<rect x="60" y="85" width="780" height="400" rx="20" fill="#a8743f"/>
<g id="cups" font-size="15" text-anchor="middle" fill="#222">
<!-- row 1 -->
<g transform="translate(190,180)">
<circle r="80" fill="#fff" stroke="#333" stroke-width="3"/><circle r="62" fill="#d9b48a"/>
<text y="-28" font-size="22" font-weight="bold">Table 1</text><text y="-4">Decaf cortado</text><text y="16" font-size="12">dairy · decaf · hot</text></g>
<g transform="translate(450,180)">
<circle r="80" fill="#fff" stroke="#333" stroke-width="3"/><circle r="62" fill="#e8d3b0"/>
<text y="-28" font-size="22" font-weight="bold">Table 2</text><text y="-6">Decaf oat</text><text y="12">vanilla latte</text><text y="30" font-size="12">oat · decaf · vanilla · hot</text></g>
<g transform="translate(710,180)">
<circle r="80" fill="#fff" stroke="#333" stroke-width="3"/><circle r="62" fill="#d9b48a"/>
<text y="-28" font-size="22" font-weight="bold">Table 3</text><text y="-4">Vanilla cortado</text><text y="16" font-size="12">dairy · vanilla · hot</text></g>
<!-- row 2 -->
<g transform="translate(190,390)">
<circle r="80" fill="#dff1fb" stroke="#4a90b8" stroke-width="3"/><circle r="62" fill="#e6cfa6"/>
<rect x="-30" y="34" width="16" height="14" fill="#fff" stroke="#9cc" /><rect x="10" y="30" width="16" height="14" fill="#fff" stroke="#9cc"/>
<text y="-28" font-size="22" font-weight="bold">Table 4</text><text y="-4">Iced oat latte</text><text y="16" font-size="12">oat · cold</text></g>
<g transform="translate(450,390)">
<circle r="80" fill="#dff1fb" stroke="#4a90b8" stroke-width="3"/><circle r="62" fill="#5a3a22"/>
<rect x="-30" y="34" width="16" height="14" fill="#fff" stroke="#9cc" /><rect x="10" y="30" width="16" height="14" fill="#fff" stroke="#9cc"/>
<g fill="#fff"><text y="-28" font-size="22" font-weight="bold">Table 5</text><text y="-4">Cold brew</text><text y="16" font-size="12">black · cold</text></g></g>
<g transform="translate(710,390)">
<circle r="80" fill="#fff" stroke="#333" stroke-width="3"/><circle r="62" fill="#4a2e1a"/>
<g fill="#fff"><text y="-28" font-size="22" font-weight="bold">Table 6</text><text y="-4">Filter coffee</text><text y="16" font-size="12">black · hot</text></g></g>
</g>
<text x="450" y="535" text-anchor="middle" font-size="13" fill="#555">Tables 5 and 6 both asked for black coffee, so cold brew and filter coffee could go either way between them.</text>
</svg>A serving tray where two tables both want black coffee: Opus 5.5
modelanthropic/claude-opus-5.5taskcup-allocation-hard@v2, checks c1, harness h1date2026-11-08rounds1 of 8 allowed, 12 minutes on the clockcost$0.0097thinkingmediumtokens12,481 in, 3,025 out, of which 1,027 reasoningtime32 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.
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 black coffee - 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.
Two tables want black coffee and table 4 has to take the iced oat latte or tables 1, 2 and 3 run out of A, B and C. A serving exists, A to F in order, and the checker confirms it with its own matching solver. Refusing because it looks crowded is wrong. How it is scored, and this run's files on GitHub.

