D018 - Prefer documentation over binary extraction when sourcing names

assumed ยท 2026-08-19

Symbol names are taken from published interface documentation, specifications, and hand-written SDK headers. Names recovered by dumping decrypted vendor libraries are not used, even though the resulting string is identical.

The distinction is provenance, not the value. A name is a fact about an interface and strlen is strlen wherever it is read. But the project rule bans material derived from decrypted vendor binaries, and "we only took the names" is exactly the argument that rule exists to refuse - the same reasoning would justify taking struct layouts next, and then constants, each step looking small.

Practically this rules out generated stub lists. The mainstream community SDK for the current-generation console builds its symbol stubs by processing decrypted .sprx files; the names are correct and the chain of custody is not one this repository can adopt. Where a name is genuinely only available that way, the honest position is that this project does not have it yet.

Recorded as an assumption because it is a judgement about someone else's rule. It is a stricter reading than "names are facts", and a looser reading would be defensible. It should be confirmed rather than left to drift.