{
  "schemaVersion": 1,
  "id": "atlas-lesson-human-review-cancellation",
  "title": "Human review, interruption and cancellation",
  "category": "learning",
  "format": "Atlas lesson",
  "description": "Approve a concrete versioned action; stale approval invalidates on change; distinguish request, acknowledgement and committed effects.",
  "canonicalUrl": "https://semiaifoundry.com/learn/atlas/human-review-cancellation/",
  "publishedDate": null,
  "revisionDate": "2026-10-07",
  "author": null,
  "topic": "From request to durable action",
  "series": null,
  "license": null,
  "rightsUrl": "https://semiaifoundry.com/ai-atlas/licenses.html",
  "version": "1.3.0",
  "status": "Published educational lesson",
  "evidenceScope": "The durable incident experience executes typed fixture tools, authority checks, exact review, receipts and independent final-state checks. Its policies are authored code and its storage boundary is local; it is not a real model or production workflow platform. The quantities and fixtures are authored. Source scope is recorded in the automation learning review manifest; no source benchmark or private system behavior is claimed. The executable equality check is canonical payload matching, not a cryptographic approval signature. Physical stop behavior and compensating transactions are outside the fixture.",
  "contentCoverage": "published-lesson",
  "artifactUrl": "https://semiaifoundry.com/ai-atlas/lesson-data/human-review-cancellation-011a87a1b518745d.json",
  "interactiveUrl": "https://semiaifoundry.com/ai-atlas/#human-review-cancellation",
  "related": [],
  "supersedes": [],
  "supersededBy": [],
  "contentHash": "c1ada30f07ecd9cb67e55efe133548ea022cf105433049e9a50563c0abda978c",
  "contentLength": 6778,
  "jsonUrl": "https://semiaifoundry.com/agents/publications/atlas-lesson-human-review-cancellation.json",
  "markdownUrl": "https://semiaifoundry.com/agents/publications/atlas-lesson-human-review-cancellation.md",
  "sections": [
    {
      "id": "section-1",
      "title": "Human review, interruption and cancellation",
      "start": 47,
      "end": 503
    },
    {
      "id": "section-2",
      "title": "The mechanism",
      "start": 503,
      "end": 1791
    },
    {
      "id": "section-3",
      "title": "Science and assumptions",
      "start": 1791,
      "end": 1819
    },
    {
      "id": "section-4",
      "title": "Human review, interruption and cancellation · explicit relationship",
      "start": 1819,
      "end": 2718
    },
    {
      "id": "section-5",
      "title": "Engineering example",
      "start": 2718,
      "end": 3210
    },
    {
      "id": "section-6",
      "title": "Distinctions and tradeoffs",
      "start": 3210,
      "end": 3591
    },
    {
      "id": "section-7",
      "title": "Specifications and interfaces",
      "start": 3591,
      "end": 4180
    },
    {
      "id": "section-8",
      "title": "Interfaces",
      "start": 4180,
      "end": 4443
    },
    {
      "id": "section-9",
      "title": "Check your understanding",
      "start": 4443,
      "end": 4472
    },
    {
      "id": "section-10",
      "title": "Cancellation arrives after the reservation committed. Which statement is correct?",
      "start": 4472,
      "end": 4914
    },
    {
      "id": "section-11",
      "title": "Evidence and scope",
      "start": 4914,
      "end": 5810
    },
    {
      "id": "section-12",
      "title": "Sources",
      "start": 5810,
      "end": 6325
    },
    {
      "id": "section-13",
      "title": "Continue exploring",
      "start": 6325,
      "end": 6348
    },
    {
      "id": "section-14",
      "title": "Foundations",
      "start": 6348,
      "end": 6588
    },
    {
      "id": "section-15",
      "title": "Related lessons",
      "start": 6588,
      "end": 6778
    }
  ],
  "citations": [
    {
      "title": "Explore in Atlas",
      "url": "https://semiaifoundry.com/ai-atlas/#human-review-cancellation"
    },
    {
      "title": "LangGraph · Interrupts",
      "url": "https://docs.langchain.com/oss/python/langgraph/interrupts"
    },
    {
      "title": "Temporal Activities",
      "url": "https://docs.temporal.io/activities"
    },
    {
      "title": "ROS 2 Jazzy: Understanding actions",
      "url": "https://raw.githubusercontent.com/ros2/ros2_documentation/jazzy/source/Concepts/Basic/About-Actions.rst"
    },
    {
      "title": "Published lesson data",
      "url": "https://semiaifoundry.com/ai-atlas/lesson-data/human-review-cancellation-011a87a1b518745d.json"
    },
    {
      "title": "Atlas releases and licensing",
      "url": "https://semiaifoundry.com/ai-atlas/licenses.html"
    },
    {
      "title": "Durable actions and the ambiguous timeout",
      "url": "https://semiaifoundry.com/learn/atlas/durable-actions-idempotency/"
    },
    {
      "title": "User authority and service identity",
      "url": "https://semiaifoundry.com/learn/atlas/tool-authority-identity/"
    },
    {
      "title": "Tools, memory & agent loop",
      "url": "https://semiaifoundry.com/learn/atlas/tool-loop/"
    },
    {
      "title": "Evaluation & the AGI frontier",
      "url": "https://semiaifoundry.com/learn/atlas/evaluation/"
    }
  ],
  "recordHash": "8670bea8c17db9237a80b898d583dfe85cc82b413c981e80c90aeccfb0501cc9",
  "contentFormat": "text/markdown",
  "content": "From request to durable action · Atlas v1.3.0\n\n# Human review, interruption and cancellation\n\nApprove a concrete versioned action; stale approval invalidates on change; distinguish request, acknowledgement and committed effects.\n\n[Explore in Atlas](https://semiaifoundry.com/ai-atlas/#human-review-cancellation)Logical state, task evidence and declared units; no physical assembly scale\n\nLearning objectiveDetermine which exact action was approved and distinguish pause, cancellation and compensation.\n\n## The mechanism\n\nA useful review concerns a concrete proposed action: its resource, parameters, evidence and consequences. Approval for one quantity or destination cannot silently authorize another. The runtime should bind the decision to the exact payload and preserve that relationship across a pause or restart. A workflow interruption is also distinct from cancellation. A pause waits for more input; cancellation requests that execution stop. An already committed external effect may remain after cancellation is acknowledged, and a physical action may need time to stop. The incident experience reviews an exact reservation before service. Declining leaves inventory unchanged. Its cancel-after-commit case retains the reservation while preventing the work order, exposing the incomplete business state rather than pretending cancellation rolled the world back.\n\n1.  The worker persists the proposed action and enters a review state before mutating inventory.\n2.  The decision names the exact reviewed payload; editing a bound field requires a fresh decision.\n3.  Resume continues from the recorded boundary and does not reinterpret an old approval as broad permission.\n4.  Cancellation stops additional execution, while existing receipts describe effects that already committed.\n\n## Science and assumptions\n\n### Human review, interruption and cancellation · explicit relationship\n\nApproval binds the exact proposed action. Pause waits for input; cancellation stops further execution; compensation is a separate action against an existing effect.\n\nAn approval covers FAN-7, FILTER-A, quantity two, manual-fan-7 and reservation key K. A later request with quantity three does not match that approval. In the normal fixture, declining review leaves stock at four. If two units already committed before a lost response and cancellation follows, stock remains two and one reservation exists, but no work order is created. A compensating release would be a separate authorized action; this example does not execute one.\n\nAssumptions The executable equality check is canonical payload matching, not a cryptographic approval signature. Physical stop behavior and compensating transactions are outside the fixture.\n\n## Engineering example\n\nAn approval covers FAN-7, FILTER-A, quantity two, manual-fan-7 and reservation key K. A later request with quantity three does not match that approval. In the normal fixture, declining review leaves stock at four. If two units already committed before a lost response and cancellation follows, stock remains two and one reservation exists, but no work order is created. A compensating release would be a separate authorized action; this example does not execute one.\n\n## Distinctions and tradeoffs\n\nCanceling a workflow does not automatically undo its completed side effects.\n\nHuman review adds latency and must present enough evidence to make the decision meaningful; excessive generic prompts can obscure the one action that needs review.\n\nAI assistance remains controllable when proposals, review decisions and effects have explicit boundaries.\n\n## Specifications and interfaces\n\nMechanism boundary\n\nWhat does approval or cancellation actually change?\n\nThe executable equality check is canonical payload matching, not a cryptographic approval signature. Physical stop behavior and compensating transactions are outside the fixture.\n\nEvidence type\n\nAuthored worked example\n\nThe durable incident experience executes typed fixture tools, authority checks, exact review, receipts and independent final-state checks. Its policies are authored code and its storage boundary is local; it is not a real model or production workflow platform.\n\n### Interfaces\n\nDeclared input and state Input\n\nThe worker persists the proposed action and enters a review state before mutating inventory.\n\nChecked outcome Output\n\nDetermine which exact action was approved and distinguish pause, cancellation and compensation.\n\n## Check your understanding\n\n### Cancellation arrives after the reservation committed. Which statement is correct?\n\n1.  The reservation necessarily disappears\n2.  The reservation remains unless a separate valid reversal occurs\n3.  The failed response proves no stock changed\n\nAnswer and reasoning\n\nThe reservation remains unless a separate valid reversal occurs\n\nThe receipt represents a committed external effect. Cancellation stops further work but does not erase it.\n\n## Evidence and scope\n\nThe durable incident experience executes typed fixture tools, authority checks, exact review, receipts and independent final-state checks. Its policies are authored code and its storage boundary is local; it is not a real model or production workflow platform. The quantities and fixtures are authored. Source scope is recorded in the automation learning review manifest; no source benchmark or private system behavior is claimed. The executable equality check is canonical payload matching, not a cryptographic approval signature. Physical stop behavior and compensating transactions are outside the fixture.\n\nThe durable incident experience executes typed fixture tools, authority checks, exact review, receipts and independent final-state checks. Its policies are authored code and its storage boundary is local; it is not a real model or production workflow platform.\n\n## Sources\n\n-   [LangGraph · Interrupts](https://docs.langchain.com/oss/python/langgraph/interrupts)\n-   [Temporal Activities](https://docs.temporal.io/activities)\n-   [ROS 2 Jazzy: Understanding actions](https://raw.githubusercontent.com/ros2/ros2_documentation/jazzy/source/Concepts/Basic/About-Actions.rst)\n\n[Published lesson data](https://semiaifoundry.com/ai-atlas/lesson-data/human-review-cancellation-011a87a1b518745d.json) · [Atlas releases and licensing](https://semiaifoundry.com/ai-atlas/licenses.html)\n\n## Continue exploring\n\n### Foundations\n\n-   [Durable actions and the ambiguous timeout](https://semiaifoundry.com/learn/atlas/durable-actions-idempotency/)\n-   [User authority and service identity](https://semiaifoundry.com/learn/atlas/tool-authority-identity/)\n\n### Related lessons\n\n-   [Tools, memory & agent loop](https://semiaifoundry.com/learn/atlas/tool-loop/)\n-   [Evaluation & the AGI frontier](https://semiaifoundry.com/learn/atlas/evaluation/)"
}
