{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/canary-the-batch-before-scaling-it",
  "id": "MHC-D-RESEARCH-0344",
  "version": "0.1.0",
  "title": "Canary the batch before scaling it",
  "summary": "Do not make the millionth write your first realistic test.",
  "kind": "protocol",
  "body": "Apply the real change to a deliberately small, representative slice first. Observe the same correctness and health signals that matter at full scale, including delayed processing where relevant. Expand only when the canary remains healthy for the required observation window. Choose the slice to reveal risk, not merely to make the success rate look good.",
  "limits": [
    "A canary cannot expose failures that only appear at scale, in rare data or after long delays; design later gates for those risks."
  ],
  "topics": [
    "union-safe-change-operations"
  ],
  "intents": [],
  "source_ids": [
    "RS-5D6BA8DCC62D671F"
  ],
  "evidence": [
    {
      "claim": "Google SRE recommends canarying a data pipeline on a subset of real production-shaped data or in dry-run mode before full rollout.",
      "source_id": "RS-5D6BA8DCC62D671F",
      "role": "supports",
      "note": "A representative canary lowers exposure but can still miss rare data shapes or delayed effects.",
      "locator": "Canarying data pipelines"
    }
  ],
  "use_when": [
    "A change must touch many records, jobs, instances or users and real conditions matter."
  ],
  "avoid_when": [
    "A canary cannot expose failures that only appear at scale, in rare data or after long delays; design later gates for those risks."
  ],
  "example": "Update 50 representative records across several data shapes before starting the remaining 50,000.",
  "check": "The full rollout waits for evidence from a bounded real-world slice rather than only preproduction confidence.",
  "steps": [
    "The full rollout waits for evidence from a bounded real-world slice rather than only preproduction confidence."
  ],
  "sources": [
    {
      "id": "RS-5D6BA8DCC62D671F",
      "title": "Improve and Optimize Data Processing Pipelines",
      "url": "https://sre.google/workbook/data-processing/"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0344",
      "to": "MHC-D-RESEARCH-0356",
      "type": "useful_with",
      "url": "/knowledge/dry-run-the-real-shaped-input-without-the-real-write"
    }
  ],
  "collections": [
    {
      "id": "RC-4F77BDBBF2481574",
      "title": "Change live systems without turning one mistake into a large one",
      "url": "/collections/change-live-systems-without-turning-one-mistake-into-a-large-one"
    }
  ]
}
