Module: LLMExperiment::Pins

Defined in:
lib/llm_experiment/pins.rb

Overview

Default version pins. An experiment overrides them in experiment.yml under pins:; a result can always be traced back to a toolchain.

Constant Summary collapse

DEFAULTS =
{
  "ruby_versions" => ["3.4.5", "4.0.1"],
  "node" => "22",
  "claude_code" => "2.1.233",
  "codex" => "0.147.0",
  "opencode" => "1.18.15"
}.freeze

Class Method Summary collapse

Class Method Details

.resolve(overrides = {}) ⇒ Object

Raises:



15
16
17
18
19
20
# File 'lib/llm_experiment/pins.rb', line 15

def self.resolve(overrides = {})
  unknown = overrides.keys - DEFAULTS.keys
  raise ConfigError, "unknown pins: #{unknown.join(", ")}" if unknown.any?

  DEFAULTS.merge(overrides)
end