From 8ffa3eb4d7842a9832e005ce33e33a5d2c8447dc Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 13 Jul 2026 08:05:22 +0000 Subject: [PATCH 1/3] docs: add review guidelines and feedback routing for agents Add AGENTS.md and code_review.md so an automated reviewer (Codex) follows a single Conventional Comments specification, and the agent that fixes a pull request routes disagreements and judgement calls to the human maintainer instead of looping with the reviewer. Human merge stays the final gate. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01XAzVV5kTFuoTABDYZHSKR1 --- AGENTS.md | 123 +++++++++++++++ code_review.md | 409 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 532 insertions(+) create mode 100644 AGENTS.md create mode 100644 code_review.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..f6fdab0 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,123 @@ +# AGENTS.md — FirstClassErrors + +Instructions for automated agents (OpenAI Codex and others) in this repository. +Two roles are covered: **writing code** and **reviewing pull requests**. + +## Project orientation (code changes) + +- .NET Standard 2.0 library. Errors are first-class, documented, diagnosable concepts. +- Build: `dotnet build FirstClassErrors.sln` +- Test: `dotnet test FirstClassErrors.sln` (analyzer tests: `dotnet test FirstClassErrors.Analyzers.UnitTests`). +- Repository language is **English** (code, comments, commits, PRs, issues, and + review comments). French lives only in `doc/README.fr.md` and must stay in sync + with the English README. +- `Error` and its hierarchy, `ErrorCode`, `ErrorContextKey`, `Outcome`/`Outcome` + and any value object are **`class`, never `struct`** — a struct exposes a + zero-initialized default that bypasses validating constructors. Enums + (`Transience`, `ErrorOrigin`) are the only value-type exception. +- Keep changes small and focused. Treat renamed error codes, diagnostic IDs and + public types as breaking changes. + +## Review guidelines (pull request reviews) + +READ THIS BEFORE REVIEWING. The full specification is in `code_review.md`; the +rules below are mandatory and inlined so they are never missed. + +### Output format — mandatory + +Every inline comment MUST use exactly this shape, with nothing around it: + +```text +