Scope
US8 — five reporters covering dev-loop, CI, and publishing use cases. Terminal/console is plain-text only (per Q8 clarification — no ANSI, no interactivity); HTML is the sole interactive tier. JSON validates against a published schema. LangSmith is push-only.
Priority: P2
Tasks
Plain reporters + schema
HTML reporter (feature html-report)
LangSmith (feature langsmith)
Integration
Acceptance
- Console output is plain-text only — no ANSI, no cursor control, no interactivity.
- JSON output is self-contained and validates against the published schema.
- Markdown output is valid CommonMark, PR-comment-ready.
- HTML output is a single self-contained file with no external asset dependencies, interactivity via
<details>/<summary> only (no mandatory JS).
- LangSmith export surfaces partial-push failures structurally; no local partial state.
References
- Spec FR-041, FR-042
- Clarifications Q8 (rich console dropped)
- Research R-015 (LangSmith), R-017 (HTML templating)
Depends on
#752 (US1 integration — needs EvalSetResult).
Scope
US8 — five reporters covering dev-loop, CI, and publishing use cases. Terminal/console is plain-text only (per Q8 clarification — no ANSI, no interactivity); HTML is the sole interactive tier. JSON validates against a published schema. LangSmith is push-only.
Priority: P2
Tasks
Plain reporters + schema
eval/tests/reporter_console_test.rs— plain-text line-oriented output, no ANSIReportertrait +ReporterOutputenum +ReporterErrorConsoleReporter(always-on, plain-text)JsonReporter— schema validationJsonReporter+ authorspecs/043-evals-adv-features/contracts/eval-result.schema.jsonMarkdownReporter— PR-comment-readyMarkdownReporterHTML reporter (feature
html-report)<details>/<summary>collapsibility, bounded output size for thousand-case resultsHtmlReporterusingaskamatemplates with inlined CSS/JSLangSmith (feature
langsmith)LangSmithExporter+LangSmithExportErrorIntegration
eval/tests/us8_end_to_end_test.rs— sameEvalSetResultthrough each reporter; HTML validates as HTML5, JSON validates against schema, MD validates as CommonMarkAcceptance
<details>/<summary>only (no mandatory JS).References
Depends on
#752 (US1 integration — needs
EvalSetResult).