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



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

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

.activate_instance_snapshotObject



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

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

.claim_instanceObject



575
576
577
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 575

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

.dispatch_instance_unavailableObject



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

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

.readiness_failedObject



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

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

.readiness_probe_startedObject



579
580
581
# File 'lib/legion/extensions/llm/inventory/registry.rb', line 579

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

.readiness_succeededObject



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

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

.remove_instanceObject



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

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

.replace_instance_snapshotObject



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

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.



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

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



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

def snapshot
  store.snapshot
end