Class: Textus::Contract::Resources::BuildLock

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/contract/resources/build_lock.rb

Overview

Serializes builds across every surface (CLI, MCP, Ruby). Previously the CLI verb wrapped each build in a BuildLock by hand; lifting it into the contract means the MCP surface inherits the single-writer guarantee and cannot collide with a concurrent CLI or background build.

Instance Method Summary collapse

Instance Method Details

#wrap(scope:, inputs:, session: nil) ⇒ Object

rubocop:disable Lint/UnusedMethodArgument



9
10
11
# File 'lib/textus/contract/resources/build_lock.rb', line 9

def wrap(scope:, inputs:, session: nil) # rubocop:disable Lint/UnusedMethodArgument
  Textus::Ports::BuildLock.with(root: scope.container.root) { yield(inputs) }
end