
What was done
A skeleton of a whole 450 VI project read straight from the binaries, with call graphs, queues and review diffs, cutting tokens by 14x on typical tasks.
lvindex reads LabVIEW project binaries directly and builds an offline index so that a person or an AI assistant can reason about a program without exporting whole VIs again and again. Most of its commits carry Claude Opus 5.5 as co-author.
How it was done
The RSRC link record format and the AIXML export structure that National Instruments does not document were reverse engineered with care and labelled as such in output. Reading the skeletons of .vi, .ctl and .lvclass files needs no LabVIEW install, and the index is incremental: a rebuild of a 450 VI project takes about 2.6 seconds. On top of that sit cards of compact facts per VI, a review cache that diffs only what changed between exports, and 0.2 second queries for callers, callers of calls, class members and message routing across queues.
Results
Measured on a real 460 VI project, the tool answers the handler frames of a message loop with 47 to 218 times fewer tokens than reading the export, usage context with 14 times fewer, and reviewing a regenerated VI with 29 times fewer, both orders of magnitude higher than plain grep because grep resolves neither dynamic dispatch nor message routing. The README also marks which parts are heuristic rather than verified.