Skip to content

Murphy’s Law

Failure paths that are possible should be expected over sufficient time and scale.

Canonical interpretation

Design proportionate safeguards for plausible failures rather than assuming ideal operation.

Purpose

Failure paths that are possible should be expected over sufficient time and scale.

Apply when

  • The project is being evolved, modernized, reviewed, or reorganized.
  • Organizational and historical context affects technical outcomes.

This does not mean

  • Do not attempt to defend against every imaginable scenario.
  • Do not replace risk analysis with pessimism.

Trade-offs

  • Local improvement can enlarge the scope and risk of a change.
  • Organizational laws are diagnostic lenses, not deterministic commands.

Conflicts with canonical entries

  • kiss

Broader policy tensions

  • cost-control

Reinforces canonical entries

  • defensive-programming

Supports broader concerns

  • observability

Core Skill ownership

Primary owner: engineering-review-lenses

Positive example

Handle network timeout and retry semantics in an external integration.

Counterexample

Assume a remote service will always return once and exactly once.

Guidance for AI models

  • Apply this guidance only after considering the active project profile, constraints, and architecture authority.
  • State the concrete design consequence instead of citing the principle name as sufficient justification.

Editorial note

This page is generated from the canonical YAML entry. Edit principles/entries/murphys-law.yaml and regenerate the compendium instead of editing this file directly.