D168 - The harvested name list is missing the syscall family
decided · 2026-08-21
The sceKernel<posix-name> idea (D155, D167) was
going to be built as a solver pattern. Measuring first: 108,117
candidates composed from the 2,637 harvested names against the sixteen
still-unnamed hashes. Zero matches.
Then the control, because a negative from an unvalidated instrument
is worth nothing - which this project has now said three times.
sceKernelMprotect is a confirmed name of exactly
that shape, so the sweep must be able to produce it. It cannot:
mprotect harvested? False
sweep generates it? False
mprotect is not in the harvested list. Nor are
mmap, munmap, madvise,
mlock, lseek, pread,
pwrite, openat, ftruncate,
fstat, fstatat, access,
ioctl, execve, getpid or
kill. The syscall family is largely
absent, while stdio is complete and open,
read, write, close are present -
so this is a gap in the source that was read, not a filter rejecting a
category.
The harvester does walk subdirectories, so
lib/libc/sys/Symbol.map would have been found had it been
in the tree. The likeliest explanation is a partial checkout, and the
harvester already prints note: … is not present, skipping
for missing paths - which nobody was watching for.
What this changes
The negative result is void, and so is the case for building the solver pattern on it. The pattern may well hit; it was tested against a vocabulary that cannot express the very name that motivated it. Building the solver change now would have been building on a measurement that was already known to be unreliable, had anyone checked.
So item one is blocked on re-running the harvest against a
complete tree, which needs a FreeBSD clone this machine does
not have. orbistoun-cli harvest <path> already does
the work; only the input is missing.
The lesson, stated because it keeps recurring
Three times in two days a result has turned on validating the instrument rather than reading the code: the entry convention (D159), the stub policy that was wired to nothing (D166), and now a name sweep whose vocabulary could not contain the answer.
The pattern is always the same shape - something that looks present from every angle except the one that matters - and the check is always the same: make it produce a result you already know, and see whether it does. A harvest that reports "2,637 symbols" looks like success from every angle except asking it for a symbol you can name yourself.