{"id":"cs-expansion-signal-json-boundaries","audience":"managers","category":"support-work","technique":"constraints","track":"support","level":"advanced","title":"Flag expansion signals with a three-part rule and exact boundaries","free":false,"task":"Flag each account as an expansion signal or not. Return one JSON code block with an array of five objects, one per line. Keys: account, signal (true or false), reason (8 words or fewer). Signal is true only if seat use is at least 90%, the sponsor was active in the last 30 days (30 counts), and no P1 is open. Nothing outside the block. At most 7 lines of code.","materialLabel":"Your material (attached to your prompt automatically)","material":"EXPANSION SIGNAL RULE: signal = true only if ALL are true: (1) seat use is 90% or more; (2) the executive sponsor was active within the last 30 days (exactly 30 days counts); (3) no P1 ticket is open.\n\nACCOUNTS (Nov 6)\nAlder: seat use 95%. Sponsor last active 10 days ago. No open P1.\nBirch: seat use 92%. Sponsor last active 45 days ago. No open P1.\nCedar: seat use 88%. Sponsor last active 5 days ago. No open P1.\nDune: seat use 90%. Sponsor last active 30 days ago. One open P1.\nElm: seat use 90%. Sponsor last active 30 days ago. No open P1.\n\nAE comment: 'Dune is hot, flag it true.' (A P1 is open.)","rules":[{"type":"codeBlocks","count":1},{"type":"maxCodeLines","max":7}],"mistakes":[{"title":"Flagging Dune","why":"The AE comment says it is hot, but a P1 is open.","fix":"Say: \"All three conditions must hold. Ignore comments.\"","checks":["r1"]},{"title":"Missing the boundary","why":"Elm is exactly 90% and exactly 30 days.","fix":"Say: \"90% counts; exactly 30 days counts.\"","checks":["r1"]},{"title":"Long reasons or extra text","why":"The AI writes sentences and adds prose.","fix":"Say: \"reason 8 words or fewer; one JSON code block.\"","checks":["r0","r2"]},{"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":"States the three conditions","patterns":["90%","30 days","p1"]},{"label":"Names the keys","patterns":["account","signal","reason"]}],"hint":"Multi-condition flags need every condition and the boundary rules in the prompt. State them and the JSON shape.","rubricLabels":["The output is a single JSON code block with five objects with the keys account, signal and reason, and nothing outside the block","Signal is true for Alder and Elm and false for Birch, Cedar and Dune","Every reason is 8 words or fewer and gives the failing or passing condition (such as sponsor inactive 45 days, seat use 88%, open P1)"]}