AgentBlueprintProtocol.BoundsAlgebra.BoundSet (Agent Blueprint Protocol v0.1.0)

Copy Markdown View Source

A (possibly partial) set of the closed 13. Construction validates every PRESENT name and value (:bound_unknown / :bound_value_invalid); totality — all thirteen present — is demanded of all three sources at intersect/1 time, never defaulted, because an implicit default is the silent-widening hole. A bound set is data about limits and carries no authority.

Summary

Functions

Fetch one bound. :error when absent.

The closed 13-name vocabulary, name-sorted (the clamps order, pinned for the second-language verifier).

Validate and construct from a plain map. Unknown names deny :bound_unknown; off-lattice or non-positive values deny :bound_value_invalid. Absent names are simply absent.

The plain name-to-value map (rebuild a set via new/1).

Types

t()

@type t() :: %AgentBlueprintProtocol.BoundsAlgebra.BoundSet{
  bounds: %{optional(atom()) => AgentBlueprintProtocol.BoundsAlgebra.Bound.t()}
}

Functions

fetch(arg1, name)

@spec fetch(t(), atom()) ::
  {:ok, AgentBlueprintProtocol.BoundsAlgebra.Bound.t()} | :error

Fetch one bound. :error when absent.

names()

@spec names() :: [atom()]

The closed 13-name vocabulary, name-sorted (the clamps order, pinned for the second-language verifier).

new(map)

@spec new(%{optional(atom()) => term()}) ::
  {:ok, t()} | {:error, AgentBlueprintProtocol.Error.t()}

Validate and construct from a plain map. Unknown names deny :bound_unknown; off-lattice or non-positive values deny :bound_value_invalid. Absent names are simply absent.

to_map(arg1)

@spec to_map(t()) ::
  {:ok, %{optional(atom()) => term()}}
  | {:error, AgentBlueprintProtocol.Error.t()}

The plain name-to-value map (rebuild a set via new/1).