Skip to content

feat: shareable Cook Report (self-contained HTML) - #15

Merged
ctopherwilliams merged 1 commit into
mainfrom
feat/cook-report
Jul 5, 2026
Merged

feat: shareable Cook Report (self-contained HTML)#15
ctopherwilliams merged 1 commit into
mainfrom
feat/cook-report

Conversation

@ctopherwilliams

Copy link
Copy Markdown
Owner

Summary

Test plan

  • Full smoke suite green (new tests: chart+stats present, device-id omission, stage-crossing timestamps, stall-time correctness)
  • bandit + pip-audit clean
  • Live-verified against the actual (now-completed!) real cook -- report correctly shows the pork butt's climb, ~81 min of genuine stall time, wrap/done stage timestamps, and the post-peak cool-down, with no device id leaked
  • Caught and fixed a real bug via its own test: the first stall-time draft counted any time in the 150-175F range, which would call a normal climb through that band "stalled" -- fixed to require a near-flat rate too

Adds report.py: one HTML file with an embedded SVG chart (grill + every
probe, reusing plot.py's existing renderer) and per-probe stats -- start/
peak/final temp, genuine stall time, and stage-crossing timestamps. No
server, no external assets -- safe to email or post.

Deliberately omits the grill's raw thingName (a device identifier) that
history.py's local-only summary carries, since this report is meant to
leave the machine. Wired into the unified `pellet report` command.

Fixed a real bug caught by its own test: the first stall-time draft only
checked temperature *range* (150-175F), which would call a normal climb
passing through that band "stalled" -- corrected to also require a
near-flat rate (matching forecast.py's actual stall definition).
@ctopherwilliams
ctopherwilliams merged commit 9c97fb2 into main Jul 5, 2026
4 checks passed
@ctopherwilliams
ctopherwilliams deleted the feat/cook-report branch July 5, 2026 01:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant