From 0def13f0c72ae5c23baa34776bd07f89224323b6 Mon Sep 17 00:00:00 2001 From: panxiao81 Date: Thu, 10 Sep 2026 02:41:45 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=A1=AE=E7=AB=8B=E8=A7=84=E6=A0=BC?= =?UTF-8?q?=E5=85=88=E8=A1=8C=E5=BC=80=E5=8F=91=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 5268efc..4ad5892 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,5 +1,23 @@ # postgresql-tenant-operator - AI Agent Guide +## Specification-Driven Development + +- Use specification-driven development for every new feature and externally observable + behavior change: decide and document the contract before writing implementation code. +- Create or update the relevant specification first. It must define scope, non-goals, + observable behavior, validation, failure semantics, security boundaries, and acceptance + criteria at the level needed for a human to make the pending decisions. +- Stop after the specification reaches a reviewable state and ask the user to approve it + before implementing the behavior. Approval of a plan, issue, or earlier specification + does not imply approval of materially new decisions. +- Derive tests from the approved acceptance criteria, then implement the smallest vertical + slice that makes those tests pass. Keep specification, tests, and implementation + traceable to one another. +- If implementation exposes an ambiguity or requires changing the approved behavior, stop, + update the specification, and request review again before continuing. +- Keep specifications focused on contracts and decisions. Do not prematurely freeze internal + Go package structure, function names, or SQL details unless they are part of the contract. + ## Human-Reviewable Changes - Break every feature into small, coherent changes that a human can review independently.