{"id":"cx-ticket-risk-flags-json-legal-first","audience":"customer-support","category":"support-work","technique":"constraints","track":"support","level":"advanced","title":"Flag five tickets as churn, legal or none, with legal taking priority","free":false,"task":"Flag each ticket and return one JSON code block with an array of five objects, one per line. Keys: id, flag (exactly \"churn\", \"legal\" or \"none\"), quote (a verbatim phrase of 6 words or fewer). If both churn and legal apply, use \"legal\". A legal flag is only for routing to the legal team; do not judge the claim. Nothing outside the block. At most 7 lines of code.","materialLabel":"Your material (attached to your prompt automatically)","material":"INCOMING TICKETS (first lines)\nT1: \"My lawyer will be in touch about this contract dispute.\"\nT2: \"I'm switching to RivalCo next month, so please cancel.\"\nT3: \"Thanks, everything is fixed now.\"\nT4: \"Cancel everything. I'm completely done with you.\"\nT5: \"My attorney says I should cancel and send you a letter.\"\n\nFLAG GUIDE\nlegal: the customer mentions a lawyer, attorney or legal action. Route to Legal; support does not discuss or judge it.\nchurn: the customer says they are leaving, cancelling or switching.\nnone: neither.\nPriority: legal wins over churn if both apply.\n\nNote: 'Switching to RivalCo' counts as churn. Praise does not count as a flag.","rules":[{"type":"codeBlocks","count":1},{"type":"maxCodeLines","max":7}],"mistakes":[{"title":"Flagging T5 as churn","why":"T5 mentions cancelling and an attorney.","fix":"Say: \"Legal wins over churn when both apply.\"","checks":["r1"]},{"title":"Paraphrased quotes","why":"The AI rewrites the phrases.","fix":"Say: \"Quotes word for word, 6 words or fewer.\"","checks":["r2"]},{"title":"Extra text","why":"The AI adds an explanation.","fix":"Say: \"One JSON code block, keys id, flag, quote.\"","checks":["r0"]},{"title":"Skipping the code block shape","why":"The AI splits output into several code blocks or none.","fix":"Say \"exactly one code block and nothing else\".","checks":["codeBlocks"]},{"title":"Letting the code sprawl","why":"The AI adds extra lines and comments.","fix":"Say \"at most N lines of code\".","checks":["maxCodeLines"]}],"promptHints":[{"label":"Asks for one code block","patterns":["code block","```"]},{"label":"Caps the code length","patterns":["lines"]},{"label":"Names the keys and values","patterns":["id","flag","quote","churn","legal"]},{"label":"States the priority","patterns":["legal wins","legal takes","if both"]}],"hint":"Flagging needs allowed values and a priority rule. Give both and the exact JSON shape.","rubricLabels":["The output is a single JSON code block with five objects with the keys id, flag and quote, and nothing outside the block","The flags are T1 legal, T2 churn, T3 none, T4 churn, T5 legal","Every quote is 6 words or fewer and appears word for word in its ticket, and every flag is exactly churn, legal or none"]}