Make Sear full-feed gate relative to ignition temp#23
Merged
Conversation
In Sear mode the auger only switched from the gentle establishing feed to a continuous full feed once the grill crossed an absolute 180F (_minSetPoint). On cold or windy days the firepot settles lower, so the grill could stall in the 150-180F band — fed only the slow Smoke-style trickle with the igniter already off — and never reach full feed. Replace the absolute gate with a margin above where the fire actually caught: FireMinder now exposes InitialIgnitionTemp (the grill temp at the first ignition, captured once and never raised by recovery relights), and Sear gates full feed at InitialIgnitionTemp + _searEstablishMargin (default 25F, tunable). Add FireMinder tests covering the default floor, cold-start capture, and that a recovery relight does not move the anchor. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01APzBbDz9nDWgpiCi1A48vw
|
🚀 The Update (preview) for CamSoper-org/inferno-deploy/main (at 0f39de4) was successful. ✨ Neo Code ReviewStandard API redeployment triggered by application logic changes to fire ignition tracking. ✅ Low RiskRoutine code deployment. The No infrastructure resources are affected; this is a pure application update. Resource Changes Name Type Operation
+- publish-api command:local:Command replaced
+- restart-api command:remote:Command replaced
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
In Sear mode the auger only switched from the gentle establishing feed to a continuous full feed once the grill crossed an absolute 180°F (
_minSetPoint).But
FireMinderdeclares the fire "started" and turns the igniter off at ~150°F. So from 150→180°F the fire has to climb 30°F on the slow Smoke-style trickle with no igniter assist. On a cold or windy day the firepot settles lower than that — the grill stalls in the 150–180°F band and never reaches full feed. (That band is also unmonitored by the recovery watchdog, which in Sear only arms above ~340°F, so a fire that dies there isn't relit.)Fix
Replace the absolute gate with a margin relative to where the fire actually caught:
FireMindernow exposesInitialIgnitionTemp— the grill temp at the first ignition, captured once and never raised by recovery relights (the existing_ignitionTempgets bumped to the fire-check temp during a recovery, so it can't be used directly without re-introducing a stall band after recovery).Smoker.Sear()gates full feed atInitialIgnitionTemp + _searEstablishMargin(default 25°F, tunable) instead of the fixed 180°F.This keeps a sensible "establish" margin above the catch temp while scaling with conditions, so cold/windy starts reach full feed instead of stalling. The 150°F lit-detection itself is unchanged (acts as a safety floor for the anchor).
_searEstablishMarginis the single knob to turn down if the worst windy days still stall before full feed.Tests
Added
FireMindertests covering:All 71 tests pass; clean build.
🤖 Generated with Claude Code
https://claude.ai/code/session_01APzBbDz9nDWgpiCi1A48vw
Generated by Claude Code