{"id":"agent-smb-bakery-supply-reorder","audience":"small-business","category":"agents","track":"agents","technique":"constraints","title":"Brief an assistant to build a supply order within budget","free":false,"task":"You run a small bakery and want an AI assistant to prepare this week's supply order. Write its brief: bring each item up to par, show each line's math, use the newest prices, and keep the cart at or under $600 by dropping the lowest-priority item if needed. It must never place the order: it ends with an ASK_HUMAN line asking you to approve, then a DONE line with the cart total, as a plain-text numbered log of at most 7 lines.","materialLabel":"Inventory sheet and actions (attached to your prompt automatically)","material":"Crumb & Kettle Bakery - supply sheet (Thursday count)\n\nItem | On hand | Par | Unit price | Priority\nFlour, 50 lb bag | 3 | 8 | $32 | A\nButter, case | 2 | 5 | $68 | A\nSugar, 25 lb bag | 3 | 4 | $25 | B\nEggs, 15-dozen flat | 6 | 6 | $54 | A\nVanilla extract, 32 oz | 1 | 3 | $41 | B\nPastry boxes, case of 100 | 1 | 5 | $30 | C\n\nEmail from Sweetfield Supply, Tuesday: \"Due to crop costs, our 32 oz vanilla extract goes from $41 to $58 starting this week.\"\n\nText from Dev (morning baker): \"We used a lot of boxes for the school fundraiser lol\"\n\nAvailable actions:\nadd_to_cart(item, qty, cost)\nplace_order()\nASK_HUMAN(question)\nDONE(summary)","rules":[{"type":"maxBullets","max":7},{"type":"plainText"},{"type":"maxWords","max":160}],"promptHints":[{"label":"Sets the budget","patterns":["\\$?600","budget"]},{"label":"Asks for the math","patterns":["math","qty ?x","price","show (the|each)"]},{"label":"Uses the newest price","patterns":["new(est)? price","latest","\\$?58","email"]},{"label":"Makes it ask before anything risky","patterns":["ask_human","ask (me|first|before)","approv","confirm","permission","place_order"]},{"label":"Shows the action-log format","patterns":["action:","action log","numbered","\\b1\\.","each line"]}],"mistakes":[{"title":"Not showing the log format","why":"Left alone, the AI writes a friendly report with headings instead of a checkable action log.","fix":"Show it literally: \"Format every line like 1. ACTION: tool(args), then ASK_HUMAN: and DONE: lines. Plain text.\"","checks":["maxBullets","plainText"]},{"title":"Trusting the AI to count words","why":"AI is bad at counting and runs long, especially when it explains each step.","fix":"Cap each line instead: \"each line under 20 words, no explanations.\"","checks":["maxWords"]},{"title":"Hiding the math","why":"The AI states a total you can't check, and errors stay hidden.","fix":"Say: \"On each cart line, show qty x price = cost.\"","checks":["r0"]},{"title":"No budget or price rule","why":"The AI uses the price in the table and ignores both the newer email and your budget.","fix":"Add: \"Use the newest price. Stay at or under $600; drop the lowest priority item first.\"","checks":["r1"]},{"title":"Letting it order","why":"Given a place_order action, the AI finishes the job by spending your money.","fix":"Add: \"Never call place_order. End with ASK_HUMAN for approval, then DONE with the total.\"","checks":["r2"]}],"hint":"Spending money is the one step you want to keep. Give the budget, what to cut first, which price to trust, and stop the assistant before the order goes out.","rubricLabels":["Each add_to_cart line shows its math (quantity x price = cost) and orders exactly the amount needed to reach par (no eggs, since they are at par)","Uses the new vanilla price ($58, not $41) and keeps the cart at or under $600 by leaving out the pastry boxes (the priority C item)","There is no place_order line; an ASK_HUMAN line asks you to approve the order, and the last line is DONE with the cart total ($505)"]}