{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/dry-run-the-real-shaped-input-without-the-real-write",
  "id": "MHC-D-RESEARCH-0356",
  "version": "0.1.0",
  "title": "Dry-run the real-shaped input without the real write",
  "summary": "Real data can teach you something before it is allowed to change anything.",
  "kind": "protocol",
  "body": "Run the transformation or decision logic on production-shaped input while suppressing authoritative writes. Capture proposed outputs, errors, counts and performance, then compare them with the live or expected path. This is especially useful for data pipelines, migrations and agent workflows whose failures depend on real input diversity.",
  "limits": [
    "A dry run may miss write-side triggers, locking, permissions and downstream side effects; test those separately before assuming full equivalence."
  ],
  "topics": [
    "union-safe-change-operations"
  ],
  "intents": [],
  "source_ids": [
    "RS-5D6BA8DCC62D671F"
  ],
  "evidence": [
    {
      "claim": "Google SRE describes dry-run or canary pipeline execution that uses production data while skipping writes to production storage.",
      "source_id": "RS-5D6BA8DCC62D671F",
      "role": "supports",
      "note": "A no-write path may not exercise all write-side constraints, triggers or downstream effects.",
      "locator": "Canarying data pipelines; two-phase mutation"
    }
  ],
  "use_when": [
    "Test fixtures are too clean and production data shape is a major source of risk."
  ],
  "avoid_when": [
    "A dry run may miss write-side triggers, locking, permissions and downstream side effects; test those separately before assuming full equivalence."
  ],
  "example": "Run a customer transformation against current records into a temporary table and compare the proposed target fields before enabling update mode.",
  "check": "The team has evidence from realistic input without yet exposing the authoritative target to the change.",
  "steps": [
    "The dry run receives representative production-shaped input.",
    "Authoritative writes and external side effects are disabled or redirected safely.",
    "Outputs and failures are captured for comparison.",
    "Differences are reviewed before live mutation is enabled.",
    "Sensitive production data remains protected under the same access rules."
  ],
  "sources": [
    {
      "id": "RS-5D6BA8DCC62D671F",
      "title": "Improve and Optimize Data Processing Pipelines",
      "url": "https://sre.google/workbook/data-processing/"
    }
  ],
  "relations": [],
  "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"
    }
  ]
}
