promptbeat report renders an existing evaluation result. It does not run the target, call a Judge, or rerun the evaluation backend.
./bin/promptbeat report \
  --input artifacts/llm-basic/run/evaluation_result.json \
  --output artifacts/llm-basic/run/report.html
Use --input for the result path. --eval-result is a compatibility alias for the same input. The output extension selects the format supported by the report command:
./bin/promptbeat report \
  --input artifacts/llm-basic/run/evaluation_result.json \
  --output artifacts/llm-basic/run/report.json

What the normalized result contains

The normalized Go result is an EvaluationResult with the fields used by the report renderer:
PartContents
SummaryTotal, Passed, Failed, Review, and Error counts.
ItemsScenario, seed, risk, target provider, case prompt, actual output, status, reason, and optional Judge output or evidence.
FindingsPromptBeat findings represented by the evaluation result when a failed item produces one.
The report is a view of this input. It does not invent a separate finding file for every failed item, and it does not create an automatic run comparison.

Real pipeline artifacts

A complete project run uses the external evaluation backend and writes these default-named artifacts in its output directory:
ArtifactRole
promptfoo.redteam.yamlCompiled backend configuration produced from the PromptBeat project.
promptfoo.generated.yamlGenerated backend configuration used by the pipeline when generation is part of the run.
promptfoo-result.jsonRaw backend evaluation result.
evaluation_result.jsonPromptBeat’s normalized evaluation result.
report.htmlHTML report generated from the normalized result.
A direct promptbeat eval run writes the backend result and its stdout/stderr logs under the requested output directory. It does not by itself promise a normalized evaluation_result.json; use the project pipeline when that normalized artifact is required.

Report output

  • HTML is the browser-readable report written to report.html or another .html path.
  • JSON is the structured report written to report.json or another .json path.
Both formats are generated from the supplied result. The result may contain real prompts and model responses, so keep generated reports within the same handling policy as evaluation logs.
The current PromptBeat report contract does not include default findings/, reports/, lineage/, or per-case trace/ directories. Do not document those paths as automatic outputs unless the code that produces them is added and verified separately.

What’s next

Judgment

Understand PASS, FAIL, REVIEW, and ERROR in the normalized result.

Dataset loop

Inspect the local artifacts produced by dataset version and cycle builds.