Module: Legion::Extensions::Llm::Inventory::Registry

Defined in:
lib/legion/extensions/llm/inventory/registry.rb

Overview

The only mutable SSOT owner: a module-level facade over one internal synchronized Store. Production exposes no constructor. See phase-1-lex-llm-additive.md section 12.

Defined Under Namespace

Classes: IssuedProbeState, ScopeState, Store

Class Method Summary collapse

Class Method Details

.acquireObject



619
620
621
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 619

def acquire(...)
  store.acquire(...)
end

.activate_instance_snapshotObject



591
592
593
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 591

def activate_instance_snapshot(...)
  store.activate_instance_snapshot(...)
end

.claim_instanceObject



583
584
585
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 583

def claim_instance(...)
  store.claim_instance(...)
end

.dispatch_instance_unavailableObject



607
608
609
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 607

def dispatch_instance_unavailable(...)
  store.dispatch_instance_unavailable(...)
end

.readiness_failedObject



603
604
605
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 603

def readiness_failed(...)
  store.readiness_failed(...)
end

.readiness_probe_startedObject



587
588
589
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 587

def readiness_probe_started(...)
  store.readiness_probe_started(...)
end

.readiness_succeededObject



599
600
601
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 599

def readiness_succeeded(...)
  store.readiness_succeeded(...)
end

.remove_instanceObject



611
612
613
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 611

def remove_instance(...)
  store.remove_instance(...)
end

.replace_instance_snapshotObject



595
596
597
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 595

def replace_instance_snapshot(...)
  store.replace_instance_snapshot(...)
end

.reset!Object

Test-only: replace the store with a fresh generation-zero store and retire prior handles outside its mutation mutex.



625
626
627
628
629
630
631
632
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 625

def reset!
  raise Errors::InvalidTransitionError, 'Registry.reset! is only available under RSpec' unless defined?(::RSpec)

  previous = @store
  @store = Store.new
  previous&.retire_all_handles
  @store
end

.snapshotObject



615
616
617
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 615

def snapshot
  store.snapshot
end