{"id":"cx-status-components-table-rules","audience":"customer-support","category":"support-work","technique":"constraints","track":"support","level":"intermediate","title":"Set component statuses on a status page from engineer notes","free":false,"task":"Fill in the status page table with the header row exactly \"Component | Status | Since\" and five rows. Status is exactly Operational, Degraded or Outage. Outage means fully down; Degraded means working but slow or with some errors; otherwise Operational. Since is the start time, or \"-\" if Operational. Plain text, table only, under 50 words.","materialLabel":"Your material (attached to your prompt automatically)","material":"ENGINEER NOTES, Nov 6 (all times Eastern)\nAPI: about 20% of requests are returning errors since 10:05 AM; the rest succeed. An engineer wrote: 'API is basically down.'\nDashboard: pages load in 8 seconds instead of 2 since 10:05 AM; no errors.\nEmail sending: fully down since 9:50 AM; messages are queued and will send when restored.\nLogin: working normally.\nBilling: working normally; one nightly retry job is delayed but customers are not affected.\n\nStatus definitions: Operational, Degraded (works but slow or with some errors), Outage (fully down).\nComponents to list in this order: API, Dashboard, Email sending, Login, Billing.\nThe status page is public. Use plain times like 10:05 AM.","rules":[{"type":"plainText"},{"type":"maxWords","max":50}],"mistakes":[{"title":"Calling the API an outage","why":"The engineer wrote basically down, but 80% of requests succeed.","fix":"Say: \"Outage = fully down. Some errors = Degraded.\"","checks":["r1"]},{"title":"Marking Billing degraded","why":"The delayed retry job tempts the AI.","fix":"Say: \"If customers are not affected, Operational.\"","checks":["r1"]},{"title":"Wrong layout or times","why":"The AI adds notes or uses 24-hour times.","fix":"Give the header, the order and time style.","checks":["r0","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"]}],"promptHints":[{"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+"]},{"label":"States the definitions","patterns":["outage","degraded","operational","fully down"]},{"label":"Gives the header","patterns":["component \\|","header"]}],"hint":"Status pages need strict definitions. State all three statuses, the Since rule and the header.","rubricLabels":["The header row is exactly \"Component | Status | Since\" with five rows in the order API, Dashboard, Email sending, Login, Billing","Statuses are API Degraded, Dashboard Degraded, Email sending Outage, Login Operational, Billing Operational","Since is 10:05 AM for API and Dashboard, 9:50 AM for Email sending, and - for Login and Billing"]}