Imp.Training.FastSlow.Rollout (Imp v0.5.0)

Copy Markdown View Source

One verified slow-training rollout with token and reward provenance.

Summary

Types

status()

@type status() :: :available | :claimed | :complete | :failed

t()

@type t() :: %Imp.Training.FastSlow.Rollout{
  behavior_logprobs: [number()],
  behavior_policy_id: String.t(),
  claim_id: String.t() | nil,
  cycle: non_neg_integer(),
  dataset_indices: [non_neg_integer()],
  failure: Imp.Training.FastSlow.Config.json_value() | nil,
  generated_at_step: non_neg_integer(),
  group_id: String.t(),
  group_size: pos_integer(),
  id: String.t(),
  identity_digest: String.t(),
  input_digest: String.t(),
  member_index: non_neg_integer(),
  metrics: Imp.Training.FastSlow.Config.json_value(),
  output: Imp.Training.FastSlow.Config.json_value() | nil,
  output_digest: String.t() | nil,
  problem_id: String.t(),
  prompt_digest: String.t(),
  prompt_index: non_neg_integer(),
  prompt_revision: non_neg_integer(),
  response_mask: [0 | 1],
  response_token_ids: [non_neg_integer()],
  sampling_config_digest: String.t(),
  score: number() | nil,
  source: :live | :gepa_cache,
  status: status(),
  theta_id: String.t()
}

Functions

claim(rollout, claim_id)

@spec claim(t(), String.t()) :: {:ok, t()} | {:error, :already_claimed | :terminal}

complete!(rollout, claim_id, output, score, metrics)

@spec complete!(t(), String.t(), term(), number(), term()) :: t()

fail!(rollout, claim_id, failure)

@spec fail!(t(), String.t(), term()) :: t()

new!(attrs)

@spec new!(keyword() | map()) :: t()

reusable?(rollout, cycle, identity)

@spec reusable?(t(), non_neg_integer(), keyword() | map()) :: boolean()

validate!(rollout)

@spec validate!(t()) :: t()