Project native smoke reports to YAML

This commit is contained in:
2026-10-17 18:51:17 +00:00
parent 3e9c871cdc
commit 1650680723
3 changed files with 456 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
# Dependency upgrades, discovery, and smoke testing implementation plan
Status: Stages 1–9 complete; Stage 10 is next.
Status: Stages 1–10 complete; Stage 11 is next.
## Authority and baseline
@@ -533,6 +533,16 @@ serialized; do not introduce filtering of returned `ExtraParams`.
**Complete when:** native smoke evidence and aggregate entries have a complete,
neutral YAML representation.
**Completed:** 2026-10-17. Added private report and aggregate DTOs that explicitly
project every exported PromptKit smoke report field, including target settings,
presence, nullable facts, timing, attempts, usage, and failure details. Durations
render as Go duration strings, empty attempts as `[]`, and optional prompt
versions preserve empty values while omitting absent ones. Aggregate entries
retain order, nullable reports, native report kinds, and optional error text.
Semantic YAML tests cover all field categories, nested values, omission,
presence, direct-request/key exclusion, and report-plus-error entries. Focused
projection tests and `GOTOOLCHAIN=local go build ./...` passed.
## Stage 11: Bind and execute single smoke tests
**Primary files:** private `smoke_command.go`, `Command` assembly, basic command