CrucibleIR.OutputSpec (CrucibleIR v0.2.1)

View Source

Specification for experiment output/reporting.

An OutputSpec defines how and where experiment results should be output, including the output format(s) and destination.

Fields

  • :name - The output name/identifier (required)
  • :formats - List of output formats (default: [:markdown])
  • :sink - The output destination (default: :file)
  • :options - Output-specific configuration options

Examples

iex> spec = %CrucibleIR.OutputSpec{name: :results}
iex> spec.formats
[:markdown]

iex> spec = %CrucibleIR.OutputSpec{name: :results, formats: [:json, :html], sink: :stdout}
iex> spec.sink
:stdout

iex> spec = %CrucibleIR.OutputSpec{name: :results, options: %{path: "/tmp/results"}}
iex> spec.options
%{path: "/tmp/results"}

Summary

Types

format()

@type format() :: :markdown | :json | :html | :latex | :csv | atom()

sink()

@type sink() :: :file | :stdout | :s3 | :postgres | atom()

t()

@type t() :: %CrucibleIR.OutputSpec{
  formats: [format()],
  name: atom(),
  options: map() | nil,
  sink: sink()
}