The compact index is critical infrastructure: it's what every Bundler and RubyGems client uses to resolve dependencies. #6380 adds created_at support, which enables dependency cooldowns, but it's not ready to ship. There are too many unknowns about the index itself. Before we can confidently land that, or anything else like platform metadata, we need to understand what we're actually working with.
Right now we don't have good answers to some basic questions: Can we regenerate the compact index on demand? How long does that take across nearly a million gem versions? Who is actually calling it beyond Bundler and RubyGems? What breaks if we change the format? Is the current test infrastructure sufficient to validate changes before they hit production?
@jenshenny and myself are taking this on, starting with Datadog data to map who's actually consuming the index. The goal is a short runbook that makes future compact index changes boring to ship rather than something we have to think twice about.
Open questions:
The compact index is critical infrastructure: it's what every Bundler and RubyGems client uses to resolve dependencies. #6380 adds
created_atsupport, which enables dependency cooldowns, but it's not ready to ship. There are too many unknowns about the index itself. Before we can confidently land that, or anything else like platform metadata, we need to understand what we're actually working with.Right now we don't have good answers to some basic questions: Can we regenerate the compact index on demand? How long does that take across nearly a million gem versions? Who is actually calling it beyond Bundler and RubyGems? What breaks if we change the format? Is the current test infrastructure sufficient to validate changes before they hit production?
@jenshenny and myself are taking this on, starting with Datadog data to map who's actually consuming the index. The goal is a short runbook that makes future compact index changes boring to ship rather than something we have to think twice about.
Open questions: