rlmesh.recorder.EpisodeRecord
One episode's outcome plus any media captured for it.
EpisodeRecord(
index: int,
seed: int | None,
steps: int,
reward: float,
terminated: bool,
truncated: bool,
success: bool | None = None,
duration_s: float = 0.0,
included_in_metrics: bool = True,
media: tuple[MediaRef, ...] = (),
)Fields mirror rlmesh.EpisodeResult. included_in_metrics (default
True) lets a caller mark warmup/discarded episodes so aggregates and the
dashboard skip them – it maps to the platform’s includedInMetrics.
Attributes
Methods
index
attribute[source]index: intseed
attribute[source]seed: int | Nonesteps
attribute[source]steps: intreward
attribute[source]reward: floatterminated
attribute[source]terminated: booltruncated
attribute[source]truncated: boolsuccess
attribute[source]success: bool | Noneduration_s
attribute[source]duration_s: floatincluded_in_metrics
attribute[source]included_in_metrics: boolmedia
attribute[source]media: tuple[MediaRef, ...]from_result
function[source]from_result(
result: EpisodeResult,
*,
index: int | None = None,
included_in_metrics: bool = True,
media: tuple[MediaRef, ...] = (),
) -> EpisodeRecordBuild a record from a EpisodeResult (drops op-latency).
index overrides the per-run episode index with a workload-stable one, so
episodes from several run calls into one workload stay uniquely keyed
(the platform dedupes on resultSetId + task + index). Defaults to the
result’s own index.
to_dict
function[source]to_dict() -> dict[str, Any]JSON-native episode record (SDK vocabulary; media only when present).