{"id":"ops-hvac-complaints-triage-json","audience":"operations","category":"operations-work","track":"operations","technique":"constraints","level":"intermediate","title":"Sort five building complaints into priority groups as JSON","free":false,"task":"Facilities received five complaints. Write a prompt for exactly one code block holding a JSON object with the keys emergency, high, medium and low, each an array of the complaint numbers that belong there. Rules: emergency is any gas smell, burning smell or smoke; high is no heat below 55 F or active water on a floor; medium is a comfort complaint affecting a work area; low is cosmetic. Every number appears once. After the block add one line: \"Facilities decides dispatch.\"","materialLabel":"Your material (attached to your prompt automatically)","material":"COMPLAINTS RECEIVED - Monday morning\n\n1) Warehouse office: \"The space heater smells like burning plastic and the cord feels hot. Probably fine but thought I'd mention it.\"\n2) Dock office: heat has been out since yesterday afternoon. Thermometer reads 52 F. Four people working there.\n3) Breakroom: water pooling on the floor under the sink cabinet, spreading slowly toward the hallway.\n4) Packing area: \"Gets warm in the afternoons, 78 F or so.\" Six people work there.\n5) Hallway near door 2: paint is scuffed along the wall.\n\nNotes: Complaint 1 came from a new hire who was unsure whether it was worth reporting. Complaint 3 was reported at 7:50 a.m.","rules":[{"type":"codeBlocks","count":1},{"type":"maxCodeLines","max":10},{"type":"maxProseWords","max":8}],"promptHints":[{"label":"Names the four keys","patterns":["emergency","high","medium","low"]},{"label":"Gives the rules","patterns":["gas","burning","55 f","water"]},{"label":"Says judge by the rule","patterns":["by the rule","not by how"]},{"label":"Asks for one JSON block","patterns":["json","code block"]}],"mistakes":[{"title":"Believing 'probably fine'","why":"The AI downgrades the burning smell because the reporter did.","fix":"Say: \"Judge by the rule, not by how the reporter words it.\"","checks":["r1"]},{"title":"Mis-sorting by feel","why":"The AI puts the cold office in medium.","fix":"Quote the rule for each group.","checks":["r2"]},{"title":"Wrong structure","why":"The AI returns a table or adds keys.","fix":"Say: \"Exactly one code block, keys emergency, high, medium, low.\"","checks":["r0"]},{"title":"Extra text around the code","why":"The AI adds explanations, extra blocks or comments around the output.","fix":"Say \"exactly one code block, nothing else\" and cap the rows.","checks":["codeBlocks","maxCodeLines","maxProseWords"]}],"hint":"State the four keys, each rule, and that every number appears once.","mission":"Sort five building complaints into the right priority group.","musts":["Each number once","Follow priority rules","Facilities decides dispatch"],"rubricLabels":["The output is one code block with a JSON object whose keys are exactly emergency, high, medium and low, each holding an array, and every complaint number 1 to 5 appears once","emergency contains 1 (burning smell, despite the reporter's 'probably fine') and high contains 2 and 3","medium contains 4 and low contains 5, and the only line outside the block is \"Facilities decides dispatch.\""]}