{"id":"cs-promise-ledger-csv-source-and-status","audience":"customer-success","category":"support-work","technique":"format","track":"support","level":"advanced","title":"Build a promise ledger in CSV with source type and status","free":false,"task":"Return one code block with CSV using the header promise,source,status, one row per promise in the order they appear. source is exactly \"contract\", \"email\" or \"verbal\". status is \"open\" unless a later item says it was fulfilled or withdrawn (then \"done\" or \"withdrawn\"). Do not say which promises are binding. Write no more than 6 words outside the block.","materialLabel":"Your material (attached to your prompt automatically)","material":"HANDOVER MATERIAL - Veridian Crafts (outgoing AE Marta to CSM Kofi)\n\nSIGNED ORDER FORM (Nov 2): includes \"Onboarding within 30 days of start\" and \"Quarterly business reviews\".\n\nEMAILS FROM MARTA TO THE CUSTOMER\n- Oct 20: \"We will add the Shopify connector by Jan 15.\"\n- Oct 27: \"I will send you the security whitepaper this week.\" Update Oct 29: whitepaper sent.\n\nCALL NOTES (verbal, Marta's memory)\n- Offered to introduce the customer to two reference customers. (No further mention.)\n- Said the 12% discount would \"probably be extended in year two\".\n- Said Dec 1 go-live. Update Nov 4 email: Marta withdrew this: \"Dec 1 is no longer possible; we will agree a new date at kickoff.\"\n\nMarta's note: \"Everything I said is basically committed.\"","rules":[{"type":"codeBlocks","count":1},{"type":"maxCodeLines","max":10},{"type":"maxProseWords","max":6}],"mistakes":[{"title":"Treating everything as binding","why":"The AI follows Marta's note.","fix":"Say: \"Do not say which promises are binding; just record source and status.\"","checks":["r2"]},{"title":"Missing the withdrawn promise","why":"The AI lists the go-live as open.","fix":"Say: \"Use the later update: withdrawn.\"","checks":["r2"]},{"title":"Wrong source label","why":"The AI uses written instead of email.","fix":"Say: \"source is exactly contract, email or verbal.\"","checks":["r1"]},{"title":"Skipping the code block","why":"The AI writes prose around the data instead of one block.","fix":"Say \"return exactly one code block\".","checks":["codeBlocks"]},{"title":"Letting the block sprawl","why":"The AI pretty-prints and adds extra lines.","fix":"Say \"keep the block under N lines\".","checks":["maxCodeLines"]},{"title":"Talking around the block","why":"The AI adds an intro and notes outside the block.","fix":"Say \"no words outside the block except ...\".","checks":["maxProseWords"]},{"title":"Leaving a requirement unstated","why":"The AI follows its own defaults unless the prompt spells this out.","fix":"State it plainly in your prompt: the code block has the header promise,source,status and exactly 8 data rows (the two order form items, the Shopify connector, the whitepaper, the references, the discount, and the Dec 1 go-live) with no more than 10 lines in total.","checks":["r0"]}],"promptHints":[{"label":"Gives the header","patterns":["promise,source,status","header"]},{"label":"Source values","patterns":["contract","email","verbal"]},{"label":"Status rule","patterns":["done","withdrawn","open","later"]},{"label":"No binding talk","patterns":["binding","do not say"]},{"label":"Asks for one code block","patterns":["code block","json","csv"]},{"label":"Keeps the block short","patterns":["lines","one line","compact"]},{"label":"Limits text outside the block","patterns":["no (intro|notes|text|words)","only the","nothing (else|outside)"]}],"hint":"A ledger records source and status, not legal force. Define the allowed values and the update rule.","mission":"Log every promise made, with where it came from.","musts":["Source: contract, email or verbal","Later updates change status","Don't call promises binding"],"rubricLabels":["The code block has the header promise,source,status and exactly 8 data rows (the two order form items, the Shopify connector, the whitepaper, the references, the discount, and the Dec 1 go-live) with no more than 10 lines in total","The sources are contract for the onboarding and QBR items, email for the connector and whitepaper, and verbal for the references, the discount and the go-live","The statuses are done for the whitepaper, withdrawn for the Dec 1 go-live and open for all others, and no row says binding or non-binding"]}