From e485f55811a352112b79343f382209598851a0c5 Mon Sep 17 00:00:00 2001 From: Byron Matus Date: Fri, 9 Oct 2026 12:21:35 +0200 Subject: [PATCH 1/2] Rename CLAUDE.md to AGENTS.md --- CLAUDE.md => AGENTS.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename CLAUDE.md => AGENTS.md (100%) diff --git a/CLAUDE.md b/AGENTS.md similarity index 100% rename from CLAUDE.md rename to AGENTS.md From b7aefd8b5398f66908469c407f4c69ec3b4de563 Mon Sep 17 00:00:00 2001 From: Byron Matus Date: Fri, 9 Oct 2026 12:25:00 +0200 Subject: [PATCH 2/2] Document TDD red-green process and RegressionTests.md upkeep in AGENTS.md --- AGENTS.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 56d4366..8c823cc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -36,6 +36,18 @@ When your changes create orphans: The test: Every changed line should trace directly to the user's request. +## Test-Driven Development + +**Red, green, refactor — never write implementation code first.** + +1. **Red** — write a failing test that captures the desired behaviour. Run it and confirm it fails for the right reason. +2. **Green** — write the minimum code needed to make that test pass. Run the test and confirm it passes. +3. **Refactor** — clean up while keeping all tests green. Re-run the full test suite after every step. + +- No production code without a failing test that demands it. +- If a test passes on the first run, verify it actually exercises the new behaviour — it may be a false green. +- Run the full suite (`dotnet test`) before declaring any task done. + ## Goal-Driven Execution **Define success criteria. Loop until verified.** @@ -57,3 +69,16 @@ For multi-step tasks, state a brief plan: ``` Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification. + +## Keep the Regression Test Cases Up to Date + +**Every code change must be reflected in `RegressionTests.md`.** + +After making any change — new feature, behaviour change, bug fix, or removed functionality — update `RegressionTests.md` before considering the task done: + +- Add a new case (following the existing `-NN` ID and table format) for any new or changed user-visible behaviour. +- Amend the relevant existing case when behaviour changes. +- Remove or mark obsolete any case that no longer applies. +- Keep the Contents list in sync when a whole section is added or removed. + +If a change genuinely affects no manual test case, say so explicitly instead of silently skipping this step.