{"id":"cx-schedule-swap-rules-table","audience":"managers","category":"support-work","technique":"constraints","track":"support","level":"intermediate","title":"Check four shift swaps against three rules","free":false,"task":"Output a table with the header \"Swap | Approve? | Failed rule\" and four rows Sw1 to Sw4, then a last line \"Approved: Sw#\" (or \"Approved: none\"). Failed rule is the first rule that fails in order (S1, S2, S3) or \"none\". Plain text, under 60 words.","materialLabel":"Your material (attached to your prompt automatically)","material":"SWAP RULES (check in order)\nS1: Both agents work the same queue (English, Spanish or French).\nS2: After the swap neither agent exceeds 40 hours that week.\nS3: The request was made at least 24 hours before the earlier of the two shifts.\n\nREQUESTS\nSw1: Ana (English) and Ben (English). After the swap Ana has 36 hours and Ben 38. Requested 3 days ahead.\nSw2: Cai (English) and Dee (Spanish). After the swap both are under 40. Requested 2 days ahead.\nSw3: Eli (French) and Fay (French). After the swap Eli has 42 hours, Fay 36. Requested 2 days ahead.\nSw4: Gus (Spanish) and Hal (Spanish). After the swap both are under 40. Requested 12 hours ahead.","rules":[{"type":"plainText"},{"type":"maxWords","max":60}],"mistakes":[{"title":"Listing every failed rule","why":"The AI lists more than the first failure.","fix":"Say: \"Only the first rule that fails, in order.\"","checks":["r1"]},{"title":"Missing the queue check","why":"The AI approves Sw2 because hours are fine.","fix":"Say: \"S1: both agents on the same queue.\"","checks":["r1"]},{"title":"No summary line","why":"The AI stops at the table.","fix":"Give the last-line format.","checks":["r2"]},{"title":"Getting markdown back","why":"AI adds bold and headings by default, which show up as stray symbols where this is pasted.","fix":"Say \"plain text, no bold, no headings, no asterisks\".","checks":["plainText"]},{"title":"Trusting the AI to count words","why":"AI is bad at counting and usually runs long, so a vague \"keep it short\" lands well over the limit.","fix":"Cap each part instead of the total, for example \"each line under 15 words\".","checks":["maxWords","r0"]}],"promptHints":[{"label":"Gives the header","patterns":["swap \\| approve"]},{"label":"Says first failed rule","patterns":["first rule","in order"]},{"label":"Asks for the last line","patterns":["approved:"]},{"label":"Asks for plain text","patterns":["plain","no bold","no markdown","no formatting","no headings"]},{"label":"Sets a length limit","patterns":["\\d+\\s*words","word (limit|count)","under \\d+"]}],"hint":"Give the header, say that only the first failing rule counts and ask for the last line.","rubricLabels":["The first row is \"Swap | Approve? | Failed rule\" followed by rows Sw1 to Sw4","Sw1 Yes (none), Sw2 No (S1), Sw3 No (S2), Sw4 No (S3)","The last line is exactly \"Approved: Sw1\""]}