-This was largely [Aaron Patterson's](https://bsky.app/profile/tenderlove.dev) (tenderlove) work. He designed and built the AST-based approach from the ground up. Rather than handing the document to Ruby and letting it materialise objects, we traverse the parsed tree ourselves and extract only the values we expect to find. The YAML never gets to decide what gets instantiated. We also validate the structure against a schema derived from the real thing: Aaron audited all 180,000 gems published on [rubygems.org](https://rubygems.org) and built [a tool](https://github.com/tenderlove/gem-validator/tree/main) to validate them against it. Some very old gems turned up edge cases we deliberately chose not to handle. If those gems were pushed today, they'd be rejected, but these gems that haven't seen a new version in years almost certainly never will be. His contribution here is greatly appreciated.
0 commit comments