{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/separate-policy-from-implementation-mechanism",
  "id": "MHC-D-RESEARCH-9145",
  "version": "0.1.0",
  "title": "Separate policy from implementation mechanism",
  "summary": "Stable mechanisms should not hard-code volatile policy where avoidable.",
  "kind": "principle",
  "body": "Express business policy in one explicit layer or configuration boundary and let implementation consume it through a stable contract, subject to security and performance constraints.",
  "limits": [
    "Modularity trades coordination inside a boundary for coordination across interfaces. Do not split systems simply to make diagrams or org charts look cleaner."
  ],
  "topics": [
    "union-systems-strategy-and-leverage-thinking"
  ],
  "intents": [],
  "source_ids": [
    "RS-E3F5E2F94A0C75BB"
  ],
  "evidence": [
    {
      "claim": "Parnas showed that modularization outcomes depend on decomposition criteria and argued for boundaries that hide changeable design decisions to improve flexibility and comprehensibility.",
      "source_id": "RS-E3F5E2F94A0C75BB",
      "role": "supports",
      "note": "This is foundational software-design reasoning; organizational adaptations require separate validation.",
      "locator": "Abstract and design comparison"
    }
  ],
  "use_when": [
    "When a rule change repeatedly requires low-level rewrites across the system."
  ],
  "avoid_when": [
    "Modularity trades coordination inside a boundary for coordination across interfaces. Do not split systems simply to make diagrams or org charts look cleaner."
  ],
  "example": "Order-block policy changes from ZM to another rule without rewriting the underlying persistence and integration mechanics.",
  "check": "A policy change can be reviewed and deployed without unnecessary changes to unrelated mechanism code or process.",
  "sources": [
    {
      "id": "RS-E3F5E2F94A0C75BB",
      "title": "On the Criteria To Be Used in Decomposing Systems into Modules",
      "url": "https://doi.org/10.1145/361598.361623"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-9145",
      "to": "MHC-D-RESEARCH-9146",
      "type": "useful_with",
      "url": "/knowledge/design-a-fallback-at-the-interface"
    }
  ],
  "collections": [
    {
      "id": "RC-28D91C30CEA1CB4A",
      "title": "Systems and strategic leverage: feedback, flow, modularity, robust options, and information value",
      "url": "/collections/systems-and-strategic-leverage-feedback-flow-modularity-robust-options-and-information-value"
    }
  ]
}
