D025 - Generate the symbol name list; never ship a database

decided ยท 2026-08-19

NIDs are hashes of names, so a name list plus a matcher beats obtaining someone's database. The naming convention is highly regular (sce<Module><Verb>, with the kernel surface largely POSIX renamed), so a candidate generator hashed against the NIDs a real module actually imports gives proof by collision - self-verifying, and requiring no vendor binary be read.

Third-party databases may be loaded at runtime, but the thing to check is not the names (interface identifiers are facts) - it is how the database was produced. Brute-forced from names is clean; dumped from decrypted firmware carries the provenance problem into our tree. Either way, none is distributed with this repo.

Implies a name-candidate generator in orbistoun-nid, which needs real NIDs to match against and is therefore gated on having a real module to read imports from.