Spectre.Forge.Critique (Spectre v0.3.0)

Copy Markdown View Source

Immutable result of one compiled Forge critic adapter.

Prose is retained only as opinion. An optional evaluation case is inert until its oracle is independently trusted or approved.

Summary

Functions

Returns the exact proposed evaluation-case digest, if present.

Restores a critique from decoded transport data.

Builds a transport-stable critique.

Returns the Critique transport schema version.

Returns canonical JSON-shaped critique data.

Revalidates all fields and the content digest.

Types

t()

@type t() :: %Spectre.Forge.Critique{
  critic_id: String.t(),
  critic_version: pos_integer(),
  digest: String.t(),
  eval_case: map() | nil,
  experience_snapshot_digest: String.t(),
  opinion: String.t(),
  oracle_ref: String.t() | nil,
  profile_ref: String.t(),
  provenance: map(),
  reflection_digest: String.t(),
  schema_version: pos_integer()
}

Functions

case_digest(critique)

@spec case_digest(t()) :: String.t() | nil

Returns the exact proposed evaluation-case digest, if present.

from_data(data)

Restores a critique from decoded transport data.

new(critique)

@spec new(t() | map() | keyword()) :: {:ok, t()} | {:error, term()}

Builds a transport-stable critique.

schema_version()

@spec schema_version() :: pos_integer()

Returns the Critique transport schema version.

to_data(critique)

@spec to_data(t()) :: map()

Returns canonical JSON-shaped critique data.

verify(critique)

@spec verify(t()) :: :ok | {:error, term()}

Revalidates all fields and the content digest.