{"id":"code-work-hr-json-title-change","audience":"hr","category":"coding","track":"coding","technique":"grounding","title":"Write the HR system update for a promotion","free":false,"task":"Build the JSON body for Maya Chen's promotion in exactly the doc's shape. It takes effect December 1, 2026. Only her title and manager change, so put only those two fields in changes. Set requested_by to Dana Ruiz's employee ID, 000207. Her pay raise goes through a separate approval, so no pay or salary field anywhere. Keep IDs as strings with their leading zeros. One code block with only the JSON, then under 30 words outside the code.","materialLabel":"API doc excerpt and the manager's email (attached to your prompt automatically)","material":"PEOPLEDESK API - Update employee (docs excerpt)\nPATCH /v2/employees/{employee_id}\n{\n  \"employee_id\": \"string, 6 digits with leading zeros\",\n  \"effective_date\": \"YYYY-MM-DD\",\n  \"requested_by\": \"string, employee ID of the approving manager\",\n  \"changes\": {\n    \"job_title\": \"string\",\n    \"department\": \"string\",\n    \"manager_id\": \"string\",\n    \"location\": \"string\"\n  }\n}\n\nFrom Dana Ruiz (Practice Manager):\n\"Please process Maya Chen's promotion (employee 000482) to Senior Office Coordinator, starting Dec 1. She'll report to Luis Romero (000311) instead of me. She stays in Front Office at Eastside. Her new salary will be $58,000 and she gets the extra PTO day.\"\n\nNotes:\n- Announcements go out after the change is in the system.\n- Maya has been with the practice since 2022.\n- The Eastside office is getting a second front desk in January.","rules":[{"type":"codeBlocks","count":1},{"type":"maxProseWords","max":30}],"mistakes":[{"title":"Not mentioning leading zeros","why":"The AI writes the ID as the number 482, so the system can't find her.","fix":"Add: \"IDs are strings with leading zeros, like \\\"000482\\\".\"","checks":["r0"]},{"title":"Including unchanged fields","why":"The AI fills in department and location too, which this API treats as changes.","fix":"Add: \"Only title and manager in changes.\"","checks":["r1"]},{"title":"Not giving the approver or the pay rule","why":"The AI can't know Dana's ID, and it may add the salary from the email.","fix":"Add: \"requested_by is 000207. No pay or salary field; that's a separate approval.\"","checks":["r2"]},{"title":"Getting a menu of options","why":"The AI likes to offer two or three versions of the payload, so you're left to pick and test them yourself.","fix":"Add: \"Give one payload only, in one code block, no alternatives.\"","checks":["codeBlocks"]},{"title":"Getting a tutorial","why":"By default the AI explains every part of the code at length, which you then have to scroll past.","fix":"Add: \"After the code, one line under 8 words. Nothing else.\"","checks":["maxProseWords"]}],"promptHints":[{"label":"Keeps leading zeros","patterns":["leading zeros?","\"000482\"","string"]},{"label":"Limits the changes","patterns":["only (the )?(title|two|those)","job_title.{0,30}manager_id","only fields that change"]},{"label":"Gives the approver and leaves out pay","patterns":["000207","requested_by","no (pay|salary)"]},{"label":"Gives the date","patterns":["2026-12-01","dec(ember)? 1"]},{"label":"Asks for one answer only","patterns":["\\b(one|single|1)\\s+(payload|json|code block|block|version)","only one","no (alternatives|options|other versions)"]}],"hint":"The email has more in it than this API should get. Tell the AI which changes belong here and how the IDs must look.","rubricLabels":["Sets employee_id to the string \"000482\" (in quotes, leading zeros kept) and effective_date to \"2026-12-01\"","The changes object holds only job_title \"Senior Office Coordinator\" and manager_id \"000311\" (no department or location)","Sets requested_by to the string \"000207\" and has no salary, pay or PTO field anywhere"]}