Freerange Audit Flags Division by Zero Risk in TypeScript Progress Bar
Reactions from ranked influencers
6 postsConsider this progress bar logic. What do we know about start and end here? Well they shouldn’t be equal. Otherwise you’re dividing by zero and BAM, you’d be carrying around an Infinity that pollutes everything downstream. Freerange audit catches this
I believe Freerange might be one of the biggest open-source projects written with Fable & Sol. And technically barely feasible with current AI At its peak it had 50k lines of code. Was a long journey iterating & reducing it down to 18k today. The pivots were brutal If I started it a few months earlier with worse models I'd have lost my mind. Thank you OpenAI for the internal model access!
My dear UI developers, ML practitioners, and fans of programming language: Many months & billions of tokens later, I’m proud to present to you the first step in our long, long collective journey to turn vibe coding onto proof engineering, starting with: making user interfaces verifiable. Introducing: Freerange, a zero-API tool that automatically deduces your code’s numerical ranges. By doing so, Freerange is able to prove that e.g.: - your TS layouts obey your specified sizing - that they’re free of NaNs and Infinity - that your array indices stay within bounds All of that, done statically. No browser, no running code, droppable into any codebase, and for the ML folks: RL-friendly
Your app has lots of numbers. If you ask “what do we know about these numbers”, most programming languages will tell you “not sure” or at best, “these are integers”. This doesn’t help you nor the AI agents
My dear UI developers, ML practitioners, and fans of programming language: Many months & billions of tokens later, I’m proud to present to you the first step in our long, long collective journey to turn vibe coding onto proof engineering, starting with: making user interfaces verifiable. Introducing: Freerange, a zero-API tool that automatically deduces your code’s numerical ranges. By doing so, Freerange is able to prove that e.g.: - your TS layouts obey your specified sizing - that they’re free of NaNs and Infinity - that your array indices stay within bounds All of that, done statically. No browser, no running code, droppable into any codebase, and for the ML folks: RL-friendly
Another one, where we found a clash between your navigation bar size and the mobile site’s width. No more ugly mobile websites with bad column sizings! “number -> number” is the new “string -> string”
The idea of Freerange isn’t new at all; powerful provers exist already in the wild. Google’s AlphaProof gets smarter the more verification they threw at it. But pre-AI, it was rather unrealistic to ask a dev to: - statically verify some dirty scripts when quickly iterating on products - especially in practical (though unprincipled) languages - and especially when it involves rewriting chunks of code to cater to proof-friendliness in a way that was less ergonomic
Combined views
214K
6 posts, first seen 18h ago