principle-model-the-domain · git:20260908.ec65ed5 · 2026-09-08 · sha256 e543e0f8885dae1c

principle-model-the-domain git:20260908.ec65ed5A

Immutable. This exact content never changes and is served at /api/v1/blob/e543e0f8885dae1c.

---
name: principle-model-the-domain
description: Encode the domain in the right structure: state machine, typed model, table, registry, reducer, boundary, or collection instead of scattered conditionals. Use when when stateful logic accumulates branches or repeated shape assumptions.
---
# Model the Domain

## Trigger

When stateful logic accumulates branches or repeated shape assumptions.

## Rule

Encode the domain in the right structure: state machine, typed model, table, registry, reducer, boundary, or collection instead of scattered conditionals.

## Application

1. Name the concrete decision this principle changes.
2. Apply the rule to that decision, not as a decorative citation.
3. Prefer evidence from the current repository/runtime over generic preference.
4. If the principle conflicts with an explicit user constraint, keep the constraint and state the tradeoff.