Skip to content

feat: Wrap Coach -- rule-based hold/wrap advice (--coach) - #16

Merged
ctopherwilliams merged 1 commit into
mainfrom
feat/wrap-coach
Jul 5, 2026
Merged

feat: Wrap Coach -- rule-based hold/wrap advice (--coach)#16
ctopherwilliams merged 1 commit into
mainfrom
feat/wrap-coach

Conversation

@ctopherwilliams

Copy link
Copy Markdown
Owner

Summary

Test plan

  • Full smoke suite green (new tests: current-vs-total stall streak, every advice category, long-stall escalation, wrapped-vs-not-wrapped auto-detection, live print_coach smoke)
  • bandit + pip-audit clean
  • Live-verified by replaying the actual completed pork butt cook tick-by-tick through the real forecast buffer

Adds wrap_coach.py: a few readable thresholds layered on the SAME
recent-window forecast/stall band the rest of Pellet Pilot already uses,
so advice never contradicts the printed ETA line. Distinguishes the
CURRENT, ongoing stall streak from total cook stall time, escalates past
~90 continuous minutes, and knows the difference between "still stalled,
not wrapped" (wrap now) vs "wrapped and still stalled" (bump the grill
temp instead).

Wired in as poll.py's opt-in --coach / PELLET_PILOT_COACH flag, printed
alongside the existing forecast line each tick. Kept separate from the
--speak pipeline entirely (not spoken) to avoid touching that already
carefully-tuned code path.

Live-verified against the actual (completed) pork butt cook's full
history, replayed tick-by-tick through the real forecast/stall logic.
@ctopherwilliams
ctopherwilliams merged commit 2c44ae0 into main Jul 5, 2026
4 checks passed
@ctopherwilliams
ctopherwilliams deleted the feat/wrap-coach branch July 5, 2026 01:48
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