From 4ff3291503b1a1faef97dca0e3aa7a656b194b08 Mon Sep 17 00:00:00 2001 From: Antoine Toussaint <312536060+antoinetoussaint-byte@users.noreply.github.com> Date: Tue, 13 Oct 2026 11:50:38 -0400 Subject: [PATCH] docs: carry the fleet-wide reuse and size-budget rules into AGENTS.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two author-side rules the fleet states and this file did not, verbatim from obin-ai/handbook#313 (merged 2026-10-13): prove reuse before you build, and build the simplest thing that works — a ~500 hand-written line budget, where past 2,000 the change has become a second system and the agent stops and asks the person who wanted it instead of finishing it. The wording is byte-identical across every repo in this sweep; only the list marker follows this file's own style. Docs only: no code, no gate, no behaviour change. Co-Authored-By: Claude Opus 5 (1M context) --- AGENTS.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 5592950..d8a5db8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -622,6 +622,24 @@ against. a composed module accepts one. If you did not run it against a real composition, the PR says so. +7. **Prove reuse before you build.** The default answer is that the platform + already has it and your change fills a gap or adds a helper on it, so the PR + body names what you reused and what you deliberately did not. A second + mechanism for a job one seam already does is refused however clean it is. + Two tells you are reinventing: what you are writing re-answers a question an + existing seam answered, and your reason for its placement is that a + convenient loop was already there rather than that the responsibility + belongs to it. + +8. **Build the simplest thing that works; size is the signal.** A coding task's + budget is about **500 hand-written lines** — generated output does not + count, tests count apart — and past **2,000** the change has become a second + system, so **stop and ask the user** instead of finishing it. Two tells, + checkable before the code exists: you cannot name the one responsibility the + change adds, and it is growing to make the end goal pass rather than to put + a behaviour where it belongs. Wanting it to work licenses no means to get + there. + ## Build and test Derived from [`.github/workflows/go.yml`](.github/workflows/go.yml), the only