Cyclium.LogProjector (Cyclium v0.1.6)

Copy Markdown View Source

Materializes human-readable logs from episode steps.

Driven by log_strategy on each episode:

  • :none — skip entirely
  • :summary_only — one-line summary at completion
  • :timeline — step-by-step rendered log (default)
  • :full_debug — timeline with raw args/results

Called from EpisodeRunner.post_converge/2 and available on-demand via project/1.

Summary

Functions

Project (or update) the log for an episode. Reads steps since last_step_no_rendered and appends to the log.

Pure rendering function. Transforms a list of episode steps into a human-readable string based on the given strategy.

Functions

project(episode_id)

Project (or update) the log for an episode. Reads steps since last_step_no_rendered and appends to the log.

Returns {:ok, log} or :skip if log_strategy is :none.

render_steps(steps, strategy, episode \\ nil)

Pure rendering function. Transforms a list of episode steps into a human-readable string based on the given strategy.