## Changing focus\,&#32;stopping work\,&#32;and cancelling disclosure

Cancellation is meaningful only when attached to an operation and a phase\.&#32;A keyboard gesture\,&#32;a rejected promise\,&#32;a cancelled job row\,&#32;and a hidden late result can describe very different outcomes\.

The shared question is not “Did I press Escape\?” It is&#32;**which component owned that input\,&#32;what work had already started\,&#32;and which effect was actually stopped\?**

### Name the thing being stopped

| Control or event | Intended boundary | Do not infer |
| --- | --- | --- |
| Ordinary Escape in focused Tan chat | Clears nonempty draft text\;&#32;otherwise returns the view to Main\. | The tan or its job was cancelled\.&#32;Higher\-priority panels or loop handling may own Escape instead\. |
| Automatic return from Tan focus | Changes the recipient surface after parking\,&#32;abortion\,&#32;or removal\. | A draft still belongs to the tan\,&#32;or a submitted message needs replaying\. |
| Turn interruption | Requests an end to the current attempt\. | Queue erasure\,&#32;durable agent termination\,&#32;or rollback of tool effects\. |
| Cancellation of the initial background job | Marks and signals the identified running job\. | The explicit\-kill tombstone was written\,&#32;or every external process stopped\. |
| Explicit Hub kill | Requests terminal agent release with a tombstone and retained transcript\. | The job must say cancelled\,&#32;or earlier edits were undone\. |
| Main session reset or transition | Changes session state and may clear queues or cancel owned work according to that path\. | It is merely a view change\,&#32;or every failure phase is transactional\. |
| Sharing\-loader Escape | Restores the editor and suppresses later result display\/opening\. | A started upload or custom\-handler effect was aborted or revoked\. |

These distinctions explain why whole\-application controls are poor substitutes for leaving a focused tangent\.&#32;They also explain why a remembered job ID is unsafe for later cancellation\:&#32;job rows are short\-lived handles\,&#32;whereas the conversation transcript may remain\.

### Compare two asynchronous cancellations

Review Desk explicitly retires pending authority\.&#32;Its&#32;`invalidateAuthority()`&#32;increments a generation\,&#32;clears the grant\,&#32;and aborts the pending presentation\.&#32;A late positive confirmation is accepted only if it still belongs to the current generation\.&#32;The recorded RPC scenario demonstrated that the old response could not recreate authority\.

The sharing controller has a different contract\.&#32;Its loader receives cancellation\,&#32;but the inspected path does not pass that loader signal into default&#32;`shareSession`&#32;or the custom callback\.&#32;The recorded held operation completed after Escape while its late URL was suppressed\.&#32;That observation supports a warning about possible late completion\;&#32;it is not evidence of a real upload or a revocation service\.

The lesson is not that one cancellation word is reliable and another is not\.&#32;It is that&#32;**signal propagation\,&#32;stale\-result rejection\,&#32;committed effects\,&#32;and UI restoration must each be designed and checked**\.

### Use a phase\-aware recovery record

When an operation is uncertain\,&#32;record five things before retrying\:

1. **Surface\:**&#32;which chat\,&#32;overlay\,&#32;loader\,&#32;or mode owned the input\?
2. **Identity\:**&#32;which agent\,&#32;job\,&#32;session\,&#32;process\,&#32;or dialog was targeted\?
3. **Phase\:**&#32;had work only been requested\,&#32;had it started\,&#32;or had an effect already committed\?
4. **Observation\:**&#32;what receipt\,&#32;lifecycle state\,&#32;journal entry\,&#32;or file effect is actually available\?
5. **Remainder\:**&#32;what can still be running or retained outside that component\?

For a tan\,&#32;inspect both agent and job state and any relevant external process\.&#32;For a session switch\,&#32;distinguish settings preflight\,&#32;hook veto\,&#32;guarded target\-load failure\,&#32;and post\-switch reconciliation\.&#32;For a share\,&#32;treat a cancelled or ambiguous result as possibly completed\;&#32;do not resend merely to obtain a visible URL\.

This is a reading and recovery discipline\,&#32;not a request to manufacture a destructive or networked test\.&#32;The original failure cards and intercepted reports provide the comparison safely\.

**Source trail\:**&#32;[Leave and switch safely](<https://present-sketch-tp94.here.now/chapters/tan-5-leave-and-switch-safely>)\,&#32;[Interrupt\,&#32;cancel\,&#32;or kill](<https://present-sketch-tp94.here.now/chapters/tan-8-interrupt-cancel-or-kill>)\,&#32;[Decision Desk refusals and failures](<https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-refusals-and-failures>)\,&#32;and&#32;[Sharing](<https://present-sketch-tp94.here.now/chapters/continuity-sharing-is-a-separate-disclosure-decision>)\.&#32;Relevant cited symbols include&#32;`SessionFocusController`\,&#32;`AgentLifecycleManager.release`\,&#32;`AsyncJobManager.cancel`\,&#32;and&#32;`CommandController.handleShareCommand`\;&#32;the supplied&#32;`examples/review-desk/index.ts`&#32;contains&#32;`invalidateAuthority()`\.

Related chapters\:

- [5\.&#32;Leave and switch safely](<https://present-sketch-tp94.here.now/chapters/tan-5-leave-and-switch-safely>)
- [7\.&#32;Continue a finished tan](<https://present-sketch-tp94.here.now/chapters/tan-7-continue-a-finished-tan>)
- [8\.&#32;Interrupt\,&#32;cancel\,&#32;or kill](<https://present-sketch-tp94.here.now/chapters/tan-8-interrupt-cancel-or-kill>)
- [12\.&#32;State and control reference](<https://present-sketch-tp94.here.now/chapters/tan-12-state-and-control-reference>)
- [Decision Desk resetting deliberately](<https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-resetting-deliberately>)
- [Decision Desk refusals and failures](<https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-refusals-and-failures>)
- [Sharing is a separate disclosure decision](<https://present-sketch-tp94.here.now/chapters/continuity-sharing-is-a-separate-disclosure-decision>)
- [Review Desk\:&#32;edit and decide locally](<https://present-sketch-tp94.here.now/chapters/extensions-review-desk-edit-and-decide-locally>)
- [Background work and owner\-addressed delivery](<https://present-sketch-tp94.here.now/chapters/extensions-background-work-and-owner-addressed-delivery>)
