Why this matters
Reduces surface area and accidental coupling.
Prefer the most restrictive access modifier that works (private/internal) and expose only necessary members.
Reduces surface area and accidental coupling.
Side-by-side examples engineers can pattern-match during review.
public string _internalState;private string _internalState;public field for internal stateprivate field; public read-only propertyFrom the same buckets as this rule.
For changes that affect architecture, data models, external APIs, security posture, deployment topology, or cost (>10%), create an ADR in docs/adr/ using the standard template (Context, Decision, Consequences) and link the PR and issue IDs.