Module: LLMExperiment::Transcript::Hermeticity

Defined in:
lib/llm_experiment/transcript/hermeticity.rb

Overview

A trial is contaminated when it can reach state that outlives it or is shared with another trial. The CLI always reports an auto-memory path, so the question is not whether one exists -- it always does -- but where it points. Inside the per-trial config directory it dies with the container. Under the mounted credential store it is the same directory for every trial, and what one trial could leave there is the location of the defect. Testing for existence rather than location flags every clean run, which trains you to ignore the warning that matters.

Constant Summary collapse

SHARED_MOUNT =
"/home/agent/.agent-auth"

Class Method Summary collapse

Class Method Details

.contamination(row) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/llm_experiment/transcript/hermeticity.rb', line 18

def contamination(row)
  reasons = []

  servers = Array(row["mcp_servers"])
  unless servers.empty?
    names = servers.map { |s| s.is_a?(Hash) ? s["name"] : s }
    reasons << "mcp servers attached: #{names.join(", ")}"
  end

  Hash(row["memory_paths"]).each do |kind, path|
    reasons << "#{kind} memory lives in the shared mount: #{path}" if path.to_s.start_with?(SHARED_MOUNT)
  end

  reasons
end