Backplane.AgentRuntime.LoopBreaker (backplane_agent_runtime v1.6.0)

Copy Markdown

Normalized fingerprints for repeated model/tool/delegation work.

Only semantically significant fields are fingerprinted. Superficial argument changes cannot reset the limit, and unknown fingerprint identity is explicit.

Summary

Types

t()

@type t() :: map()

Functions

new(limit)

@spec new(non_neg_integer()) ::
  {:ok, t()} | {:error, Backplane.AgentRuntime.Error.t()}

record(loop_breaker, identity, significant, superficial \\ %{})

@spec record(t(), String.t(), map(), map()) ::
  {:ok, t(), %{status: :recorded | :duplicate, count: pos_integer()}}
  | {:error, Backplane.AgentRuntime.Error.t()}