lib/openagents/shadow_programs/signature.ex

main at 58e6347eeb72 · 413 B

defmodule OpenAgents.ShadowPrograms.Signature do
  @moduledoc "Typed, bounded signature for a no-effect shadow decision."

  @enforce_keys [:id, :version, :input_schema, :output_schema, :baseline]
  defstruct @enforce_keys

  @type t :: %__MODULE__{
          id: String.t(),
          version: pos_integer(),
          input_schema: map(),
          output_schema: map(),
          baseline: map()
        }
end