tree a31f620b8fe51a33a045854dfac66e75d8c3da37
parent 6957ac9ceaf4b0de7ce1e350ed5f10b4bcfca2ce
author Marc Kupietz <kupietz@ids-mannheim.de> 1788434017 +0200
committer Marc Kupietz <kupietz@ids-mannheim.de> 1788436152 +0200

Check the Readme against the package on every test run

The Readme is the entry point for readers, and, since generated code is
copied from it verbatim, for LLMs too. Nothing so far noticed when it
drifted away from the package: the "available since RKorAPClient
0.9.0.9000" claim named a version that never existed and survived for
years, and the code in it is never executed.

Four checks, all offline and in milliseconds, so unlike the
documentation tests they can run on every commit:

* every R code block parses
* every function called exists, those of this package as exports, the
  others through the packages the Readme itself loads
* every named argument exists in the signature of the function it is
  passed to, which is where a renamed parameter would otherwise turn
  the Readme into a source of broken code
* every version mentioned has a NEWS.md section, which is what the
  0.9.0.9000 claim failed

Signatures are taken from the .local wrapper that setMethod() creates
for S4 methods whose arguments differ from the generic, since the
formals of the method itself are only those of the generic.

All four were verified to fail on an injected fault of their kind. They
skip when Readme.md is absent, as it is in the built package, being in
.Rbuildignore.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Change-Id: Ic1aefea5d964956ca46132ec3d97e2318b4fe931
