Paths whose absence from a NON-EMPTY capture means the table was reconstructed, not captured.
NOT a list of descriptors every runtime has, which is how it was being read and is where the false
alarm came from. On the Durable Object path the database is a HOST CALL rather than a file, so a
booted object legitimately has zero descriptors above stdio, and the check demanded a
/dev/urandom that is correctly absent. The four descriptors came from static-free-v1
STANDALONE, with a real .sqlite open on disk.
What survives is the narrow inference: a runtime that opened ANY descriptor also opened
/dev/urandom, because PHP's CSPRNG does. So a capture that holds descriptors but no
/dev/urandom did not come from a live captureStreams() -- it was assembled somewhere else,
which is the failure this exists to catch.
Paths whose absence from a NON-EMPTY capture means the table was reconstructed, not captured.
NOT a list of descriptors every runtime has, which is how it was being read and is where the false alarm came from. On the Durable Object path the database is a HOST CALL rather than a file, so a booted object legitimately has zero descriptors above stdio, and the check demanded a
/dev/urandomthat is correctly absent. The four descriptors came fromstatic-free-v1STANDALONE, with a real.sqliteopen on disk.What survives is the narrow inference: a runtime that opened ANY descriptor also opened
/dev/urandom, because PHP's CSPRNG does. So a capture that holds descriptors but no/dev/urandomdid not come from a livecaptureStreams()-- it was assembled somewhere else, which is the failure this exists to catch.