The size matrix proves every image fits its slot and says nothing about the numbers the README prints. Those drift silently: caller_page() took eight bytes off every build at once, so all fifteen rows went stale together and no test noticed, because nothing was over budget. sizes.py check-readme compares the table against the built images; sizes.py max reports the largest image per chip and anything over its slot. It is a check rather than a generator, so the table stays prose someone can write. No chip geometry lives here either: the image/budget pairs come out of each build's own CTestTestfile.cmake, which is what the gate checks, so a chip added or a budget changed needs no edit. Only trees a preset still owns are read — a stale directory answers with a size that was true once. 16243 images across 37 chips today, none over budget, tightest tsb_asm at 510 of 512. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
7.1 KiB
Executable File
7.1 KiB
Executable File