Docs: Move the review-response guidance into its own agent guide

libeigen/eigen!2971

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
diff --git a/.agents/review-response.md b/.agents/review-response.md
new file mode 100644
index 0000000..592ee56
--- /dev/null
+++ b/.agents/review-response.md
@@ -0,0 +1,19 @@
+# Responding To Review
+
+Use this guide when answering merge request review comments.
+
+A posted code suggestion is a sketch that has not been compiled; verify it like your own work before adopting it —
+including the C++14 baseline, `Matrix`/`Array` and expression-type mismatches, and numerically deliberate groupings.
+Reproduce a claimed defect before fixing it, and judge the suggested remedy separately from the finding: a real bug
+often arrives with a fix that breaks cases the current code handles. Hold your own claims to the same standard —
+a behavioral claim is established by reading the function body and the branch actually taken, never by a header's
+own Doxygen, which can be stale or describe an adjacent case; confirming that a path or symbol exists proves nothing
+about behavior, and universals need enumeration rather than inference from a few instances.
+Address every thread: apply the suggestion or explain the deviation, naming the commit that resolved it. Keep the
+response within the comment's scope; a defect it exposes in shared code belongs in its own commit or merge request.
+After each round, re-verify that the merge request description and commit messages still describe the current head.
+
+GitLab renders KaTeX in merge request descriptions and comments. Typeset real mathematics — bounds, recurrences,
+identities, error terms — as math: inline with dollar-backtick delimiters (``$`h_j = \varepsilon\,\max(|x_j|, 1)`$``;
+bare `$...$` does not render on gitlab.com), display equations in a fenced ` ```math ` block. Keep identifiers that
+name actual code (`eps`, `numext::maxi`) in code spans, and do not dress a code-level statement up in LaTeX.
diff --git a/AGENTS.md b/AGENTS.md
index 50aa605..9951949 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -24,6 +24,7 @@
 | Packet math, CUDA, HIP, SYCL, `unsupported/Eigen/GPU` | [`.agents/simd-gpu.md`](.agents/simd-gpu.md) |
 | Tensor, ThreadPool, and multithreading | [`.agents/tensor-threadpool.md`](.agents/tensor-threadpool.md) |
 | Formatting, lint, and GitLab CI | [`.agents/ci.md`](.agents/ci.md) |
+| Answering merge request review comments | [`.agents/review-response.md`](.agents/review-response.md) |
 | Expression templates or evaluator internals | [`doc/TopicLazyEvaluation.dox`](doc/TopicLazyEvaluation.dox), [`doc/NewExpressionType.dox`](doc/NewExpressionType.dox), and [`doc/ClassHierarchy.dox`](doc/ClassHierarchy.dox) |
 
 ## Non-negotiable rules
@@ -81,24 +82,7 @@
    build directories for materially different CMake configurations.
 7. Review `git diff --check`, `git diff`, and `git status --short`. Report the exact validation run and any unavailable
    compiler, ISA, GPU, dependency, or downstream coverage.
-
-## Responding to review
-
-A posted code suggestion is a sketch that has not been compiled; verify it like your own work before adopting it —
-including the C++14 baseline, `Matrix`/`Array` and expression-type mismatches, and numerically deliberate groupings.
-Reproduce a claimed defect before fixing it, and judge the suggested remedy separately from the finding: a real bug
-often arrives with a fix that breaks cases the current code handles. Hold your own claims to the same standard —
-a behavioral claim is established by reading the function body and the branch actually taken, never by a header's
-own Doxygen, which can be stale or describe an adjacent case; confirming that a path or symbol exists proves nothing
-about behavior, and universals need enumeration rather than inference from a few instances.
-Address every thread: apply the suggestion or explain the deviation, naming the commit that resolved it. Keep the
-response within the comment's scope; a defect it exposes in shared code belongs in its own commit or merge request.
-After each round, re-verify that the merge request description and commit messages still describe the current head.
-
-GitLab renders KaTeX in merge request descriptions and comments. Typeset real mathematics — bounds, recurrences,
-identities, error terms — as math: inline with dollar-backtick delimiters (``$`h_j = \varepsilon\,\max(|x_j|, 1)`$``;
-bare `$...$` does not render on gitlab.com), display equations in a fenced ` ```math ` block. Keep identifiers that
-name actual code (`eps`, `numext::maxi`) in code spans, and do not dress a code-level statement up in LaTeX.
+8. When review comments arrive, follow [`.agents/review-response.md`](.agents/review-response.md).
 
 ## Repository essentials