of the code bytes in scope are green: byte-identical under cl.exe 13.10. Scope is .text without library code, padding and identified data.
Inventory v2 preserves the frozen functions and adds gap functions with closed decoded control flow. Their boundaries are hypotheses supported by entry evidence and original bytes. Unresolved entries and shared code stay unknown. Data marks relocated pointer tables referenced by indexed jumps; literal and index pools without proven bounds stay unknown. Functions are counted once; the byte view preserves every body range.
From research/progress-history.jsonl: one row per loop commit batch, appended in the same commit. Rows before the loop wrote them are reconstructed from git (each commit that changed a wave manifest, the canonical index, the library labels or the loop status, measured with today's function inventory: the binary does not change). Dots mark loop rows; the line steps hold the state until the next row. Hover for values.
The whole .text range in address order, left to right and top to bottom. One cell per function. Hover a cell for its address, name, size, status and the wave or model that solved it.
Statically linked libraries, labelled library and not decompiled (research/library-labels.json and the prebuilt d3dx9 objects). Each strip is the whole .text address range; marks show where the library's functions are.
Loop results (research/nba-status.json, one row per function with the time it finished), per hour, by model. Earlier waves and canonical units carry no time and are not shown here.
Subsystem ownership is a hypothesis, including graph and model suggestions. Observed rows identify authenticated libraries. Unresolved functions remain unattributed. Rows are split by evidence label; shares are code bytes.