Problem
This was prompted by #34435 (review), where it was not clear to me how (and where) exceptional IWYU cases should be documented.
Fix
This PR documents the IWYU CI wrapper as the reproducible local entrypoint.
The developer notes now recommend reducing suspected IWYU false positives to a minimal upstream reproducer, treat IWYU pragma as a narrow workarounds, and ask for nearby rationale comments on non-obvious IWYU pragma use. An example comment was also added.
The IWYU patch comment is also updated to point at the current clang_22 include picker reference.
Reproducer
Create a dummy commit on top that adds an unused include, then run the command from the developer notes. Without the dummy commit, the command should pass.
<details><summary>IWYU demo commit</summary>
diff --git a/src/kernel/bitcoinkernel.cpp b/src/kernel/bitcoinkernel.cpp
--- a/src/kernel/bitcoinkernel.cpp (revision c92b329e7b7d49476b5977d26c24d7c4982c6024)
+++ b/src/kernel/bitcoinkernel.cpp (revision ad2c5ba2ba69156e77061c1e6c098b725c28f322)
@@ -43,6 +43,7 @@
#include <functional>
#include <list>
#include <memory>
+#include <vector>
#include <span>
#include <stdexcept>
#include <string>
</details>
[!NOTE] After repeated failing runs,
docker container rm -f ci_native_iwyumay be needed because the local CI wrapper can leave the detached container running when the inner test command fails.