Class: OllamaAgent::State::WorkspaceFingerprint

Inherits:
Object
  • Object
show all
Defined in:
lib/ollama_agent/state/workspace_fingerprint.rb

Overview

Deterministic workspace fingerprint computed from relative path and bytes.

Instance Method Summary collapse

Constructor Details

#initialize(root:, ignore_under: nil) ⇒ WorkspaceFingerprint

Returns a new instance of WorkspaceFingerprint.

Parameters:

  • ignore_under (String, nil) (defaults to: nil)

    absolute path; files under this directory are skipped (e.g. kernel metadata)



11
12
13
14
# File 'lib/ollama_agent/state/workspace_fingerprint.rb', line 11

def initialize(root:, ignore_under: nil)
  @root = File.expand_path(root)
  @ignore_under = ignore_under ? File.expand_path(ignore_under) : nil
end

Instance Method Details

#computeObject



16
17
18
19
20
21
22
# File 'lib/ollama_agent/state/workspace_fingerprint.rb', line 16

def compute
  digest = Digest::SHA256.new
  each_file do |relative_path, content|
    TreeDigest.append_entry(digest, relative_path, content)
  end
  digest.hexdigest
end