From c2b22663b5fee0998758ae4c1f0673959e507010 Mon Sep 17 00:00:00 2001 From: jan-kubica Date: Sun, 9 Aug 2026 11:01:54 +0200 Subject: [PATCH] docs: avoid needless compatibility layers --- modules/engineering.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/engineering.md b/modules/engineering.md index c087931..fb69f1a 100644 --- a/modules/engineering.md +++ b/modules/engineering.md @@ -9,6 +9,11 @@ unnecessary words, a paragraph no unnecessary sentences, for the same reason that a drawing should have no unnecessary lines and a machine no unnecessary parts. Applies to comments, commits, PRs, and docs. +- Do not add backward-compatibility machinery by default. First identify the concrete + older clients, persisted data, integrations, or deployment states that must remain + supported. When none exist, prefer a clean migration or cutover; aliases, dual + reads/writes, and staged paths add permanent complexity. When compatibility is + required, document its boundary and removal condition. - Prefer explicit over implicit; when a backend endpoint accepts a discriminator (e.g., `?type=document|file`), thread it through the full stack (URL params, component props) instead of hardcoding a default on the frontend