| 2026-08-19 |
Scaffold |
| 2026-08-19 |
Terminology and
documentation pass |
| 2026-08-19 |
Concept
intake and roadmap resequence |
| 2026-08-19 |
Test
corpus and the accuracy suite |
| 2026-08-19 |
Observability
and per-title overrides |
| 2026-08-19 |
Real
material arrived; plan revised against it |
| 2026-08-19 |
Crunch:
phase 0c, 0e, and most of phase 1 |
| 2026-08-19 |
Crunch
continued: phases 2, 0e, and 3 |
| 2026-08-19 |
Crunch
continued: worker mode and image placement |
| - |
Open at end of
session |
| 2026-08-19 |
Guest code
executes |
| 2026-08-19 |
(later) -
The guest runs, and says what it wants |
| 2026-08-19 |
(later still) -
The name search |
| 2026-08-19 |
(evening)
- Names, and proving they are ours |
| 2026-08-19 |
(late) - The
loop, made runnable |
| 2026-08-19 |
(night) -
Making the loop canonical |
| 2026-08-19 |
(very late)
- The first implemented function, and what it taught |
| 2026-08-19 |
GPU
instrumentation: counting before translating |
| 2026-08-19 |
The
encoding table stops being a guess |
| 2026-08-19 |
Operands, and a
surface to see them through |
| 2026-08-19 |
Operand
layouts, and the limit of the per-family model |
| 2026-08-19 |
Per-opcode
operands, solved rather than written |
| 2026-08-19 |
The
execution model, decided and stubbed |
| 2026-08-19 |
Translated
shaders can now be run, not just validated |
| 2026-08-19 |
The
first guest instruction, translated and executed |
| 2026-08-19 |
The worklist
starts moving |
| 2026-08-20 |
Two wavefront
models, agreeing |
| 2026-08-20 |
Factoring,
floats, and the solver earning its refusals |
| 2026-08-20 |
Flat
memory layouts, and the same lesson learned twice |
| - |
Guest
memory, and two driver faults that a builder could have caught |
| - |
The
worklist blockers, and a solver that was quietly wrong about three of
them |
| - |
The
last three encoding families, and one of them was wrong |
| - |
The
execution mask becomes real |
| - |
Comparisons,
and a conditional shader with no branch in it |
| - |
Lanes that
do different things |
| - |
Control
flow: a switch inside a loop |
| - |
The
seam: a submitted command buffer reaches the GPU |
| - |
The
condition code, and the first compiled shader to translate |
| - |
Vector
arithmetic, and the bits nothing was looking at |
| - |
The
condition code, everywhere it was missing |
| 2026-08-20 |
Attribution,
the submit function, and honest word lists |
| - |
The
second sub-encoding, and a check that was lying |
| - |
Two
routes to a shader, because the loader thread named the entry
points |
| - |
Reconciling
with the loader thread |
| 2026-08-20 |
(later) - A
home for what we learn |
| - |
G9:
the capture format, and a guard that was right |
| - |
G13
measured rather than assumed, and the work that does have an
oracle |
| - |
The
local data share, and an operand that was never in any sample |
| - |
Using the oracle
properly |
| - |
The
generator found a real bug, which is what it was for |
| - |
The
target generation was never checked |
| - |
Named
instructions, because there are two targets |
| 2026-08-20 |
(evening)
- The wall had a name, and it was C++ |
| - |
The dispatch
speaks names |
| - |
The
retarget, and the tree is red on purpose |
| - |
The retarget
landed |
| - |
Threads are
real, and the entry point was reading garbage |
| - |
The
crash was the harness rebuilding Vulkan ninety-six times |
| - |
The
retarget was not finished, and cargo had been hiding it |
| - |
The
entry image is built, and measured out of the running |
| - |
The
division sequence, two thirds of it |
| - |
The
tail found the wall, and the wall moved once |
| - |
A
debugger, of the cheap kind - and it named the parked bug in one
run |
| - |
The
number nobody had recorded: every guest call was misaligned |
| - |
Float
controls, then narrow wavefronts |
| - |
Starting
the GUI found the leak before writing a line of GUI |
| - |
The subgroup level
runs |
| - |
Phase 2b:
a window, and it launches guests |
| - |
The
last unblocked instruction, and the buffer descriptor's
operands |
| - |
The
shell grew a menu, a toolbar, and an argument about dead
controls |
| - |
Untyped buffer
access |
| - |
The
worklist ranks by reachability first |
| - |
What
downloadable homebrew can and cannot do for us |
| - |
Library rows
were being rebuilt sixty times a second |
| - |
The
library folder is a setting now, and refresh is a button |
| - |
A
filesystem, and the guest read every file it asked for |
| - |
Review
queue, and the shader loop gets a verdict |
| - |
The
bisection lever had never been connected |
| - |
The two rungs |
| - |
One
name out of a quarter million, and sixteen useful refusals |
| - |
The
name sweep could not have found the answer |
| - |
The
decision log had been quietly losing its own references |
| - |
Video-out
handles, two more names, and a wall that will not move |
| - |
The
sub-encoding list was never needed |
| - |
The
oracle for hidden side effects was in the fixtures already |
| - |
Notes
from the obSCEne thread: one declined, one implemented |
| - |
A
recorded gap was recorded wrongly |
| - |
The
dispatch loop was not where the cost was |
| - |
The log line
became a check |
| - |
A stack trace, at
last |
| - |
Call
sites, aliasing, and a wall that has taken eight attempts |
| - |
Three
assumptions asked a question they had only ever answered
themselves |
| - |
The
filesystem is cleared, and there are four walls |
| - |
The
most common instruction in the set had no operands, and every test was
green |
| - |
The
split opcode, and a test that asked to be deleted |
| - |
Two
titles that never parsed, and an abort reported as an illegal
instruction |
| - |
Typed
buffers: operands solved, formats measured |
| - |
The
decision-number ceiling drops to thirteen |
| - |
A
documentation sweep, because six units of change left claims
behind |
| - |
The run
now says what to do about itself |
| - |
Typed
buffer translation, and the last thing in this lane that needed
nobody |
| - |
The decode side
is finished |
| 2026-08-21 |
Behavioural
provenance (D180) |
| 2026-08-21 |
Run
conditions and the discount on the headline (D181) |
| - |
A
provenance rule that was stated too narrowly, and a refusal defended for
the wrong reason |
| 2026-08-21 |
The
compatibility record (D182) |
| - |
The
third-source idea had no consumer, and I had already written that it
did |
| 2026-08-21 |
snprintf_s,
and what "implemented" does not mean (D183) |
| 2026-08-21 |
The
abort-at-53 is one bug, in two Unity titles |
| - |
The
interop contract, pinned before either side has code |
| - |
The
probe-record reader, built against transcripts and no hardware |
| 2026-08-21 |
The
abort-at-53, diagnosed (D186, D187) |
| 2026-08-21 |
The
database was there all along (D188) |
| 2026-08-21 |
A
shape, not a word list (D189), and an audit that was already
red |
| - |
Provenance
across the boundary, and the demotion that has to stay visible |
| 2026-08-21 |
memalign,
and one allocation path (D190) |
| 2026-08-21 |
The
nine-attempt wall: a clean negative, after three false starts |
| - |
The
corpus is records all the way down, and the reader was looking in the
wrong place |
| - |
From
"a check passed" to "this function returns this, and here is how well we
know it" |
| - |
A record
becomes a knowledge entry, graded, or it does not become one at
all |
| - |
Symbols
are graded differently from values, and four record kinds were left
unparsed |
| - |
Per-area
coverage, and what a skip is not |
| - |
A
probe cannot certify its own machine, and the grading was resting on
it |
| - |
orbistoun
drives the session now, and D207 said it never would |
| 2026-08-22 |
FreeBSD
harvest: the walker ignored its own rule (D191) |
| - |
call
and read are live, and the fixture for one of them is
broken |
| - |
The
streamed report needed no change, and now there is a test saying
so |
| - |
The pinned
defect fired, and the replacement pins the shape instead |
| - |
Three ways
of not knowing, kept as three |
| - |
A
shared bridge file, and the open-enum rule caught a live bug
here |
| 2026-08-22 |
Closing the
automation gaps (D193, D194, D195) |
| 2026-08-24 |
PROJECT_STATUS.md
rewritten, because it opened with a falsehood |
| - |
A
claim made to the other thread, then tested |
| 2026-08-24 |
The
unknowns become a queue (D196) |
| 2026-08-24 |
The loop,
written down; and a documentation audit (D197, D198, D199) |
| 2026-08-24 |
The
repository's own layout, audited (D208) |
| 2026-08-24 |
orbistoun-gen:
the table generators, and the seam that makes them checkable
(D209) |
| 2026-08-24 |
The
obSCEne bridge caught a live memory bug (D210) |
| 2026-08-24 |
What
observed actually meant, and the ceiling that was not one
(D213) |
| 2026-08-24 |
A
language-model service, isolated from everything |
| 2026-08-24 |
The
first proposer, and the optimisation that had to be reverted |
| 2026-08-24 |
The
toolbar captures the window, and recording is greyed out (D215) |
| 2026-08-24 |
The
wall was readable all along (D217) |
| 2026-08-24 |
Four
eliminations, no confirmations (D218) |
| 2026-08-24 |
A
diagnostics toolkit, and the registry that should have come first (D220,
D221) |
| 2026-08-24 |
A build
says which build it is (D222) |
| 2026-08-25 |
The
wall moved, and the address had been right all along (D223,
D224) |
| - |
The console gets
a console |
| - |
The
rule became code, and a convenience script nearly corrupted the
fixtures |
| 2026-08-25 |
two
eliminations that were never measured |
| - |
Every
diagnostic axis, and a dispatcher that turns the loop |
| - |
Two
files that disagreed, and the last unexplained sweep result |
| - |
The
last channel into the wall, and two words that paid for
themselves |
| - |
Pointing
the model at the right question |
| - |
Seven
names, two words, and a stale binary |
| - |
Asking
whether the next name needs a word or a shape |
| - |
Three
measured shapes, and a delimiter that could not spell a library |
| - |
The model
gets a door of its own |
| - |
Watchpoints,
and what the first one found |
| - |
A
library that was written, declared, tested, and never
registered |
| - |
The
sweep gains a second dimension, and a wall opens |
| - |
The
loop turns itself, and clears the wall doing it |
| - |
Promotion:
what a turn measured, and what it did not |
| - |
The merge
rule leaves the shim |
| - |
Every
floating-point function worked, and every one was reported
missing |
| - |
The
dispatcher becomes its own crate, and the loop becomes a
command |
| - |
Teach a
man to fish: the stub policy learns to write |
| - |
Tier
one: the loop writes its own patch |
| - |
The
learned file becomes something you can send somebody |
| - |
The
loop finds a gap nobody had looked at |
| - |
Two
hypotheses instead of one, and the oracle that could not tell them
apart |
| - |
The
oracle arrives, and immediately corroborates |
| - |
Five hours
to fourteen seconds |
| 2026-08-26 |
The
loader learned to read the other half of the world |
| - |
The
vocabulary regrew, and the only alarm was a clock |
| - |
The
shell button had nowhere to go |
| - |
One
word for the shell, and the window had already taken it |
| 2026-08-27 |
Asked the
guest what it wanted instead of guessing |
| 2026-08-27 |
Data
imports finally get something they can dereference |
| 2026-08-27 |
Two
backlog items, and a method that was quietly unsound |
| 2026-08-27 |
A
model that needs no key, and the parts not worth copying |
| 2026-08-27 |
The
benchmark disagreed with me twice before it was right |
| - |
A
controller subsystem, and a name I talked myself out of |
| 2026-08-27 |
The payloads
started working |
| 2026-08-27 |
Asked to
drop an engine, and the engine was fine |
| - |
Two
modelled states made real, after being told they were only
modelled |
| 2026-08-27 |
The
tags outlived the instruction that removed the thinking |
| - |
User
support, and the third thing found modelled and inert |
| 2026-08-27 |
klogsrv prints
its banner |
| - |
The
POSIX names were unserved, and they were never missing
behaviour |
| 2026-08-27 |
The
guest names its own requirement |
| 2026-08-27 |
The
BSD harvest was names-only, and the work outgrew it |
| - |
Coverage
crunch: libc, elf, hle |
| 2026-08-27 |
The
harvest became a command, and writing it twice found a bug |
| - |
Coverage
crunch: kernel and thunk |
| 2026-08-27 |
Proof
of sourcing for the harvested constants |
| 2026-08-29 |
The
null jump is not the sysctl refusal |
| 2026-08-29 |
The
null jump was the shortcut coming due |
| 2026-08-29 |
Markers in
.bss, and the SDK's logging helper |
| 2026-08-29 |
Gate green |
| 2026-08-29 |
The
payload wall, answered by asking the guest |
| 2026-08-29 |
Sockets,
and the file calls that go with them |
| 2026-08-29 |
klogsrv
imports nothing that is not implemented |
| 2026-08-29 |
What about
klogsrv |
| 2026-08-29 |
The
syscall boundary, built and not yet reached |
| 2026-08-29 |
A
setting consulted nowhere, for the fourth time |
| 2026-08-29 |
A
fault report that names our own code |
| 2026-08-29 |
klogsrv
opens a port and something connects to it |
| 2026-08-29 |
ftpsrv
talks, and asks to be root |
| 2026-08-29 |
A
one-line disagreement about zero |
| 2026-08-30 |
An FTP
server, and the six things in front of it |
| 2026-08-30 |
The listing |
| 2026-08-30 |
The
download, and three blind instruments |
| 2026-08-30 |
When, not which |
| 2026-08-30 |
Ask the
guest, one field at a time |
| 2026-08-30 |
What real
hardware sent back |
| 2026-08-30 |
The
probe answers a question about itself |
| 2026-08-30 |
Seven
placeholders, retired by one file |
| 2026-08-30 |
The
constant was a handle, and the wall was an argument |
| 2026-08-30 |
A
landing zone, and the first syscalls a payload has ever made
here |
| 2026-08-30 |
The
work list could not see a system call |
| 2026-08-30 |
The
hardware had already answered; the results were on disk |
| 2026-08-30 |
Word
zero is getpid, and the payload's own arithmetic lands on real
functions |
| 2026-08-31 |
Four
plans crunched: testable layout, profiles, port reporting, vaddr
provenance |
| 2026-08-31 |
obSCEne's
hardware run absorbed: five vaddrs confirmed, and a payload
retry |
| 2026-08-31 |
Disassembled
klog.elf around image+0x2708: kernel_copyout,
setsockopt, and high-half kpipe_addr (D411) |
| 2026-08-31 |
Implemented
Syscall 477 (mmap) and wired to the syscall table
(D412) |
| 2026-08-31 |
(later) -
payload retry after further changes: 7 -> 32 syscalls, into klog's
socket loop |
| 2026-08-31 |
Emulated
kernel escape R/W pipe for dynamic symbol resolution (D413) |
| 2026-08-31 |
(later) -
orbistoun runs the whole obSCEne suite; obSCEne becomes its conformance
oracle |
| 2026-08-31 |
(later) - the
test corpus becomes a verb (D414) |
| 2026-08-31 |
(later) -
COMPATIBILITY.md, generated from the records (D415) |
| 2026-08-31 |
(later) -
four HLE fixes from the hardware diff (D416) |
| 2026-08-31 |
(later) -
three more HLE fixes: thread join, mutex type, audio (D417) |
| 2026-08-31 |
(later)
- the census-control leak, root-caused and fixed (D418) |
| 2026-08-31 |
SwVersion
write refined from the hardware dump |
| 2026-08-31 |
(later) -
second payload run absorbed: five vaddrs confirmed (D419) |
| 2026-08-31 |
(later)
- the "surely there's more" pass found a wrong firmware value
(D420) |
| 2026-08-31 |
(later) -
sceKernelGetSystemSwVersion made a profile setting (D421) |
| 2026-08-31 |
(later) -
per-title device sandbox, from the overlay already there (D422) |
| 2026-08-31 |
(later)
- C succeeded: the full current obSCEne runs as the payload |
| 2026-08-31 |
(later) -
video flip model: the first complete obSCEne run in orbistoun
(D424) |
| 2026-08-31 |
(later) -
first fidelity fix off the complete run: GetModuleInfo refusal
code |
| 2026-08-31 |
(later) -
resolution-status: implemented, and the "headless" skip
debunked |
| 2026-09-01 |
systematic
hardware diff: video error family + single-output-ownership
(D426) |
| 2026-09-01 |
started the
GPU subsystem: PM4 command builders (D427) |
| 2026-09-01 |
real-title
loop: libSceSysmodule (the load call nearly every title makes) |
| 2026-09-01 |
reentrant
guest execution + std::call_once (D430) |
| 2026-09-01 |
sceKernelVirtualQuery
+ the C-runtime threading family (D431) |
| 2026-09-01 |
Fault
reports carry the faulting instruction (D432) |
| 2026-09-01 |
PPSA28061's
wall diagnosed: no guest thread pointer (D432) |
| 2026-09-01 |
(/loop) - TLS
block built; Windows fs-base limitation found; knowledge debt
cleared |
| 2026-09-01 |
(/loop) -
Windows fs-base backstop; PPSA28061 FURTHER to the JSON/ULT
wall |
| 2026-09-01 |
(/loop) -
libSceUlt mutex/condvar/ulthread; PPSA28061 wall is now online
(D435) |
| 2026-09-01 |
(/loop) -
names search: PPSA28061's online import is un-nameable locally |
| 2026-09-01 |
(/loop) -
remaining walls characterised; all need obscene/external data
(D436) |
| 2026-09-01 |
(/loop) -
obSCEne hardware memory data mined; map now starts at 0x10000
(D437) |
| 2026-09-01 |
(/loop)
- error-code sweep completed: 5/6 rejects-* checks match hardware (D438
cont.) |
| 2026-09-01 |
(/loop) -
file error codes now the measured errnos (D439 cont.) |
| 2026-09-01 |
(/loop) -
GNM dispatch header now byte-matches hardware (D439 cont.) |
| 2026-09-01 |
(/loop,
user task) - orbistoun-fs test isolation + clippy debt fixed |
| 2026-09-01 |
Shared-allocator
diagnosis: wrong titles, real gap is Configured
(D442) |
| 2026-09-01 |
proc-param
reader built; the mem-param oracle falsified the budget premise |
| 2026-09-01 |
PPSA02664
goes FURTHER (233->1541 calls): policy region was on the guest's
heap |
| 2026-09-01 |
obSCEne is
the oracle; flexible-memory fixed byte-exact against hardware |
| 2026-09-01 |
stack
read-ahead guard; obSCEne runs its whole suite under orbistoun |
| 2026-09-01 |
sceKernelVirtualQuery
sees the image and stack (obSCEne vq-text/vq-stack pass) |
| 2026-09-01 |
sysctlbyname
implemented; kern.osrelease answers (obSCEne osrelease passes) |
| 2026-09-01 |
obSCEne
oracle mined out for clean fixes; pivot to a real title next |
| 2026-09-01 |
found
PPSA02664 regression (1541->234); mechanism understood, fix deferred
(net-zero turn) |
| 2026-09-01 |
(/loop)
PPSA02664's fault site is non-deterministic; the "regression" was a
thread race |
| 2026-09-01 |
(/loop)
PPSA21564 boots: the sceLibcMspace allocator family + bcmp |
| 2026-09-01 |
(/loop)
scePthreadGetthreadid; PPSA21564 now runs at 0% stubs |
| 2026-09-01 |
(/loop) POSIX
TLS keys unblock Unity's TBB scheduler; PPSA21564 stops
aborting/racing |
| 2026-09-01 |
(/loop)
time + fgets: PPSA21564 (Astro's Playroom) reaches main(), prints,
parses args |
| 2026-09-01 |
(/loop) POSIX
unnamed semaphores; the Cond.cpp wall is not a traced HLE call |
| 2026-09-01 |
(/loop)
Fault reports name privileged instructions + distinguish emulator
bugs |
| 2026-09-01 |
(/loop)
Fault reports name the null base register automatically |
| 2026-09-01 |
(/loop) Execute
breakpoints: capture a guest value where it is used |
| 2026-09-01 |
(/loop) The
call trace records what each call answered |
| 2026-09-01 |
(/loop)
Map direct memory into an existing reservation; crack
image+0xafcc08 |
| 2026-09-01 |
(/loop) The
reserve-then-map fix advanced three titles, not one |
| 2026-09-01 |
(/loop)
Overnight crunch: putchar and std::random_device |
| 2026-09-01 |
(/loop)
PPSA04263's map wall: a rigorous narrowing, not yet a fix |
| 2026-09-01 |
(/loop) Made
reservation failures legible, then cracked the collision they
hid |
| 2026-09-02 |
(/loop)
strcpy_s implemented; new-thread TLS gap diagnosed (the real
wall) |
| 2026-09-02 |
(/loop)
Per-thread TLS for spawned guest threads: PPSA04263 10k -> 333k
calls |
| 2026-09-02 |
(/loop) Blocking
WaitEventFlag (kills a 304k spin) + atan2f/sincosf |
| 2026-09-02 |
(/loop)
PPSA25872's unnamed spin (naming-gated) + pthread attr setters |
| 2026-09-02 |
(/loop) The last
clearly-standard stubs: vsprintf_s, SetVirtualRangeName |
| 2026-09-02 |
(/loop)
The last clean functions; the oracle-free crunch is complete |
| 2026-09-02 |
(/loop) Packed
typed-buffer formats begin: UINT single-word load, GPU-verified |
| 2026-09-02 |
(/loop) Packed
typed-buffer SINT load: sign extension, GPU-verified |
| 2026-09-02 |
(/loop) Packed
typed-buffer UNORM load: the first converting kind,
GPU-verified |
| 2026-09-02 |
(/loop) Packed
typed-buffer SNORM load: the clamp, GPU-verified |
| 2026-09-02 |
(/loop) Packed
typed-buffer FLOAT16 load: driver-widened halves, GPU-verified |
| 2026-09-02 |
(/loop) The
ctype tables, measured off hardware: table right, wall
unchanged |
| 2026-09-02 |
(/loop) The
_Getpctype wall is a mislabel: measured, and it reframes
four decisions |
| 2026-09-02 |
(/loop)
Every report today was a file from 01:50; the ctype work had moved the
wall |
| 2026-09-02 |
(/loop) The
reporter could not survive an execute fault; fixed, and the ctype work
turns out to be a 7x advance |
| 2026-09-02 |
(/loop) 452
documented functions were knowable all along; the work list is now
inventory-driven |
| 2026-09-02 |
(/loop)
Bulk port batch 1: the bounded string and memory functions |
| 2026-09-02 |
(/loop) Bulk port
batch 2: the runtime's out-of-line atomics, conversions and
assert |
| 2026-09-02 |
(/loop)
Bulk port batch 3: the standard streams, real recursive locks, and the
C++ runtime |
| 2026-09-02 |
(/loop)
Bulk port batch 4: 20 POSIX delegations, and the arity check that
refused two |
| 2026-09-02 |
(/loop) Bulk
port batch 5: the single-precision math family and byte order |
| 2026-09-02 |
(/loop) A partial
marker, and the inconsistency the audit found |
| 2026-09-02 |
(/loop) Bulk
port batch 7: scatter/gather, sync, and the ones refused
instead |
| 2026-09-02 |
(/loop)
Bulk port batch 8: the posix_-prefixed family, 69 in one
go |
| 2026-09-02 |
(/loop)
Bulk port batch 9: the attribute accessors, and three guards that
fired |
| 2026-09-02 |
(/loop)
Bulk port batch 10: getsockopt, and what "missing" actually
means |
| 2026-09-02 |
(/loop) Bulk
port batch 11: two inits resolved, and the cheap wins are
exhausted |
| 2026-09-02 |
(/loop)
Bulk port batch 12: the lock-attribute families - and my stop
recommendation was wrong |
| 2026-09-02 |
(/loop) Bulk
port batch 13: the timed condition wait and
pthread_once |
| 2026-09-02 |
(/loop)
Bulk port batch 14: the timed acquisitions, and a guard that checked the
wrong table |
| 2026-09-02 |
(/loop) R0: the
red gates cleared, and the knowledge file catches up |
| 2026-09-02 |
(/loop)
R1: the measure count is not a bug, and the name oracle already
answered |
| 2026-09-02 |
(/loop)
R5: the hardware records finally get read, and the two runs
disagree |
| 2026-09-02 |
(/loop)
R6: measurements become a work queue with a completion
condition |
| 2026-09-02 |
(/loop)
R7: a live oracle at last, and it found four bugs in twenty-four
cases |
| 2026-09-02 |
(/loop)
More differential cases, and the parallel run finds a real concurrency
bug |
| 2026-09-02 |
(/loop)
The differential calls back into guest code, and qsort
agrees |
| 2026-09-02 |
(/loop)
The sign-extension divergence was mine, not the console's |
| 2026-09-02 |
(/loop)
strtok needs a sequence, and the mutex type mapping becomes
a test |
| 2026-09-02 |
(/loop)
Four outstanding items that were never hard, and the overlapping
moves |
| 2026-09-02 |
(/loop)
The loader's answers were already right; the real gap is
exports |
| 2026-09-02 |
(/loop)
Exports exist now, and the title's own module answers the wall |
| 2026-09-02 |
(/loop)
Three firmware directories, and a test that cannot tell them
apart |
| 2026-09-03 |
(/loop)
A title's module is found by name, and fakelib/ proved the
rule right |
| 2026-09-03 |
(/loop)
The wall resolves to a real address, and libc turns out to
be the title's |
| 2026-09-03 |
(/loop)
The stub tables are global, so there is one of them (D484) |
| 2026-09-03 |
(/loop)
R9 was already closed, and twenty-one new differential cases |
| 2026-09-03 |
(/loop) A
third capture added 186 measurements and took two claims away |
| 2026-09-03 |
(/loop) One
stub table with a range per module |
| 2026-09-03 |
(/loop)
The float environment, and the bit that is not configuration |
| 2026-09-03 |
(/loop) The
title's own modules relocate |
| 2026-09-03 |
(/loop)
The worker links the title, and the verdict turns out to be
noisy |
| 2026-09-03 |
(/loop) The
decision log had the answer |
| 2026-09-03 |
(/loop) The
guest runs its own code |
| 2026-09-03 |
(/loop)
The trace was naming the wrong functions |
| 2026-09-03 |
(/loop)
The instruction bytes answered it, and the tags refused the
answer |
| 2026-09-03 |
(/loop)
A nid verb, and a hypothesis that did not survive
it |
| 2026-09-03 |
(/loop)
.bss, and a blind spot of our own making |
| 2026-09-03 |
(/loop)
The instrument existed, and I mis-grepped it |
| 2026-09-03 |
(/loop) The
guest says which modules to start, and we do not start them |
| 2026-09-03 |
(/loop)
Six absences, and the tag that made them mean something |
| 2026-09-03 |
(/loop)
24 claims, 24 non-claims, and a restore that broke a mutex |
| 2026-09-03 |
(/loop)
a conformance bug, a stale work item, and a lying instrument |
| 2026-09-03 |
(/loop)
The oscillation is one allocation round, and the backlog is now the
whole list |
| 2026-09-03 |
(/loop)
What the 96% does not say, a stale red phase, and three more libc
functions |
| 2026-09-03 |
(/loop) The
citations were already here, and R9 was already closed |
| 2026-09-03 |
(/loop)
The queue had permanent residents, and two asks were about the
run |
| 2026-09-03 |
(/loop) Skeletons
for the gaps: 61 graphics names and 49 recorded imports |
| 2026-09-03 |
(/loop)
Twenty-eight libraries, and a coverage figure that got worse on
purpose |
| 2026-09-03 |
(/loop)
The encoder measurements say the opposite, and thirty names go
back |
| 2026-09-03 |
(/loop) A
second capture settles the third query field |
| 2026-09-03 |
(/loop) A
masked register, and the width where a shim shows itself |
| 2026-09-03 |
(/loop) Eight
bytes where documentation said four |
| 2026-09-03 |
(/loop)
A closed gap that both surfaces still called open |
| 2026-09-03 |
(/loop) Two formatter
bugs, in the padding nobody had tested |
| 2026-09-03 |
(/loop)
vsnprintf closes the list, and the break names the cases
carrying it |
| 2026-09-03 |
(/loop) The
oscillation is settled: it was the guest's own allocator |
| 2026-09-03 |
(/loop)
The wall named: a module that was loaded, placed, and never
started |
| 2026-09-03 |
(/loop) The wall is down:
the guest reached its frame loop |
| 2026-09-03 |
(/loop) Nothing is
ever pending: the guest left its frame loop |
| 2026-09-03 |
(/loop)
dlsym never knew the guest's own exports; the wall did not
move |
| 2026-09-03 |
(/loop) One
writer, thirty-seven readers, and a guard that never passes |
| 2026-09-03 |
(/loop) I
blamed a guard that never ran |
| 2026-09-03 |
(/loop)
Starting every module early is not the missing ordering |
| 2026-09-03 |
(/loop) No branch
avoids the read: half the open question is closed |
| 2026-09-03 |
(/loop) A
fault now says what its registers point at, and the label is
"None" |
| 2026-09-03 |
(/loop) One
thread call implemented, one deliberately not |
| 2026-09-03 |
(/loop) The event queue
exists so a handle means something |
| 2026-09-03 |
(/loop) The vendor
stat is not the POSIX one under another name |
| 2026-09-03 |
(/loop) A
positioned read took the guest into the GPU |
| 2026-09-03 |
(/loop) The wall is
sceAgcCreateShader, and a cap was hiding it |
| 2026-09-03 |
(/loop)
Two walls that need a measurement, routed to the mechanism that
asks |
| 2026-09-04 |
(/loop) The
record format already carried what it was said to lack |
| 2026-09-04 |
(/loop) The wide
family verified, and the case that bites |
| 2026-09-04 |
(/loop) The
interleaved sequence, and the sixteen cases that were blind |
| 2026-09-04 |
(/loop)
strftime, and the question that found it |
| 2026-09-04 |
(/loop) libm splits in
two, and only half belongs here |
| 2026-09-04 |
(/loop) Two rounding
rules that pin each other |
| 2026-09-04 |
(/loop) strdup
covered, and a missing terminator is only caught by luck |
| 2026-09-04 |
(/loop) One clock, two
names, and one origin |
| 2026-09-04 |
(/loop) The
reasoning was in the code, and the record said nothing |
| 2026-09-04 |
(/loop) Two
thirds of the ask list is forty sentences |
| 2026-09-04 |
(/loop) One
question, written a hundred and forty-nine ways |
| 2026-09-04 |
(/loop)
The ask list was asking for a function that does not exist |
| 2026-09-04 |
(/loop) A
measurement was sitting in the list of things nobody knows |
| 2026-09-04 |
(/loop) Six
records said nothing was known while holding a measurement |
| 2026-09-04 |
(/loop)
dlsym succeeds where the console refuses |
| 2026-09-04 |
(/loop)
Forty-seven measured values that no test looked at |
| 2026-09-04 |
(/loop)
The relations are testable where the numbers are not |
| 2026-09-04 |
(/loop) A
permanent resident of the work queue |
| 2026-09-04 |
(/loop) The
relation needed a mount, not a guest |
| 2026-09-04 |
(/loop) The wall
is an experiment, and there is no guest to run |
| 2026-09-04 |
(/loop)
The oracle the roadmap said did not exist |
| 2026-09-04 |
(/loop) The oracle
draws |
| 2026-09-04 |
(/loop) The
export was already decoded, and its blocker had half expired |
| 2026-09-04 |
(/loop)
The fragment path does not need the feature |
| 2026-09-04 |
(/loop) The translator
draws |
| 2026-09-04 |
(/loop) The
oracle carries a varying |
| 2026-09-04 |
(/loop) The wall was
real, the record was twelve days stale, VINTRP translates |
| - |
405.
The out-parameter is the whole of the wall |
| - |
406. A rung for
the first frame, and a prop that was never counted |
| - |
407. The Agc probe set,
aimed from the guest's own arguments |
| - |
408. The
flip completion had no reader |
| - |
409. The
pthread family, and a prediction kept |
| - |
410. The
tail, and what was decided not to do |
| - |
411. The
record could not see the work |
| - |
412.
The whole corpus was twelve days stale |
| - |
413.
libSceUlt, and the quiet four gigabytes |
| - |
414.
The first command packets came back |
| - |
415.
The constructor was the wrong question |
| - |
416.
Seventy-eight percent of every call |
| - |
417. A
placeholder that says who |
| - |
418.
The classification failed, and found two bugs on the way |
| - |
419.
Six arguments, and a hypothesis that was wrong |
| - |
420. The ring is
circular, and the trade was false |
| - |
421.
The futex had a name, and the wait now waits |
| - |
422. The
stack the collector scans |
| - |
423. The
fault message was guessing, and it cost a finding |
| - |
424. The
protection call learns about the other half of the map |
| - |
425. What the guest
opened, and the two devices it wanted |
| - |
426. The
wall was the crash reporter, and the file path it died on has a name
now |
| - |
427. Reading the
command buffer, and the two tools that had to be fixed to do it |
| - |
428. The
determinism bug had two halves and a third that is architecture |
| - |
429.
Autodebugging starts by not believing the run |
| - |
430.
The hardware answered, and the loop reads structures by itself |
| - |
431. The
path was globalgamemanagers, and yesterday's finding was wrong |
| - |
432. The
bytes were not what it wanted |
| - |
433. The
guest was telling us all along |
| - |
434.
The answer was in the title directory |
| - |
435.
The library was guest code all along |
| - |
436.
Stepping through the construction |
| - |
437. Fifty-eight, not
three |
| - |
438. Four
hundred and two bytes |
| - |
439. Opened, never
touched |
| - |
440. Untouched, not
zero |
| - |
441. The other
title |
| - |
442. A different
program |
| - |
443. Re-derived |
| - |
444. One branch |
| - |
445. The head of
the sequence |
| - |
446. A
conflict nobody stepped past |
| - |
447. The
largest record nobody read |
| - |
448. Five files
of twenty-eight |
| - |
449. The probe runs
here too |
| - |
450. The probe
was not calling |
| - |
451. The
encoding fell out of a pairing |
| - |
452. The
generous window was zero |
| - |
453. The
guest was carrying the answer |
| - |
454. The
handle was never consulted |
| - |
455. The
biggest number on the board |
| - |
456. Advice that
cannot succeed |
| - |
457. One function,
two answers |
| - |
458. The
ratchet cannot say worse |
| - |
459. The
branch that printed nothing |
| - |
460. A
record older than the repository |
| - |
461. A
hypothesis tested and rejected |
| - |
462. An
answer needs somebody who asked |
| - |
463. The eboot
was never stuck |
| - |
464. Twenty blank
pages |
| - |
465. Every
import accounted for |
| - |
466. Four numbers |
| - |
467. Two
tables that answer each other |
| - |
468. A third
title at the same wall |
| - |
469. The
binding reached the relocation |
| - |
470. The guest
signals itself |
| - |
471. The
report can see a guest sitting still |
| - |
472. The canary had a
name |
| - |
473. Every
request came back at once |
| - |
474. The
target is not the caller |
| - |
475. The
report learned to name threads |
| - |
476. The handler
ran |
| - |
477. Two readers,
one corpus |
| - |
478.
The differential was measuring itself |
| - |
479. The symbol
level |
| - |
480. FURTHER |
| - |
481. Mirrors, and a
new wall |
| - |
482. The
guest was talking all along |
| - |
483. The
guest is the only oracle left |
| - |
484. The corpus has
names |
| - |
485. Three roots |
| - |
486.
The differential was comparing two sandboxes |
| - |
487. Prospero,
Trinity, Orbis, Neo |
| - |
488. An origin list |
| - |
489. The
index was never mine to edit |
| - |
490. Orbis, not neo |
| - |
491. The
vendor spelling of a socket, and the flag that hung the guest |
| - |
492.
orbistoun was calling itself a payload |
| - |
493. The
refusal a guest could not see |
| - |
494.
The pad structure had been measured |
| - |
495. The
audio drain was arithmetic |
| - |
496. A
weak symbol orbistoun says exists |
| - |
497. The
comparison ran on the wrong machine |
| - |
498.
Weak undefined symbols bind to zero |
| - |
499. The
corpus is GPU-bound, and a real header agreed |