{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/choose-the-clock-before-assigning-an-event-to-a-period",
  "id": "MHC-D-RESEARCH-0986",
  "version": "0.1.0",
  "title": "Choose the clock before assigning an event to a period",
  "summary": "Arrived today and happened today are different statements.",
  "kind": "question",
  "body": "Keep occurrence time and processing time separate. Decide which clock answers the business question, and define what happens when an event arrives after a reporting cutoff. Ordering records by arrival cannot reconstruct the event sequence by itself.",
  "limits": [
    "Source clocks and timestamps can be wrong. A streaming watermark estimates progress; it does not make late arrival impossible."
  ],
  "topics": [
    "work-02-data-reconciliation"
  ],
  "intents": [],
  "source_ids": [
    "RS-4DB447BFC603BBA8"
  ],
  "evidence": [
    {
      "claim": "Event time records when an event occurred, while processing time records when a system processes it; arrival order need not follow event order.",
      "source_id": "RS-4DB447BFC603BBA8",
      "role": "supports",
      "note": "Choosing the reporting clock and late-data correction policy remains a domain decision.",
      "locator": "Section 8.4"
    }
  ],
  "use_when": [
    "Late messages or delayed processing move events into the wrong reporting day."
  ],
  "avoid_when": [
    "Source clocks and timestamps can be wrong. A streaming watermark estimates progress; it does not make late arrival impossible."
  ],
  "example": "A service event occurs before midnight but reaches reporting after midnight. Its business date follows the agreed occurrence-time rule, not an accidental queue delay.",
  "check": "A deliberately late test event lands in the expected period or follows the documented correction route.",
  "question": "Does this report concern when work happened or when the system received it? · Which time zone and cutoff define the period? · How will late events correct or annotate an already issued result?",
  "sources": [
    {
      "id": "RS-4DB447BFC603BBA8",
      "title": "Apache Beam Programming Guide",
      "url": "https://beam.apache.org/documentation/programming-guide/"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0986",
      "to": "MHC-D-RESEARCH-0987",
      "type": "useful_with",
      "url": "/knowledge/join-historical-work-to-the-version-that-was-valid-then"
    }
  ],
  "collections": [
    {
      "id": "RC-1B134BE48D7DF2A0",
      "title": "Keep the meaning intact when data moves",
      "url": "/collections/keep-the-meaning-intact-when-data-moves"
    }
  ]
}
