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



613
614
615
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 613

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

.activate_instance_snapshotObject



585
586
587
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 585

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

.claim_instanceObject



577
578
579
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 577

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

.dispatch_instance_unavailableObject



601
602
603
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 601

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

.readiness_failedObject



597
598
599
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 597

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

.readiness_probe_startedObject



581
582
583
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 581

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

.readiness_succeededObject



593
594
595
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 593

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

.remove_instanceObject



605
606
607
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 605

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

.replace_instance_snapshotObject



589
590
591
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 589

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.



619
620
621
622
623
624
625
626
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 619

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



609
610
611
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 609

def snapshot
  store.snapshot
end