From 775083e5c07a51e1b51d67520658fc74f6c53a02 Mon Sep 17 00:00:00 2001 From: Ivan Banov Date: Fri, 28 Aug 2026 17:22:42 +0200 Subject: [PATCH 1/2] =?UTF-8?q?docs(agents):=20principles=20table=20?= =?UTF-8?q?=E2=80=94=20KISS,=20DRY,=20YAGNI,=20POLA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- AGENTS.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index ae48362..f1a2952 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -106,6 +106,18 @@ TEST; if not, ship it! ## Code +### Principles + +Every change is held to these four, in this order — simplest thing that +works, written once, built only when needed, behaving as promised: + +| Principle | Meaning | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **KISS** | Keep it simple. Prefer the plain solution over the clever one; complexity must earn its keep with a need the simple version can't meet. | +| **DRY** | Don't repeat yourself. A rule two places must agree on is written once and shared — duplication is where the copies drift apart. | +| **YAGNI** | You aren't gonna need it. Build for the requirement in front of you, not the one imagined; speculative machinery is deleted-on-sight, not kept just in case. | +| **POLA** | Principle of least astonishment. A thing does what its name and shape promise — no hidden side effects, no behavior a reader wouldn't guess from the call site. | + ### Naming Descriptive names everywhere. Short names are fine for local variables From 265f443ab5f2c9166e7b45315ac11163d2bd67c6 Mon Sep 17 00:00:00 2001 From: Ivan Banov Date: Sat, 29 Aug 2026 09:54:26 +0200 Subject: [PATCH 2/2] Update AGENTS.md Signed-off-by: Ivan Banov --- AGENTS.md | 1 - 1 file changed, 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index f1a2952..fc4af2c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -116,7 +116,6 @@ works, written once, built only when needed, behaving as promised: | **KISS** | Keep it simple. Prefer the plain solution over the clever one; complexity must earn its keep with a need the simple version can't meet. | | **DRY** | Don't repeat yourself. A rule two places must agree on is written once and shared — duplication is where the copies drift apart. | | **YAGNI** | You aren't gonna need it. Build for the requirement in front of you, not the one imagined; speculative machinery is deleted-on-sight, not kept just in case. | -| **POLA** | Principle of least astonishment. A thing does what its name and shape promise — no hidden side effects, no behavior a reader wouldn't guess from the call site. | ### Naming