{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/follow-an-accepted-job-to-its-actual-completion-state",
  "id": "MHC-D-RESEARCH-0989",
  "version": "0.1.0",
  "title": "Follow an accepted job to its actual completion state",
  "summary": "Accepted is a place in the queue, not a certificate of completion.",
  "kind": "checklist",
  "body": "Use the operation identifier and documented status route to follow asynchronous work. Separate acceptance, processing and terminal outcomes in the report. Then check the business result that matters; an interface can finish while a downstream dependency is still unresolved.",
  "limits": [
    "Do not poll without bounds or treat disappearance of a job as success. Some systems retain results only briefly, so capture evidence through the supported route."
  ],
  "topics": [
    "work-02-data-reconciliation"
  ],
  "intents": [],
  "source_ids": [
    "RS-2859F99043627211"
  ],
  "evidence": [
    {
      "claim": "The asynchronous request-reply pattern can acknowledge acceptance with HTTP 202 while exposing a separate route for checking later completion.",
      "source_id": "RS-2859F99043627211",
      "role": "supports",
      "note": "The operation's documented completion state may still differ from downstream business readiness.",
      "locator": "Solution"
    }
  ],
  "use_when": [
    "An interface reports that a request was accepted, while the requested change happens later."
  ],
  "avoid_when": [
    "Do not poll without bounds or treat disappearance of a job as success. Some systems retain results only briefly, so capture evidence through the supported route."
  ],
  "example": "An upload returns an accepted response. The task remains in progress until its status and destination checks confirm the requested records were applied.",
  "check": "The completion message cites a terminal operation result and the required business check.",
  "checklist": [
    "Save the job identifier and the receiver's status-check route.",
    "Follow the documented polling or notification policy, including failure and expiry states.",
    "Confirm the relevant destination result before marking the business task complete."
  ],
  "sources": [
    {
      "id": "RS-2859F99043627211",
      "title": "Asynchronous Request-Reply pattern",
      "url": "https://learn.microsoft.com/en-us/azure/architecture/patterns/asynchronous-request-reply"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0989",
      "to": "MHC-D-RESEARCH-0984",
      "type": "useful_with",
      "url": "/knowledge/make-every-selected-record-end-in-an-explicit-status-bucket"
    },
    {
      "from": "MHC-D-RESEARCH-0989",
      "to": "MHC-D-RESEARCH-0975",
      "type": "compare_with",
      "url": "/knowledge/treat-a-timeout-as-an-unknown-outcome-before-repeating-the-action"
    }
  ],
  "collections": [
    {
      "id": "RC-1B134BE48D7DF2A0",
      "title": "Keep the meaning intact when data moves",
      "url": "/collections/keep-the-meaning-intact-when-data-moves"
    }
  ]
}
