| 1 | # Context handoffs |
| 2 | |
| 3 | Portable provider and fork handoffs are textual summaries. They do not claim native provider context |
| 4 | parity. |
| 5 | |
| 6 | `ContextHandoffServiceV2` includes user messages, assistant messages, command executions, file |
| 7 | changes, checkpoints, and prior handoffs. It skips other turn item types. For text-bearing items, |
| 8 | `compactText` replaces every whitespace run with one space, trims the result, and returns at most |
| 9 | 240 characters. A truncated value contains the first 237 characters followed by `...`. File changes |
| 10 | carry the filename, while checkpoints carry only the number of files. |
| 11 | |
| 12 | Provider handoffs use either the full eligible app history or the delta since that provider last |
| 13 | participated. Fork merge-back handoffs summarize eligible delta items from the child. Neither path |
| 14 | reconstructs provider-native session state, tool state, approvals, or omitted text. |
| 15 | |
| 16 | Legacy v1 continuation uses a separate algorithm. It considers only user and assistant messages, |
| 17 | walks backward from the newest message, and builds a transcript suffix within a 32,000-character |
| 18 | budget. Do not describe that migration budget as the limit for portable handoffs, and do not describe |
| 19 | the 240-character prefix as a migration rule. |