2026-09-04 - (/loop) Forty-seven measured values that no test looked at
14 measured refusal codes, none asserted before, all fourteen agree
suites 129 clippy/fmt/identity clean on both repos
Thirtieth cron tick. Plan item (b): the knowledge entries carry
Measured on hardware: edge cases naming a value -
does the code return it?
A census that was a fact about its own filter
47 obSCEne checks are cited by knowledge entries;
hardware.toml holds 31; 37 of the 47 are absent
from it. For ten minutes that looked like a hole in the gate
that exists to stop exactly that.
It is the design, and the module implementing it says so.
OBS|measure| records carry their own condition, so they can
be asserted and become the table. The pass/fail checks put the value's
meaning in the check's C source - "sceKernelWrite
answering 0xffffffff80020009 to a bad descriptor is a fact
about the function, and sceKernelGetProcessTime answering
0xc3 is the time it happened to be. Both arrive in the same
field." So they are quoted, never made assertable.
Two lists that were never meant to be the same list. Recorded as a non-finding rather than dropped, because the next person to notice 37 missing ids will reach the same wrong conclusion.
What is real underneath it
Where the check id names a refusal the meaning is not ambiguous. Fifteen such conditions, and nothing asserted any of them.
All fourteen checkable ones agree - fourteen separate facts, not one,
because the codes are per-subsystem and unrelated:
0x8026xxxx audio, 0x8092xxxx input,
0x8029xxxx video, 0x8002xxxx kernel.
tests/measured_refusals.rs holds them in two tests,
parsing the expected value out of the knowledge base at run
time rather than copying it - a copied constant drifts from its
capture and then passes for the wrong reason (D538, D540).
The case that shows the limit
060-module/load-rejects-missing depends on
which bogus path. Outside libkernel, the three
firmware directories and /app0/: the measured ENOENT.
Under /app0/: a fresh handle, since that
is where a title's own modules live. My first probe used
/app0/does-not-exist and reported a divergence that is not
one - the branch is deliberate, and the load is recorded as having
started nothing (D514).
Which branch obSCEne's check landed in is not knowable from inside this repository, so it is written into the test. Same caveat for all fourteen: a match says orbistoun answers the measured code when refusing for the stated reason, not that it got the same argument.
The break
Twice, in two subsystems, because a sweep of fourteen could be
reading one constant fourteen times. Video's INVALID_HANDLE
moved by one fails sceVideoOutClose; audio's error base
fails sceAudioOutClose. Different cases, different
files.
Decision: D544.