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
 
