{"course":{"slug":"context-engineering","title":"Context Engineering","url":"https://addaly.com/learn/context-engineering","level":"advanced","track":"build"},"lesson":{"slug":"the-handover-note","title":"Passing context to whoever comes next","url":"https://addaly.com/learn/context-engineering/the-handover-note","position":55,"of":87,"minutes":8,"answer":"A handover note is the same artefact whether it crosses sessions, agents or into human hands (goal, status, next action, decisions with reasons, what failed.","keyIdea":"A handover note is the same artefact whether it crosses sessions, agents or into human hands (goal, status, next action, decisions with reasons, what failed, artefacts and open questions) and the section listing what was already tried is the one that saves the next reader from repeating it."},"body":{"format":"markdown","text":"## The same document, four situations\n\nContext has to cross a boundary in four common cases, and the artefact that carries it is the same shape in all four:\n\n- **Session to session.** A task resumed tomorrow, in a fresh window.\n- **Subagent to parent.** A worker finishes and reports back; the next module covers why this isolation is useful.\n- **Agent to agent.** A pipeline where one stage's output is another's input.\n- **Assistant to human.** A support conversation escalating to a person, which is the case where the quality of the note is most visible and most often terrible.\n\nWrite one function that produces this note, and use it for all four.\n\n## What a good note contains\n\nSeven items, in this order, because the order is roughly how urgently the reader needs them:\n\n1. **Goal.** What we are trying to achieve, in the requester's own words. Not a paraphrase.\n2. **Status.** What is done, concretely. \"Refund of 4,050 INR issued, reference RF-2291.\"\n3. **What remains.** The next specific action, not a category of work.\n4. **Decisions and their reasons.** What was settled, and why, so the next reader does not relitigate it.\n5. **What was tried and did not work.** The highest-value item and the one most often missing.\n6. **Current state.** Ids, files, links, artefacts: the things the next reader needs to touch.\n7. **Open questions.** What is unknown, and what would resolve it.\n\nMost handovers omit items 4 and 5 entirely, which is why the reader's first act is to repeat something that already failed. If you cut the note for length, cut 1 and 6 (they can be recovered from the artefacts) and keep 5.\n\n## Why \"what failed\" is worth the most\n\nA fresh context has no idea what has already been ruled out. Given a task and no failure history, a model will try the most obvious approach first, which is exactly the approach the previous session already tried and abandoned. The failure repeats, often several times, and each repetition consumes budget and produces a plausible report of progress.\n\nThis is the dominant waste mode in multi-session agent work, and the fix is one section of a document.\n\n```\nTRIED AND REJECTED\n- Refund via store credit — customer declined (turn 5)\n- Refund to card ending 4471 — card expired, payment gateway error 4102\n- Manual adjustment in billing — no permission on this account type\n```\n\nThree lines. They save the next session three dead ends.\n\n## Facts as fields, prose for the rest\n\nThe same rule as the state lesson: anything that must not be paraphrased goes in a structure.\n\n```json\n{\n  \"goal\": \"...\", \"status\": \"...\",\n  \"artefacts\": {\"refund_ref\": \"RF-2291\", \"ticket\": \"T-88213\"},\n  \"tried\": [{\"what\": \"...\", \"outcome\": \"...\"}],\n  \"open\": [\"...\"],\n  \"transcript_id\": \"c_4471\"\n}\n```\n\nThe `transcript_id` is not decoration. A handover is a summary, and summaries lose things; a pointer back to the full record means the next reader can recover what the note omitted rather than guessing. Every handover should carry one.\n\n## The human handover has extra requirements\n\nWhen the next reader is a person taking over a live conversation, three additions:\n\n**Say what the customer was told.** Especially any commitment made: a promised timescale, an amount, an assurance. A human who contradicts a promise the assistant made turns a recoverable problem into a complaint.\n\n**Flag uncertainty explicitly.** \"I could not verify whether the second charge was captured\" is more useful than a confident summary that turns out to be wrong.\n\n**Keep it short enough to be read.** A support agent picking up a queue has thirty seconds. A 900-word note is not read; a 120-word note with the seven headings is. This is a real constraint and it should shape the format.\n\n## Generate it early, not at the end\n\nA note written when a session is already out of context is written from a compacted, degraded view: the worst possible source. Maintain it incrementally instead: update the structured fields as decisions are made, so the note at any moment is a current record rather than a reconstruction.\n\nThis costs a little on each turn and it means a session that is interrupted (by an outage, a limit, a user closing a tab) still leaves behind something usable. Which is the whole point: a handover exists for the case where the thing that was holding the context stopped."},"check":{"question":"A multi-session agent keeps re-attempting an approach that failed in an earlier session, each time reporting it as new progress. Which omission best explains this?","options":[{"text":"The handover lacked a pointer to the full transcript, so details could not be recovered.","correct":false,"tempting":"A pointer helps a reader who knows to look; it does not stop a fresh context from trying the obvious thing first."},{"text":"The handover recorded status but not the approaches already tried and their outcomes.","correct":true},{"text":"The goal was paraphrased rather than quoted, so each session pursued a slightly different objective.","correct":false,"tempting":"Would produce divergent work rather than repeated attempts at the same failed approach."},{"text":"The note was generated at the end of each session from a compacted view.","correct":false,"tempting":"Degrades quality generally and is worth fixing, but a note written from a full transcript can still omit the failures section."}]},"prev":{"slug":"retrieving-from-your-own-history","title":"Searching the transcript instead of carrying it","url":"https://addaly.com/learn/context-engineering/retrieving-from-your-own-history"},"next":{"slug":"forgetting-on-purpose","title":"Deleting what you kept","url":"https://addaly.com/learn/context-engineering/forgetting-on-purpose"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'Passing context to whoever comes next', in Context Engineering. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/context-engineering/the-handover-note (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"Passing context to whoever comes next","courseTitle":"Context Engineering","module":{"index":6,"slug":"conversation-and-memory","title":"Conversation, memory and compaction"},"answer":null,"keyIdea":"A handover note is the same artefact whether it crosses sessions, agents or into human hands (goal, status, next action, decisions with reasons, what failed, artefacts and open questions) and the section listing what was already tried is the one that saves the next reader from repeating it.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"the-same-document-four-situations","runs":[{"text":"The same document, four situations"}]},{"t":"p","runs":[{"text":"Context has to cross a boundary in four common cases, and the artefact that carries it is the same shape in all four:"}]},{"t":"ul","items":[[{"text":"Session to session.","b":true},{"text":" A task resumed tomorrow, in a fresh window."}],[{"text":"Subagent to parent.","b":true},{"text":" A worker finishes and reports back; the next module covers why this isolation is useful."}],[{"text":"Agent to agent.","b":true},{"text":" A pipeline where one stage’s output is another’s input."}],[{"text":"Assistant to human.","b":true},{"text":" A support conversation escalating to a person, which is the case where the quality of the note is most visible and most often terrible."}]]},{"t":"p","runs":[{"text":"Write one function that produces this note, and use it for all four."}]},{"t":"h2","id":"what-a-good-note-contains","runs":[{"text":"What a good note contains"}]},{"t":"p","runs":[{"text":"Seven items, in this order, because the order is roughly how urgently the reader needs them:"}]},{"t":"ol","start":1,"items":[[{"text":"Goal.","b":true},{"text":" What we are trying to achieve, in the requester’s own words. Not a paraphrase."}],[{"text":"Status.","b":true},{"text":" What is done, concretely. “Refund of 4,050 INR issued, reference RF-2291.”"}],[{"text":"What remains.","b":true},{"text":" The next specific action, not a category of work."}],[{"text":"Decisions and their reasons.","b":true},{"text":" What was settled, and why, so the next reader does not relitigate it."}],[{"text":"What was tried and did not work.","b":true},{"text":" The highest-value item and the one most often missing."}],[{"text":"Current state.","b":true},{"text":" Ids, files, links, artefacts: the things the next reader needs to touch."}],[{"text":"Open questions.","b":true},{"text":" What is unknown, and what would resolve it."}]]},{"t":"p","runs":[{"text":"Most handovers omit items 4 and 5 entirely, which is why the reader’s first act is to repeat something that already failed. If you cut the note for length, cut 1 and 6 (they can be recovered from the artefacts) and keep 5."}]},{"t":"h2","id":"why-what-failed-is-worth-the-most","runs":[{"text":"Why “what failed” is worth the most"}]},{"t":"p","runs":[{"text":"A fresh context has no idea what has already been ruled out. Given a task and no failure history, a model will try the most obvious approach first, which is exactly the approach the previous session already tried and abandoned. The failure repeats, often several times, and each repetition consumes budget and produces a plausible report of progress."}]},{"t":"p","runs":[{"text":"This is the dominant waste mode in multi-session agent work, and the fix is one section of a document."}]},{"t":"code","lang":"","label":"Text","text":"TRIED AND REJECTED\n- Refund via store credit — customer declined (turn 5)\n- Refund to card ending 4471 — card expired, payment gateway error 4102\n- Manual adjustment in billing — no permission on this account type"},{"t":"p","runs":[{"text":"Three lines. They save the next session three dead ends."}]},{"t":"h2","id":"facts-as-fields-prose-for-the-rest","runs":[{"text":"Facts as fields, prose for the rest"}]},{"t":"p","runs":[{"text":"The same rule as the state lesson: anything that must not be paraphrased goes in a structure."}]},{"t":"code","lang":"json","label":"JSON","text":"{\n  \"goal\": \"...\", \"status\": \"...\",\n  \"artefacts\": {\"refund_ref\": \"RF-2291\", \"ticket\": \"T-88213\"},\n  \"tried\": [{\"what\": \"...\", \"outcome\": \"...\"}],\n  \"open\": [\"...\"],\n  \"transcript_id\": \"c_4471\"\n}"},{"t":"p","runs":[{"text":"The "},{"text":"transcript_id","code":true},{"text":" is not decoration. A handover is a summary, and summaries lose things; a pointer back to the full record means the next reader can recover what the note omitted rather than guessing. Every handover should carry one."}]},{"t":"h2","id":"the-human-handover-has-extra-requirements","runs":[{"text":"The human handover has extra requirements"}]},{"t":"p","runs":[{"text":"When the next reader is a person taking over a live conversation, three additions:"}]},{"t":"p","runs":[{"text":"Say what the customer was told.","b":true},{"text":" Especially any commitment made: a promised timescale, an amount, an assurance. A human who contradicts a promise the assistant made turns a recoverable problem into a complaint."}]},{"t":"p","runs":[{"text":"Flag uncertainty explicitly.","b":true},{"text":" “I could not verify whether the second charge was captured” is more useful than a confident summary that turns out to be wrong."}]},{"t":"p","runs":[{"text":"Keep it short enough to be read.","b":true},{"text":" A support agent picking up a queue has thirty seconds. A 900-word note is not read; a 120-word note with the seven headings is. This is a real constraint and it should shape the format."}]},{"t":"h2","id":"generate-it-early-not-at-the-end","runs":[{"text":"Generate it early, not at the end"}]},{"t":"p","runs":[{"text":"A note written when a session is already out of context is written from a compacted, degraded view: the worst possible source. Maintain it incrementally instead: update the structured fields as decisions are made, so the note at any moment is a current record rather than a reconstruction."}]},{"t":"p","runs":[{"text":"This costs a little on each turn and it means a session that is interrupted (by an outage, a limit, a user closing a tab) still leaves behind something usable. Which is the whole point: a handover exists for the case where the thing that was holding the context stopped."}]}],"check":{"question":[{"text":"A multi-session agent keeps re-attempting an approach that failed in an earlier session, each time reporting it as new progress. Which omission best explains this?"}],"options":[{"text":[{"text":"The handover lacked a pointer to the full transcript, so details could not be recovered."}],"correct":false,"tempting":[{"text":"A pointer helps a reader who knows to look; it does not stop a fresh context from trying the obvious thing first."}]},{"text":[{"text":"The handover recorded status but not the approaches already tried and their outcomes."}],"correct":true,"tempting":null},{"text":[{"text":"The goal was paraphrased rather than quoted, so each session pursued a slightly different objective."}],"correct":false,"tempting":[{"text":"Would produce divergent work rather than repeated attempts at the same failed approach."}]},{"text":[{"text":"The note was generated at the end of each session from a compacted view."}],"correct":false,"tempting":[{"text":"Degrades quality generally and is worth fixing, but a note written from a full transcript can still omit the failures section."}]}],"order":[0,1,2,3],"why":null},"prev":{"slug":"retrieving-from-your-own-history","title":"Searching the transcript instead of carrying it","minutes":8},"next":{"slug":"forgetting-on-purpose","title":"Deleting what you kept","minutes":9}}}