KPLNS

איך הראדאר עובדHow the radar works

המתודולוגיה המלאה — מה נמדד, מה מדליק מדד, על מה מבוססים המספרים, ומה המערכת לא יכולה לעשותThe full methodology — what is measured, what lights an indicator, what the numbers are based on, and what the system cannot do

זו אינה מערכת התרעה. המקור המחייב היחיד הוא פיקוד העורף. להנחיות המחייבות ←
This is not an alert system. The only binding source is the Home Front Command. Official instructions ←
מצטטים את הדף? ציינו: מדד ניסיוני פרטי המבוסס על נתונים ציבוריים — לא גורם רשמי ולא מערכת התרעה. המקור המחייב היחיד להנחיות התגוננות הוא פיקוד העורף.

01 השאלה שהמערכת עונה עליה

"האם מצטברים סימנים לכך שמתקרבת הסלמה בין ישראל לאיראן, ברמת ימים — כזו שמצדיקה להתארגן?"

זו לא אותה שאלה שמדדים אחרים ברשת עונים עליה. usstrikeradar.com, למשל, שואל "האם ארה"ב תתקוף באיראן" — שאלה קרובה, אבל לא זהה, ובוודאי לא זהה בהשלכות על מישהו שגר בישראל. הראדאר הזה מציג שני מדדים נפרדים, אחד לכל צד, מפני שהסימנים משני הצדדים שונים לגמרי באופיים: בישראל נמדדת התנהגות של מערכות אזרחיות וביטחוניות, ובאיראן נמדדת התנהגות של המשטר ושל התשתית.

מה שהמערכת לא עושה: היא לא מודיעה על שיגור, ולא נותנת התרעת דקות. היא תוכננה כשכבת התארגנות של 1–3 ימים, וזה מה שהיא מנסה לעשות — לא מה שמובטח שתעשה. היסטורית, חלק מפעולות ההתגוננות הופיעו 1–3 ימים לפני הסלמה; במקרה מהיר (ראו אוקטובר 2024 בסעיף 6) ייתכן שלא יהיה כאן שום זמן התרעה כלל. התרעת הדקות היא פיקוד העורף, נקודה.
מה המכשיר הזה אינו רואה — במפורש (נוסף 31.8.2026): המדדים קוראים שיבוש סביבתי ברמת חברה שלמה — מרחב אווירי, אינטרנט, מטבע, חריגות תרמיות — על חלון בסיס של כ-48 שעות. לכן המערכת אינה מסוגלת מבנית לראות:
  • תקיפות בודדות ושיגורי טילים. בליל 30–31.8.2026 תקפה ארה"ב את האי לארק במצר הורמוז, ואיראן ירתה 8 טילים בליסטיים לעבר בסיסים בירדן (צבא ירדן יירט את כולם; פטרה, CENTCOM) — והראדאר הציג רמה 0 לאורך כל האירוע, עם כל 16 המקורות תקינים. זו לא תקלה בצנרת אלא גבול של המכשיר: אירוע נקודתי שאינו משבש תעופה אזרחית, אינטרנט או מטבע ברמה חברתית — אינו נראה בו.
  • לחימה בלבנון, בסוריה, בתימן או בירדן. נמדדות רק השפעות עקיפות (אינטרנט, מרחב אווירי) — לא חילופי האש עצמם.
  • הצטברות איטית על פני שבועות. חלון בסיס של 48 שעות בולע רמפה איטית כ"נורמלי". רמפות כאלה מוצגות כעת בעמוד הראדאר ברשימה נפרדת ("מגמות איטיות") — כהקשר בלבד, לא כשינוי רמה.
לכן 0 בראדאר אינו "הכול בסדר" — הוא אומר רק שהחיישנים לא ראו שיבוש סביבתי בחלון המדידה. ובדיוק בגלל הגבול הזה, בראש עמוד הראדאר מוצג באנר "מצב הלחימה": שלב הלחימה המוצהר נקבע בידי אדם. זו הצהרת מצב עמידה — לא הזנת חדשות — והיא נפרדת ובמפורש מפלט החיישנים האוטומטי של המחוון שמתחת.

מה שאין כאן, בכוונה (1.9.2026): העמוד אינו עוקב אחר תקיפות בודדות ואינו מציג רשימת אירועים. רשימת אירועים קינטיים הוצגה כאן עד 1.9.2026 והוסרה: רשימה סטטית של אירועים בעמוד סטטוס חי נקראת כעדכנית גם כשהיא בת ימים, וזה בדיוק ההיפך ממה שהעמוד הזה אמור לעשות. גם המערכת האוטומטית שהזינה אותה כובתה — היא ממשיכה לרוץ, אך במצב דיווח בלבד (notify-only): היא מתריעה לבעל העמוד בלבד, ואין לה שום הרשאת כתיבה לעמוד הציבורי. על אירועים נקודתיים יש להסתמך על מקורות חדשותיים, והמקור המחייב היחיד להנחיות התגוננות הוא פיקוד העורף.

Quoting this page? Please state: a private, experimental index built from public data — not an official body and not a warning system. The only binding source for civil-defence instructions is the Home Front Command.

01 The question the system answers

"Are signs accumulating that an escalation between Israel and Iran is approaching, on a scale of days — the kind that justifies getting prepared?"

That is not the question other indices online answer. usstrikeradar.com, for example, asks "will the US strike Iran" — a nearby question, but not the same one, and certainly not the same in its consequences for someone living in Israel. This radar shows two separate indices, one per side, because the signs on the two sides differ completely in kind: on the Israeli side it is the behaviour of civil and defence systems that is measured, and on the Iranian side the behaviour of the regime and its infrastructure.

What the system does not do: it does not announce a launch, and it gives no minutes-level warning. It is designed as a 1–3 day preparation layer — that is what it attempts, not what it guarantees. Historically some protective actions have appeared 1–3 days before an escalation; in a fast case (see October 2024 in section 6) there may be no warning time here at all. Minutes-level warning is the Home Front Command, full stop.
What this instrument cannot see — stated plainly (added 2026-08-31): the indicators read society-scale ambient disruption — airspace, internet, currency, thermal anomalies — over a baseline window of roughly 48 hours. The system is therefore structurally unable to see:
  • Individual strikes and missile launches. Overnight on 30–31 Aug 2026 the US struck Larak Island in the Strait of Hormuz and Iran fired 8 ballistic missiles at bases in Jordan (all intercepted by Jordan's army; Petra, CENTCOM) — and this radar showed level 0 throughout, with all 16 sources healthy. That is not a plumbing fault but a limit of the instrument: a discrete event that does not disrupt civil aviation, internet or currency at a societal scale is invisible to it.
  • Fighting in Lebanon, Syria, Yemen or Jordan. Only the second-order ambient effects (internet, airspace) are measured — not the exchanges of fire themselves.
  • Slow build-ups over weeks. A 48-hour baseline window absorbs a slow ramp as "normal". Such ramps are now shown on the radar page as a separate list ("slow ramps") — context only, never a level change.
So 0 on the radar is not an all-clear — it says only that the sensors saw no ambient disruption in the measurement window. And precisely because of that limit, the top of the radar page carries a war-phase banner: the declared war phase is set by a person. It is a durable state statement, not a news feed, and it is deliberately kept separate from the automated sensor output of the dial below.

What is deliberately NOT here (2026-09-01): this page does not track individual strikes and carries no event list. A list of kinetic events stood here until 2026-09-01 and was removed: a static list of events on a live-status page reads as current even when it is days old, which is the exact opposite of what this page is for. The automated pipeline that fed it was stood down at the same time — it still runs, but in notify-only mode: it reports to the page's owner and has no write access whatsoever to anything published here. For discrete events, rely on news sources; the only binding source for civil-defence instructions is the Home Front Command.

02 למה טריפ-ווייר ולא ציון משוקלל

הדרך המקובלת לבנות מדד כזה היא ממוצע משוקלל: לוקחים 6–8 סיגנלים, נותנים לכל אחד משקל, ומקבלים מספר בין 0 ל-100. הדף הזה לא עושה את זה — בכוונה, ואחרי שנמדד מה קורה כשכן.

מה שנמדד על מערכת משוקללת שרצה כאן בפועל

לפני בניית הראדאר הזה רץ במשך חודשיים מוניטור שהתבסס על מדד משוקלל חיצוני. זו הייתה ההתנהגות שלו ביומן שלו עצמו, 9.6.2026–16.8.2026:

  • 57 התרעות ב-68 ימים — כ-0.85 התרעות ליום.
  • המדד התנדנד 46 → 67 → 24 → 96 → 24 → 78 → 36, וחצה את סף ההתרעה עשרות פעמים לשני הכיוונים.
  • בין 12 ל-16 באוגוסט: 60, 70, 75, 78, 74, 64, 59, 49, 39, 36 — תשע התרעות למחזור חדשותי אחד שעלה ודעך.
  • תת-הסיגנל של רטוריקת מנהיגים היה מסומן "קיצוני" גם כשהמדד הכולל הראה "רגוע". מדד שדולק כמעט תמיד אינו מדד.

הסיבה המבנית: כשמערבבים סיגנלים שכולם נגזרים מאותו זרם חדשות (כותרות, הצהרות, שוקי הימורים, מחיר נפט), הם מתואמים זה לזה — במיוחד במשבר. הממוצע המשוקלל מתנהג אז כמו מד עוצמת רעש חדשותי אחד, ויורש את התנודתיות של האיבר הרועש ביותר שלו. הוא גם מסתיר מי בדיוק זז.

העלות האמיתית של רעש: מערכת שמתריעה כל יום מאמנת את מי שמקבל אותה להתעלם ממנה. זה גרוע יותר משום התרעה, בדיוק עבור ההתרעה האחת שחשובה.

מה נבנה במקום

כל מדד כאן הוא בוליאני — דולק או כבוי — ולא ציון. הרמה היא פשוט ספירה של כמה משפחות מדדים דולקות בו-זמנית, אחרי מסנן גיוון-ספקים:

votes  =   // one vote per lit family (the old per-provider cap was removed 1.9.2026 — proved redundant with the two clamps below)
level = 0   // no family lit
level = 1   // 1 vote — or 2+ votes all from ONE provider — or 2+ votes that are all BELIEFS
level = 2   // exactly 2 votes, from 2+ distinct providers, incl. 1+ ACTION
level = 3   // 3+ votes, from 3+ distinct providers, incl. 1+ ACTION  OR  Home Front Command policy change (exempt from the provider clamp)

"משפחה" היא מקור-התנהגות אחד, ולה קול אחד בלבד — לא משנה כמה פריטים בתוכה זזו. ארבע שגרירויות ארה"ב שמפרסמות הוראה באותו יום הן עדיין קול אחד, לא ארבעה.

פעולה מול דעה — "יקר" מתחלק לשניים (20.8.2026)

העיקרון המקורי — אותות יקרים ולא דיבור זול — התברר כלא מדויק מספיק: "יקר" מתחלק לשני סוגים שונים מהותית, ורק אחד מהם שווה קול אזהרה.

  • פעולה — יקרה למבצע שלה, ולכן חושפת מידע פרטי. פיקוד העורף שמשנה הנחיות התגוננות; מדינה שמנתקת לעצמה את האינטרנט; ארה"ב שמפנה אנשי שגרירות; מרחב אווירי שנסגר; צבא שמשבש GPS מעל השטח של עצמו. המחיר ששולם הוא הראיה שמאחורי הצעד עומדת ידיעה.
  • דעה — יקרה למהמר שאין לו מידע פרטי. Polymarket, נפט, נפט, שער השקל, רמות אזהרת מסע. תשלום הכסף מוכיח שהסוחר רציני — לא שהוא יודע משהו. הוא קורא את אותן כותרות שהאספנים האחרים קוראים.

הכלל שנאכף בקוד: רמה 2 ומעלה מחייבת לפחות משפחת פעולה אחת דולקת. דעות לבדן — לא משנה כמה מהן נדלקות יחד — עוצרות את המדד ברמה 1. דעות מאשרות ומוסיפות ביטחון; הן לעולם אינן מייצרות אזהרה בעצמן. הכלל הזה יכול רק להוריד רמה, לעולם לא להעלות (הוכח בבדיקה ממצה על כל תת-הקבוצות האפשריות של משפחות), והוא אינו נוגע בחריגת פיקוד העורף — שהיא משפחת פעולה. הערת יושר על אזהרות המסע: פינוי שגרירות בפועל היה פעולה, אבל מה שהאספן קורא הוא רק רמת האזהרה מכותרת ה-RSS — הכרזה, לא פעולה נצפית — ולכן הן סווגו דעה.

מ-1.9.2026 הכלל הזה רדום, והוא נשמר בכוונה. שלוש משפחות הדעה (שווקים, שוק הניבוי, אזהרות מסע) עברו באותו יום להקשר בלבד, ולכן כל משפחה שיכולה להיספר מסווגת פעולה — אין מה לחסום. הכלל לא נמחק, כי הוא מת מעובדת חברות ולא מזהות אריתמטית: החזרת קול למשפחת דעה אחת, או הוספת משפחת דעה חדשה, מחזירה אותו לפעולה מיד ובלי שום שינוי אחר. הסיווג עצמו נשאר מוצג בכל שורה.

תקרת המדד האיראני: 2, לא 3 (1.9.2026)

מ-1.9.2026 המדד האיראני נשען על שתי משפחות מצביעות בלבד, משני ספקי נתונים — קישוריות האינטרנט הארצית של איראן (IODA) ותעופה צבאית באזור (adsb.lol). רמה 3 מחייבת שלושה ספקים נפרדים לפחות, ולכן היא אינה ניתנת להשגה במדד הזה. התקרה של המדד האיראני היא 2, והדף כותב "מתוך 2" ולא "מתוך 3". התקרה נגזרת בקוד מרשימת המשפחות המצביעות ומתפרסמת בשדה max_level, ולא נכתבת ידנית — כך היא אינה יכולה לסטות מהקוד.

שאר השורות בפאנל האיראני — חריגות תרמיות מלוויין, שיבוש GPS בהורמוז, השווקים ושוק הניבוי — ממשיכות להימדד, להישמר ולהופיע עם הסף החי שלהן, אבל אינן מצביעות. הסיבה היא מה שניתן למדוד מעל איראן בערוצים חופשיים: זיהוי תרמי מלוויין הוא הערכת נזק אחרי תקיפה ולא לפניה; שיבוש GPS במפרץ הוא אות ימי, מחוץ לשאלה שהדף הזה שואל; ושווקים והימורים הם דעה שנבנית מאותן חדשות שכל שאר האספנים קוראים. אף אחד משלושת הסוגים אינו עומד ברף של אות מקדים, ולכן אף אחד מהם אינו מקבל קול.

גם שתי המשפחות שכן מצביעות אינן במצב טוב יותר בפועל, וזה נאמר כאן ולא מוסתר: הסף של merit-nt עומד היום על מתחת ל-24, והערך הנמוך ביותר שנשמר אי פעם ב-14 קבצי המצב שעל הדיסק הוא 26.4; הסף של התעופה הצבאית הוא יותר מ-14 מטוסים, והמקסימום שנמדד אי פעם באותם קבצים הוא 14 בדיוק. שתיהן יושבות מחוץ למעטפת שנמדדה עד היום.

זו אמירה על הכלים שיש לנו, לא על איראן. הכלל הקבוע של הפרויקט הוא פער מוצהר ולא חוגה מזויפת: חוגה שמוצגת כ-0–3 והשליש העליון שלה אינו ניתן להשגה מגזימה מעצם הבנייה שלה. לכן התקרה מפורסמת.

למה לא כתוב כאן "משפחות בלתי תלויות"

עד 18.8.2026 הדף הזה טען שהרמה סופרת משפחות בלתי תלויות. הטענה הזו לא הייתה מדויקת, והיא תוקנה. המשפחות מודדות התנהגויות שונות — צבא, מרחב אווירי, מטבע, לוויין — אבל הן אינן תצפיות בלתי-תלויות: כמה מהן מגיעות לשרת דרך אותו צינור בדיוק.

  • IODA, מארח אחד: אינטרנט איראן (ארצי) — המשפחה היחידה על הצינור הזה מאז 1.9.2026, אחרי שהמשפחות הפרובינציאלית והאזורית נמחקו.
  • adsb.lol, מארח אחד: מרחב אווירי ישראל, מרחב אווירי ירדן, תעופה צבאית באזור — שלוש משפחות בצד הישראלי.
  • tgju, כתובת אחת: הרגל של נפט ברנט בתוך משפחת השווקים.
  • מחלקת המדינה האמריקאית, קריאה אחת: שתי משפחות אזהרות המסע.
  • gpsjam.org, קובץ יומי אחד: שיבוש ה-GPS במצר הורמוז ושיבוש ה-GPS מעל מרחב ישראל — אותה הורדה בדיוק משרתת את שתיהן.

המשמעות: תקלה אחת אצל ספק אחד יכולה הייתה לייצר 🔴 קריטי שנראה כמו שלושה אישושים נפרדים ובלתי-תלויים. זו בדיוק הטעות שהדף הזה נבנה כדי לא לעשות. מאז נאכף בקוד מסנן גיוון-ספקים, ולכל משפחה יש תגית ספק מפורשת בקוד (לא ניחוש מתוך כתובת):

  • רמה 2 ומעלה מחייבת קולות משני ספקים נפרדים לפחות;
  • רמה 3 מחייבת קולות משלושה ספקים נפרדים לפחות (חריגה: פיקוד העורף לבדו, ראו סעיף 3 להלן);
  • המסנן יכול רק להוריד רמה — לעולם לא להעלות אותה.

סעיף שהוסר, 1.9.2026. עד אז נכתב כאן גם ש"משפחות שחולקות ספק תורמות יחד לכל היותר שני קולות". התקרה ההיא נמחקה מהקוד באותו יום, אחרי שנבדקו כל 131,072 המצבים האפשריים (216 תת-קבוצות של משפחות דולקות × שני מדדים) עם התקרה ובלעדיה, ולא נמצא אף הבדל בתוצאה. היא לא שינתה רמה מעולם: הדרישה לשלושה ספקים ברמה 3 כבר חוסמת בדיוק את אותו מצב. ההערה נשארת כאן כדי שקורא שזוכר את הכלל הישן ידע שהוא הוסר בכוונה ומדוע.

יוצא דופן אחד, ומוצהר: שינוי במדיניות ההתגוננות של פיקוד העורף מספיק לבדו לרמה 3. הכלל הזה אינו טענה על אישוש מצטבר משלושה מקורות, אלא פעולה רשמית אחת של מדינת ישראל שמתפרסמת ב-API הרשמי שלה. המסנן נועד למנוע מתקלה אחת להתחזות לשלוש תצפיות — ואין לו מה לומר על כלל שמעולם לא טען להיות שלוש.

02 Why tripwires and not a weighted score

The usual way to build an index like this is a weighted average: take 6–8 signals, give each a weight, and get a number between 0 and 100. This page does not do that — deliberately, and after measuring what happens when you do.

What was measured on a weighted system that actually ran here

Before this radar was built, a monitor based on an external weighted index ran for two months. This was its behaviour, from its own log, 9.6.2026–16.8.2026:

  • 57 alerts in 68 days — about 0.85 alerts per day.
  • The index swung 46 → 67 → 24 → 96 → 24 → 78 → 36, crossing the alert threshold dozens of times in both directions.
  • Between 12 and 16 August: 60, 70, 75, 78, 74, 64, 59, 49, 39, 36 — nine alerts for a single news cycle that rose and faded.
  • The leader-rhetoric sub-signal was marked "extreme" even while the overall index showed "calm". An indicator that is almost always lit is not an indicator.

The structural reason: when you mix signals that all derive from the same news stream (headlines, statements, betting markets, the oil price), they are correlated with each other — especially in a crisis. The weighted average then behaves like a single news-noise meter, and inherits the volatility of its noisiest term. It also hides who exactly moved.

The real cost of noise: a system that alerts every day trains whoever receives it to ignore it. That is worse than no alert at all — precisely for the one alert that matters.

What was built instead

Every indicator here is boolean — lit or unlit — not a score. The level is simply a count of how many indicator families are lit at once, passed through a provider-diversity guard:

votes  =   // one vote per lit family (the old per-provider cap was removed 1.9.2026 — proved redundant with the two clamps below)
level = 0   // no family lit
level = 1   // 1 vote — or 2+ votes all from ONE provider — or 2+ votes that are all BELIEFS
level = 2   // exactly 2 votes, from 2+ distinct providers, incl. 1+ ACTION
level = 3   // 3+ votes, from 3+ distinct providers, incl. 1+ ACTION  OR  Home Front Command policy change (exempt from the provider clamp)

A "family" is one source of behaviour, and it holds exactly one vote — no matter how many items inside it moved. Four U.S. embassies issuing an order on the same day are still one vote, not four.

Action vs belief — "costly" splits in two (20 Aug 2026)

The original principle — costly signals, not cheap talk — turned out to be not precise enough: "costly" divides into two fundamentally different kinds, and only one of them is worth a warning vote.

  • Action — costly to the actor, and therefore revealing private information. The Home Front Command changing civil-defence instructions; a state cutting its own internet; the US ordering embassy staff out; an airspace closing; a military jamming GPS over its own territory. The price paid is the evidence that knowledge sits behind the step.
  • Belief — costly to a bettor who holds no private information. Polymarket, oil, USD/ILS, advisory levels. Paying money proves the trader is serious — not that they know anything. They read the same headlines the other collectors read.

The rule enforced in code: a level of 2 or higher requires at least one lit action family. Beliefs alone — however many light together — cap the index at 1. Beliefs confirm and add confidence; they never manufacture a warning on their own. This rule can only lower a level, never raise one (proven by an exhaustive test over every possible subset of families), and it does not touch the Home Front Command exemption — which is an action family. An honesty note on the travel advisories: an actual embassy evacuation would be an action, but what the collector reads is only the advisory level from the RSS title — an announcement, not an observed costly act — so they are typed belief.

Since 2026-09-01 this rule is dormant, and it is kept on purpose. All three belief families (markets, the prediction market, travel advisories) moved to context only that day, so every family that can be counted is typed action — there is nothing left to cap. The rule was not deleted, because it is dead by a membership fact rather than an arithmetic identity: restoring a vote to one belief family, or adding a new one, makes it live again immediately and with no other change. The type itself is still shown on every row.

The Iran index has a ceiling of 2, not 3 (2026-09-01)

Since 2026-09-01 the Iran index rests on two voting families over two data providers — Iran's national internet connectivity (IODA) and regional military aviation (adsb.lol). Level 3 requires at least three separate providers, so it is not reachable on this index. The Iran index's ceiling is 2, and the page says "of 2" rather than "of 3". The ceiling is derived in code from the voting roster and published in a max_level field rather than written by hand, so it cannot drift from the code.

The other rows on the Iran panel — satellite thermal anomalies, Hormuz GPS interference, the markets and the prediction market — are still measured, still stored and still shown with their live thresholds, but they cast no vote. The reason is what can be measured over Iran on free channels: satellite thermal detection is damage assessment after a strike, not a warning before one; Gulf GPS jamming is a maritime signal, outside the question this page asks; and markets and betting odds are opinion, formed from the same news every other collector reads. None of the three meets the bar for a leading indicator, so none of them gets a vote.

The two families that do vote are not in better shape in practice, and that is stated here rather than hidden: merit-nt's bar today is below 24, and the lowest value ever retained across the 14 state files on disk is 26.4; the military-aviation bar is more than 14 aircraft, and the highest value ever measured in those same files is exactly 14. Both sit outside the envelope that has actually been observed.

This is a statement about the instruments we have, not about Iran. This project's standing rule is a declared gap rather than a fake dial: a dial presented as 0-3 whose top third cannot be reached overstates by construction. So the ceiling is published.

Why this page no longer says "independent families"

Until 18 Aug 2026 this page claimed the level counted independent families. That claim was not accurate, and it has been corrected. The families measure different behaviours — an army, an airspace, a currency, a satellite — but they are not independent observations: several of them reach the server down the very same pipe.

  • IODA, one host: Iranian internet (national) — the only family on this pipe since 2026-09-01, after the province-level and neighbouring-state families were deleted.
  • adsb.lol, one host: Israeli airspace, Jordanian airspace, regional military aviation — three families on the Israeli side.
  • tgju, one URL: the Brent-crude leg inside the markets family.
  • The US State Department, one fetch: both travel-advisory families.
  • gpsjam.org, one daily file: GPS interference at the Strait of Hormuz and GPS interference over Israeli airspace — the very same download serves both.

What that meant: one glitch at one provider could have manufactured a 🔴 CRITICAL that looked like three separate, independent corroborations — exactly the mistake this page was built to avoid. A provider-diversity guard is now enforced in code, and every family carries an explicit provider tag in the source (not a guess parsed out of a URL):

  • a level of 2 or higher must draw on at least two distinct providers;
  • a level of 3 must draw on at least three distinct providers (exception: Home Front Command alone, see section 3 below);
  • the guard can only ever lower a level — never raise one.

A clause removed on 2026-09-01. Until then this list also said that "families sharing a provider contribute at most two votes between them". That cap was deleted from the code the same day, after all 131,072 possible states (216 subsets of lit families × two indices) were evaluated with and without it and produced zero differing outcomes. It never once changed a level: the three-provider requirement for level 3 already blocks exactly the same case. The note stays here so a reader who remembers the old rule knows it was removed deliberately, and why.

One exception, stated openly: a Home Front Command defence-policy change is still sufficient alone for level 3. That rule is not a claim of corroboration across three sources; it is a single authoritative act of the Israeli government, published on its own official API. The guard exists to stop one glitch impersonating three observations, and it has nothing to say about a rule that never claimed to be three.

03 איפה כן הוטה המשקל

אין בקוד טבלת משקלות, ואין ניקוד סובייקטיבי. אבל יש חמש הטיות מוצהרות, וכל אחת מהן היא החלטת תכנון שאפשר להתווכח איתה:

1. אותות יקרים מנצחים דיבור זול

מדד נדלק רק כשמישהו שילם מחיר על פעולה: צבא ששינה הנחיות התגוננות לאזרחים, חברות תעופה שמפסידות הכנסה, מדינה שמנתקת לעצמה את האינטרנט, ממשלה שמפנה אנשי שגרירות, מטבע שקורס. הצהרות, כותרות וטוויטים אינם מדליקים כאן שום דבר, גם לא הצהרות דרמטיות.

2. דעות מאשרות — פעולות מזהירות (20.8.2026)

גם בתוך "יקר" יש מדרג: פעולה יקרה למבצע שלה וחושפת ידיעה; דעה יקרה למהמר ומוכיחה רק רצינות (ההגדרות המלאות בסעיף 2). לכן רמה 2 ומעלה מחייבת לפחות משפחת פעולה אחת דולקת — משפחות דעה (שווקים, שוק הניבוי, אזהרות מסע) לבדן עוצרות ברמה 1, לא משנה כמה מהן נדלקו. הכלל יכול רק להוריד רמה, לעולם לא להעלות. מ-1.9.2026 שלוש משפחות הדעה עברו להקשר ואינן מצביעות כלל, ולכן הכלל רדום — נשמר בקוד, מיושם על אף משפחה (סעיף 2).

3. פיקוד העורף לבדו מספיק ל"קריטי"

זו החריגה היחידה מכלל הספירה. שינוי במדיניות ההתגוננות הוא הפעולה היקרה ביותר והספציפית ביותר לישראל בכל הסט — מדינה לא משנה הנחיות התגוננות לאזרחים בגלל כותרת. לכן הוא מקפיץ את המדד הישראלי ל-3 גם לבדו.

4. StrikeRadar קיבל משקל אפס

המדד החיצוני מוצג בדף הקשר — אבל אינו יכול להעלות רמה, אף פעם. הסיבה: רכיביו (חדשות, הצהרות, שוקי הימורים) הם בדיוק סוג הסיגנל שהתכנון הזה נועד להוציא. מפעילו משווק את אותו מנוע גם כ-"LayoffRadar — same engine, fresh signals", כלומר אגרגציית חדשות גנרית. הוא נשאר בדף כדי שאפשר יהיה להשוות, ולא יותר.

5. הסף אינו סימטרי בין הדלקה לכיבוי

מדד שכבר דולק אינו מתריע שוב, ולכל משפחה יש קירור של 6 שעות, כדי שפיד מהבהב לא יוכל להציף. מנגד — כל שינוי מדווח, בכל שעה, גם ב-3 לפנות בוקר. ההנחה היא שמי שנרשם למערכת כזו מעדיף להתעורר על שינוי אמיתי.

03 Where weight was applied after all

There is no weights table in the code, and no subjective scoring. But there are five declared biases, and each of them is a design decision that can be argued with:

1. Costly signals beat cheap talk

An indicator lights only when someone has paid a price for an action: an army changing civil-defence instructions for its population, airlines forgoing revenue, a state cutting its own internet, a government evacuating embassy staff, a currency collapsing. Statements, headlines and tweets light nothing here, dramatic ones included.

2. Beliefs confirm — actions warn (20 Aug 2026)

Even within "costly" there is a hierarchy: an action is costly to its actor and reveals knowledge; a belief is costly to a bettor and proves only seriousness (full definitions in section 2). So a level of 2 or higher requires at least one lit action family — belief families (markets, the prediction market, travel advisories) alone stop at level 1, no matter how many light. The rule can only lower a level, never raise one. Since 2026-09-01 all three belief families moved to context and cast no vote at all, so the rule is dormant — kept in the code, applying to no family (section 2).

3. The Home Front Command alone is enough for "critical"

This is the single exception to the counting rule. A defence-policy change is the most expensive and most Israel-specific action in the whole set — a state does not change civil-defence instructions over a headline. So it takes the Israeli index to 3 even on its own.

4. StrikeRadar got a weight of zero

The external index is shown on the page tagged context — but it can never raise a level. The reason: its components (news, statements, betting markets) are exactly the class of signal this design exists to exclude. Its operator markets the same engine as "LayoffRadar — same engine, fresh signals", i.e. generic news aggregation. It stays on the page so it can be compared against, and no more.

5. The threshold is not symmetric between lighting and clearing

An indicator that is already lit does not alert again, and every family has a 6-hour cooldown, so a flapping feed cannot flood. On the other hand — every change is reported, at any hour, 3 a.m. included. The assumption is that whoever signs up for a system like this prefers to be woken by a real change.

04 הבסיס הסטטיסטי

כמעט כל מדד כאן שואל שאלה אחת: האם הערך הנוכחי חורג ממה שנורמלי עבור המדד הזה בימים האחרונים? — ולא "האם הערך גבוה".

לוח התוצאות: מה המערכת הזאת השיגה בפועל (1.9.2026)

הסעיף הזה קיים כי דף שמפרסם ספים חייב לפרסם גם את הביצועים שלו מולם. למיטב ידיעתנו אף מעקב ציבורי בתחום הזה לא עושה את זה על עצמו. נכון ל-1.9.2026 21:30 UTC — כל המספרים בטבלה נגזרו ברגע הזה, ואינם מתעדכנים מעצמם. "הרצות שהושלמו" נספר מיומן ההרצות ומונה את שלוש צורות הרשומה יחד (ok, ALERT, GOLIVE) — 793, 18 ו-4 בהתאמה. כל שאר השורות נגזרות מ-443 התצלומים שפורסמו בהיסטוריית ה-git של status.json. "18" הוא מספר המשפחות שהופיעו אי פעם בתצלום — הרוסטר השתנה עם הזמן, ולכן הוא גדול מהמספר של היום. ספירת רמה 1 היא תצלומים ולא תאי-מדד: ב-7 תצלומים שני המדדים היו ברמה 1 בו-זמנית, כלומר 28 תצפיות-מדד מתוך 886 אך 21 תצלומים מתוך 443. גרסה קודמת של הטבלה ערבבה חתכי זמן — מספר המשפחות נלקח מרגע אחד ומספר התצלומים מרגע אחר. תוקן ב-2.9.2026 אחרי ביקורת חיצונית.

חיי המערכת16.8.2026 → 1.9.2026 · 15.9 ימים
הרצות שהושלמו815
תצלומים שפורסמו443
משפחות שנדלקו אי פעם5 מתוך 18
‎— firms11 תצלומים
‎— us_mil_air7 תצלומים
‎— jo_airspace2 תצלומים
‎— il_airspace1 תצלום
‎— embassy_alerts1 תצלום
משפחות שמעולם לא נדלקו13 מתוך 18
גילויים של אירוע אמיתי0
התרעות שווא מתועדות6
תצלומים שבהם מדד כלשהו ברמה 121 מתוך 443
רמה 2 או 3מעולם לא

אפס גילויים פירושו אפס. כל עליית אות בכל חיי המערכת מיוחסת ללא-אירוע — תקלת מכשיר או פרק שלא הצלחנו לאשש ממקור חיצוני. המבחן החד ביותר שהיה עד היום: ב-30.8.2026 תקפו כוחות אמריקאיים משגרים באי לארק, ובשחר 31.8 שיגר משמרות המהפכה מטח לעבר שני בסיסי חיל אוויר בירדן, שיורט במרחב האווירי הירדני. המדד "מרחב אווירי ירדן" לא נדלק באף אחת מ-104 ההרצות סביב האירוע — הוא כן נדלק פעמיים באותו חודש, בשני מועדים שאין להם אירוע מתאים — ואותה משפחה עצמה כן נדלקה פעמיים באותו חודש כשלא קרה דבר.

מה שהמספרים האלה אומרים, ומה שהם לא. הם אומרים שהמכשירים כאן טרם הוכיחו טווח דינמי: הבעיה אינה כיול הספים אלא שהמדדים כמעט אינם זזים. הם אינם אומרים שהמערכת שגויה בתכן שלה — 16 יום הם מדגם זעיר, ורוב החלון היה שקט יחסית. ולכן ההבטחה של "1-3 ימים" בראש הדף היא כוונת תכנון ולא מדידה: אין מאחוריה ולו גילוי מאומת אחד, וכל עוד זה המצב היא מוצגת כאן ככוונה.

שתיים מששת התרעות השווא נשענות על היעדר דיווח ציבורי ולא על הוכחה חיובית, וסומנו ככאלה בפנקס. אירוע התקיפה של 1.9.2026 בשעה 16:00 UTC סומן "לא ניתן לניקוד — הרשומה נקטעה" (1.2 שעות רשומה בלבד אחריו) ולא כהחמצה, והוא יהפוך למבחן הטוב ביותר בפנקס כשתצטבר עוד רשומה. הפנקס והמנוע נמצאים במאגר הפרויקט תחת groundtruth/.

למה חציון ולא ממוצע

קו הבסיס של כל מדד הוא החציון (median) של הדגימות האחרונות, לא הממוצע. שתי סיבות:

  • ממוצע נגרר על ידי חריגים. קפיצה חדה אחת מושכת את הממוצע כלפי מעלה — כלומר האירוע שאנחנו מנסים לזהות מרעיל את קו הבסיס שאמור לזהות אותו. החציון כמעט לא זז מדגימה חריגה בודדת.
  • הפידים האלה לא מתפלגים נורמלית. ספירת מטוסים, מסלולי BGP וחריגות תרמיות הן התפלגויות עם זנב ארוך מאוד. במדידה שנעשתה על נתוני NASA FIRMS באזור איראן ב-16.8.2026: חציון עוצמה 4.0 MW, אחוזון 90 — 16.6, אחוזון 99 — 50.9, ומקסימום 153.8. ממוצע על התפלגות כזו הוא מספר שלא מתאר כמעט שום תצפית.

חלון הזמן והדגימה

תדירות בדיקהכל 30 דקות המערכת אינה רציפה. בין בדיקה לבדיקה היא עיוורת.
אורך הסדרה הנשמרת96 דגימות ≈ 48 שעות "נורמלי" מוגדר מול היומיים האחרונים, לא מול ממוצע היסטורי. כך המדד מתאים את עצמו לשינויים אמיתיים בקצב הרקע.
מינימום לפני שכלל פעיל12 דגימות ≈ 6 שעות כלל שמבוסס על חציון פשוט אינו קיים עד שנצברה היסטוריה. אחרת הרצה ראשונה הייתה מייצרת התרעת שווא מיידית. ארבעת המדדים היומיים שבשורה הבאה דורשים במקום זאת 7 ימי היסטוריה — שוק הניבוי מגיע עם ההיסטוריה הזו מהמקור עצמו כבר בריצה הראשונה, מדד שיבוש ה-GPS מעל ישראל נזרע בחיבורו ב-31 ימי מדידה אמיתיים מהקבצים ההיסטוריים של המקור, והמדד הלווייני בונה את קו הבסיס שלו מחדש מ-20.8.2026 — יממה שלמה אמיתית אחת בכל יום — אחרי שבסיס המדידה שלו הוחלף (מ"24 השעות האחרונות" ליממה השלמה האחרונה), וקו בסיס ישן אינו מושווה לבסיס מדידה חדש.
קירור בין התרעות6 שעות למשפחה מונע הצפה מפיד מהבהב.
"קו בסיס מלחמתי, אוגוסט 2026" המוצג בדףאחוזונים 10–90 מה שרואים ליד כל מדד הוא הטווח שבו נמצאות 80% מהדגימות האחרונות — כדי שהמספר הנוכחי יהיה קריא בלי לדעת את הפיד. שונה מ"טווח נורמלי" ב-1.9.2026: הדגימה העתיקה ביותר על הדיסק היא מ-1.8.2026 והמלחמה פתוחה מ-28.2.2026, כך שכל קו בסיס כאן נאסף בתוך מלחמה. "נורמלי" היה מטעה; זה קו בסיס מלחמתי, ותו לא.
חריגים: שני מדדי שיבוש ה-GPS, שוק הניבוי והחריגות התרמיותסדרה יומית · עד 30 יום ארבע משפחות נשפטות מול חציון ימים קודמים ולא מול חלון 48 השעות, וארבעתן דורשות 7 ימי היסטוריה לפחות. שיבוש ה-GPS (הורמוז ומרחב ישראל — שני אזורים מאותו קובץ, הורדה אחת ביום): gpsjam.org מפרסם קובץ אחד ליום (בפיגור של כיום), ולכן כל אזור נשפט פעם אחת לכל יום שפורסם. שוק הניבוי (Polymarket): הסדרה היומית נבנית מחדש בכל ריצה מההיסטוריה השעתית של השוק עצמו — ולכן קו הבסיס אמיתי כבר מהריצה הראשונה — והקריאה החיה נשפטת מולה בכל בדיקת 30 דקות. החריגות התרמיות (NASA FIRMS): שלושת לווייני VIIRS (SNPP, NOAA-20, NOAA-21) — כל אחד עובר מעל האזור פעם או פעמיים ביממה — והעיבוד מפגר בשעות, ולכן נמדדת היממה השלמה (UTC) האחרונה — לא היום הנוכחי, שנראה ריק עד שעות הצהריים — וכל יממה שפורסמה נשפטת פעם אחת. יממה שלמה שמתיישנת מעל 36 שעות פירושה מקור תקוע, והמדד מסומן "לא נקרא" — לא אפס.

אוגר-מצב שני — "האם ההתארגנות נמשכת?" (1.9.2026)

כל מה שתואר עד כאן הוא גלאי שינוי: ערך מול חציון מתגלגל של העבר הקרוב שלו. לצורה הזו יש נקודה עיוורת מבנית אחת, ובנתונים השמורים של המערכת יש דוגמה ספרותית שלה. שיבוש ה-GPS במצר הורמוז ישב בין 10% ל-14% מ-9 עד 28 באוגוסט 2026 — פי ארבעה עד חמישה מרמתו שבוע קודם — והדף הראה 🟢 בכל אחד מעשרים הימים האלה, כי עד היום השלישי החציון המתגלגל כבר עלה יחד עם המדידה. עוגן מתגלגל אינו יכול לומר "זה עדיין קורה"; מעצם בנייתו הוא יכול לומר רק "זה בדיוק השתנה".

מ-1.9.2026 כל משפחת פעולה נמדדת גם מול עוגן מוצהר: מספר קבוע, כתוב בקוד לצד המקור והתאריך שלו, שאינו זז כשהמציאות זזה. כל יממה נשפטת מולו, התוצאות נצברות, והדף מדפיס ליד השורה "כמה מ-14 הימים האחרונים היו מעל העוגן המוצהר, וכמה מהם ברצף". בהרצה לאחור על הסדרה השמורה, אשכול הורמוז נקרא עשרים ימים רצופים מעל העוגן. שתי הצורות נשמרות בכוונה: כמה מ-14 (מצב מצטבר) וגם אורך הרצף (האם זה עדיין קורה היום) — 12 מתוך 14 עם רצף 0 היא תופעה דועכת ואסור שתיקרא כמו תופעה נמשכת.

מה שהוא לא, ונאמר במפורש: הוא אינו מדד מצביע. הוא אינו מעלה רמה, והקוד שקובע את הרמה לא נגע בו כלל. מצב שנמשך אינו אירוע, וניפוח המחוון בגלל תנאי שנכון כבר שלושה שבועות הוא בדיוק כשל התצוגה שהמערכת הזו נכתבת נגדו. הוא גם אינו מחליף את מנגנון תקרת-הסף ואינו מחליף את הקפאת קו הבסיס — שניהם עוסקים בספים ובקווי בסיס של הגלאים המהירים, כמות אחרת לגמרי.

וההסתייגות המהותית ביותר: כל העוגנים נמדדו בתוך המלחמה. הדגימה העתיקה ביותר על הדיסק היא מ-1.8.2026, והמלחמה פתוחה מ-28.2.2026. לכן העוגנים יכולים לומר "יותר מהנורמה של אוגוסט 2026" — הם אינם יכולים לומר "יותר מזמן שלום", כי המערכת הזו מעולם לא ראתה זמן שלום. זו מגבלת נתונים, לא בחירת כיול, והיא מודפסת יחד עם כל שורה.

שני מספרי מצב בראש כל מדד (2.9.2026)

האוגר שתואר למעלה עבד מ-1.9.2026, אבל הוא הודפס רק ליד השורה של המשפחה עצמה. בערב 1.9.2026, כשדווח על לחימה פעילה באזור, שני המדדים הראו 0 בעוד האוגר אמר - בשורה אחת בתוך פאנל איראן - ששיבוש ה-GPS בהורמוז היה מעל העוגן המוצהר שלו ב-12 מתוך 14 הימים האחרונים, כולל אותו יום. המספר היה נכון והוא היה קבור. מ-2.9.2026 הוא מוצג בראש כל מדד, ליד הרמה, יחד עם מספר שני.

1. מצב עומד. לכל מדד מוצג: כמה מהמשפחות המעוגנות שלו צברו מספיק ימים כדי לדווח בכלל, כמה מהן חוצות את העוגן המוצהר שלהן היום, והמשפחה עם הכי הרבה ימים מעבר לעוגן - במשפט זהה לזה שמודפס ליד השורה שלה, מאותה פונקציה בקוד. זו אינה בחירה קוסמטית: היא מבטיחה שכותרת לא תוכל לומר דבר שהשורה שמתחתיה סותרת.

למה הכותרת סופרת ימים ולא רצף. אוגר המצב מחזיק שני מספרים שונים - מספר הימים החוצים בחלון של 14, ואורך הרצף הנגמר היום. ב-1.9.2026 הסיכום הכללי דיווח רצף של יום אחד בעוד השורה של הורמוז דיווחה 12 מתוך 14, ושני המספרים היו נכונים: 12 מהימים חצו את העוגן, אבל היום שלפני האחרון היה מתחתיו, ולכן הרצף נקטע. כותרת שהייתה בנויה על הרצף הייתה מדפיסה "יום אחד" מעל שורה שאומרת 12 מתוך 14, והקורא היה צריך לבחור באיזה ממספרי הדף להאמין. לכן הכותרת סופרת ימים. שני המספרים ממשיכים להתפרסם, כי 12 מתוך 14 עם רצף 0 היא תופעה דועכת ואסור שתיקרא כמו תופעה נמשכת.

2. סיכון יומי עומד. משפחת שוק הניבוי כבר מחשבת בדיוק את הכמות שחסרה ליד רמה שמודדת רק שינוי: סיכון ליום, שאינו נעלם רק מפני שדבר לא זז. מ-2.9.2026 הוא מתפרסם כמספר בפני עצמו ליד הרמה, ונושא איתו - בגוף המשפט, לא מאחורי קישור - ארבעה דברים: שזו הסתברות גלומה משוק של כסף אמיתי ולא תחזית של הדף הזה ולא מדידת חיישן; איזה חוזה, בשמו, ומה סוגר אותו; מה מחיר החוזה מגלם לכל אורך חייו הנותרים וכמה ימים נותרו; ושהמספר המתפרסם הוא קצב יומי ולא מחיר החוזה. ההפרדה הזו היא כל הסיבה שהמערכת שומרת hazard ולא p: מחיר חוזה יורד מעצמו ככל שמועד הפקיעה מתקרב, ולכן מחיר יורד אינו עדות לכלום. המחיר עצמו כן מוצג - אבל כמספר שממנו נורמלו, ולא ככותרת, כדי שהקורא יראה את החשבון במקום להתבקש להאמין לו.

שניהם מוצגים ואף אחד מהם אינו מצביע. אף אחד משני המספרים אינו נקרא על ידי הקוד שקובע רמה, אינו נספר באף מונה, ואינו יכול להזיז את המחוון. וכשאין מה לדווח - פחות מ-5 ימים אגורים במשפחות המעוגנות של אותו מדד, או שוק ניבוי שלא נקרא בריצה האחרונה - נכתב זאת במפורש במקום המספר, ומספר ישן לא מוצג. היעדר מספר אינו אישור שהכול בסדר.

למה הספים יחסיים ולא מוחלטים

אין בקוד ספים כמו "פחות מ-40 מטוסים" או "מעל 100 דולר לחבית". רוב הספים מנוסחים כיחס לחציון. הסיבה מעשית: לכל פיד יש "נורמלי" משלו, והוא נודד. תנועה אווירית משתנה לפי עונה ושעה; מספר מסלולי ה-BGP של איראן משתנה עם תשתית. סף יחסי שואל "מה השתנה כאן עכשיו", וזו השאלה הנכונה.

ומה שסף יחסי אינו יכול לראות — נאמר במפורש, 1.9.2026. כלל שמבוסס על חציון מתגלגל בולע שינוי איטי: החציון נודד יחד עם המשתנה, והסטייה נשארת קטנה. משפחת הריאל נמחקה ב-1.9.2026 בדיוק מהסיבה הזו — הריאל נחלש ב-13.1% בתוך 16 יום, והסטייה הגדולה ביותר מול חציון 48 השעות הייתה 1.9% מול רף של 8%. מטבע הוא משתנה איטי, וגלאי-שינוי של יומיים הוא הכלי הלא נכון עבורו.

// the shape every rule here takes
prior  = last 96 samples (excluding the current one)
if len(prior) < 12:  // not enough history — rule is inert
    do nothing
med   = median(prior)
lit   = current < factor × med  // collapse-type signals
lit   = current > max(factor × med, med + floor)  // surge-type signals

ה-med + floor בכללי הזינוק אינו קישוט: כשהחציון נמוך מאוד, "פי 2" יכול להיות קפיצה מ-3 ל-6, שהיא רעש. הרצפה המוחלטת דורשת גם תזוזה משמעותית בגודל אבסולוטי, ולא רק ביחס.

מסכת "בוער תמיד" — למה נדרש עיבוד לפני שהנתון בכלל שמיש

המדד הלוויני הוא הדוגמה הטובה ביותר לכך שנתון גולמי אינו סיגנל. מדידה על האזור (bbox 44,25–64,40) ב-16.8.2026 הראתה כ-800–1,300 חריגות תרמיות ביום: 1,181 תאים שונים לאורך 5 ימים, מתוכם 340 בערו ב-3 ימים ומעלה — כלומר לפידי גז קבועים בשדות הנפט בח'וזסתאן ותעשייה. לכן נשמרות רק חריגות שעונות על שלושת התנאים: ודאות רגילה או גבוהה (נמוכה נפסלת), עוצמה ≥50 MW (בערך אחוזון 99), ובמיקום שלא מופיע במסכת המקומות שבוערים דרך קבע — מסכה שנלמדת מהתצפיות עצמן. אחרי הסינון נשארים מוקדים בודדים ביום, וזה מספר שאפשר לחפש בו זינוק. המדידה שלמעלה נעשתה בלוויין אחד; מאז 20.8.2026 נקראים שלושה ונספרים מקומות ולא שורות זיהוי, ולכן הספירה היומית נבנתה מחדש מאותו תאריך.

ומה שהמדד הזה עדיין לא יודע: הוא אינו מייחס סיבה. חתימת חום גדולה יכולה להיות תקיפה, שריפת יער או שריפת קש חקלאית — והמדד אינו מבחין ביניהן. הוא סופר "משהו גדול בוער היכן שבדרך כלל לא בוער", ומסומן בדף בדיוק כך. אין כאן שום טענה לקורלציה עם אתרים צבאיים, כי אין רשימת אתרים מאומתת.

04 The statistical basis

Nearly every indicator here asks one question: is the current value outside what has been normal for this indicator in recent days? — not "is the value high".

Scoreboard: what this system has actually achieved (2026-09-01)

This section exists because a page that publishes thresholds owes the reader its record against them. As far as we know no public tracker in this field does this to itself. As of 2026-09-01 21:30 UTC — every figure in the table was derived at that one moment and does not update itself. "Completed runs" is counted from the run log across all three record shapes together (ok, ALERT, GOLIVE) — 793, 18 and 4 respectively. Every other row is derived from the 443 snapshots published in the git history of status.json. The 18 is the number of families that ever appeared in a snapshot — the roster changed over time, so it exceeds today's count. The level-1 figure counts snapshots, not index cells: in 7 snapshots both indices were at level 1 at once, i.e. 28 index observations of 886 but 21 snapshots of 443. An earlier version of this table mixed cutoffs — the family count came from one moment and the snapshot count from another. Corrected 2026-09-02 after an external review.

System lifetime2026-08-16 → 2026-09-01 · 15.9 days
Completed runs815
Published snapshots443
Families that have ever lit5 of 18
— firms11 snapshots
— us_mil_air7 snapshots
— jo_airspace2 snapshots
— il_airspace1 snapshot
— embassy_alerts1 snapshot
Families that have never lit13 of 18
Detections of a real event0
Recorded false alarms6
Snapshots with either index at level 121 of 443
Level 2 or 3never

Zero detections means zero. Every alarm episode in the system's life is attributed to a non-event — an instrument fault, or an episode we could not corroborate from an external source. The sharpest test so far: on 2026-08-30 US forces struck launchers on Larak Island, and at dawn on 08-31 the IRGC fired a salvo at two air bases in Jordan, intercepted in Jordanian airspace. The Jordanian-airspace indicator did not light in any of the 104 runs around that event — it did light twice that month, on two dates with no matching event — while the same family had already fired twice that month on nothing at all.

What these numbers say, and what they do not. They say the instruments here have not yet demonstrated dynamic range: the problem is not threshold calibration, it is that the indicators barely move. They do not say the design is wrong — 16 days is a tiny sample and most of the window was relatively quiet. They do mean the "1-3 days" promise at the top of the page is a design intention and not a measurement: there is not one verified detection behind it, and while that holds it is presented here as an intention.

Two of the six false alarms rest on the absence of public reporting rather than positive proof, and are flagged as such in the ledger. The 2026-09-01 16:00 UTC strike is recorded as "unscoreable — record truncated" (1.2 h of record after it) rather than as a miss, and becomes the best test in the ledger once more record accumulates. The ledger and its replay harness live in the project repository under groundtruth/.

Why the median and not the mean

Each indicator's baseline is the median of its recent samples, not the mean. Two reasons:

  • A mean is dragged by outliers. One sharp spike pulls the mean upward — meaning the very event we are trying to detect poisons the baseline that is supposed to detect it. The median barely moves on a single outlying sample.
  • These feeds are not normally distributed. Aircraft counts, BGP routes and thermal anomalies are heavily long-tailed distributions. In a measurement taken on NASA FIRMS data over the Iran region on 16.8.2026: median intensity 4.0 MW, 90th percentile 16.6, 99th percentile 50.9, and a maximum of 153.8. A mean over a distribution like that is a number that describes almost no actual observation.

The window and the sampling

Check cadenceevery 30 minutes The system is not continuous. Between checks it is blind.
Stored series length96 samples ≈ 48 hours "Normal" is defined against the last two days, not a historical average. That way the indicator adapts to real shifts in the background rate.
Minimum before a rule is active12 samples ≈ 6 hours A median-based rule simply does not exist until history has accumulated. Otherwise the first run would produce an immediate false alarm. The four daily families in the row below require 7 days of history instead — the prediction market arrives with that history from the source itself on run one, the Israel GPS-interference indicator was seeded at wiring time with 31 real measured days from the source's historical files, and the satellite indicator is rebuilding its baseline from 20.8.2026 — one real complete day per day — after its measurement basis was replaced (from "the last 24 h" to the latest complete UTC day): an old baseline is never compared against a new basis.
Cooldown between alerts6 hours per family Prevents flooding from a flapping feed.
"Wartime baseline, August 2026" shown on the page10th–90th percentiles What you see next to each indicator is the range holding 80% of the recent samples — so the current number is readable without knowing the feed. Renamed from "Normal range" on 2026-09-01: the oldest sample on disk is from 2026-08-01 and the war has been open since 2026-02-28, so every baseline here was collected inside a war. "Normal" was misleading; this is a wartime baseline and nothing more.
Exceptions: the two GPS-interference indicators, the prediction market and the thermal anomaliesdaily series · up to 30 days Four families are judged against the median of preceding days, not the 48-hour window, and all four require at least 7 days of history. GPS interference (Hormuz and Israeli airspace — two regions from the same file, one download a day): gpsjam.org publishes one file per day (about a day behind), so each region is judged once per published day. The prediction market (Polymarket): its daily series is rebuilt every run from the market's own hourly history — so the baseline is real from the first run — and the live reading is judged against it on every 30-minute check. The thermal anomalies (NASA FIRMS): three VIIRS satellites (SNPP, NOAA-20, NOAA-21) each pass over the area once or twice a day and processing lags by hours, so what is measured is the most recent complete UTC day — not the current day, which looks empty until around noon — and each published day is judged exactly once. A complete day older than 36 hours means the source is stuck, and the indicator is marked "not read" — never zero.

A second state accumulator — "is the build-up continuing?" (1 Sep 2026)

Everything described so far is a change detector: a value against a rolling median of its own recent past. That shape has one structural blind spot, and this system's own stored data contains a textbook instance of it. GPS interference in the Strait of Hormuz sat between 10% and 14% from 9 to 28 August 2026 — four to five times its own level a week earlier — and the page showed 🟢 on every one of those twenty days, because by day three the rolling median had moved up with the measurement. A rolling reference cannot say "this is still happening"; by construction it can only say "this just changed".

Since 2026-09-01 every action family is also scored against a declared anchor: a fixed number, written in the code beside its provenance and its date, that does not move when the world moves. Each UTC day is judged against it, the results accumulate, and the page prints next to the row "how many of the last 14 days were above the declared anchor, and how many of them consecutively". Replayed over the stored series, the Hormuz cluster reads twenty consecutive days above the anchor. Both forms are kept deliberately: the count out of 14 (accumulated state) and the streak (is it still happening today) — 12 of 14 with a streak of 0 is a fading condition and must not read like a continuing one.

What it is not, said plainly: it is not a voting indicator. It raises no level, and the code that decides the level was not touched to make room for it. A sustained state is not an event, and inflating the dial for a condition that has been true for three weeks is exactly the display failure this system keeps writing rules against. It also does not replace the threshold cap or the baseline freeze — both of those act on the fast detectors' thresholds and baselines, an entirely different quantity.

And the most important caveat: every anchor was measured inside the war. The oldest sample on disk is from 2026-08-01 and the war has been open since 2026-02-28. So the anchors can say "more than the August-2026 norm" — they cannot say "more than peacetime", because this system has never seen peacetime. That is a data limit, not a calibration choice, and it is printed with every line.

Two standing figures at the top of each index (2 Sep 2026)

The accumulator described above has been running since 2026-09-01, but it was printed only beside the row of the family it belonged to. On the evening of 2026-09-01, with active fighting reported in the region, both indices read 0 while the accumulator was saying — in one row inside the Iran panel — that Hormuz GPS interference had been above its declared anchor on 12 of the last 14 days, including that day. The number was right and it was buried. Since 2026-09-02 it is shown at the top of each index, beside the level, together with a second figure.

1. Standing state. For each index: how many of its anchored families have accumulated enough days to report at all, how many are past their declared anchor today, and the family with the most days past its anchor — in the identical sentence printed beside that family's own row, from the same function in the code. That is not cosmetic: it guarantees a headline cannot say something the row beneath it contradicts.

Why the headline counts days and not a streak. The accumulator holds two different numbers — the count of breaching days in the 14-day window, and the length of the streak ending today. On 2026-09-01 the overall summary reported a streak of one day while the Hormuz row reported 12 of 14, and both were correct: 12 of those days were past the anchor, but the day before last was under it, so the streak was broken. A headline built on the streak would have printed "one day" above a row saying 12 of 14, and the reader would have had to pick which of the page's own numbers to believe. So the headline counts days. Both numbers go on being published, because 12 of 14 with a streak of 0 is a fading condition and must not read like a continuing one.

2. Standing daily risk. The prediction-market family already computes exactly the quantity missing beside a level that only measures change: a risk per day, which does not go quiet merely because nothing moved. Since 2026-09-02 it is published as a figure in its own right beside the level, and it carries with it — inline, not behind a link — four things: that it is a market-implied probability from real money and not a forecast by this page and not a sensor reading; which contract, by name, and what resolves it; what the contract's price implies over its whole remaining life and how many days that is; and that the published number is a daily rate, not the contract price. That separation is the entire reason the system stores hazard and never p: a contract price falls on its own as expiry approaches, so a falling price is evidence of nothing. The price is shown — but as the figure the daily rate was normalised from, not as the headline, so the reader can see the arithmetic instead of being asked to trust it.

Both are displayed and neither votes. Neither figure is read by the code that decides a level, counted in any counter, or able to move the dial. And when there is nothing to report — fewer than 5 stored days across that index's anchored families, or a prediction market that was not read in the last run — that is written where the number would have been, and a stale number is not shown. A missing figure is not an all-clear.

Why the thresholds are relative, not absolute

There are no thresholds in the code like "under 40 aircraft" or "above $100 a barrel". Most thresholds are phrased as a ratio to the median. The reason is practical: every feed has a "normal" of its own, and it drifts. Air traffic changes with season and hour; Iran's BGP route count shifts with infrastructure. A relative threshold asks "what changed here now", and that is the right question.

And what a relative threshold cannot see — stated plainly, 2026-09-01. A rolling-median rule absorbs slow change: the median drifts along with the variable, so the deviation stays small. The Iranian rial family was deleted on 2026-09-01 for exactly this reason — the rial weakened 13.1% over 16 days, and the largest deviation it ever showed against its 48-hour median was 1.9% against an 8% bar. A currency is a slow variable, and a two-day change detector is the wrong instrument for it.

// the shape every rule here takes
prior  = last 96 samples (excluding the current one)
if len(prior) < 12:  // not enough history — rule is inert
    do nothing
med   = median(prior)
lit   = current < factor × med  // collapse-type signals
lit   = current > max(factor × med, med + floor)  // surge-type signals

The med + floor in the surge rules is not decoration: when the median is very low, "2×" can be a jump from 3 to 6, which is noise. The absolute floor also demands a move that is meaningful in absolute size, not only in ratio.

The "always burning" mask — why processing is needed before the data is usable at all

The satellite indicator is the best example of raw data not being a signal. A measurement over the region (bbox 44,25–64,40) on 16.8.2026 showed roughly 800–1,300 thermal anomalies per day: 1,181 distinct cells across 5 days, of which 340 burned on 3 days or more — that is, permanent gas flares over the Khuzestan oil fields, and industry. So only anomalies meeting all three conditions are kept: nominal or high confidence (low is discarded), intensity ≥50 MW (roughly the 99th percentile), and a location absent from the mask of places that burn permanently — a mask learned from the observations themselves. After the filtering a handful of hotspots a day remain, and that is a number a spike can be hunted in. That measurement was taken with a single satellite; since 2026-08-20 three are read and distinct places are counted rather than detection rows, so the daily count was rebuilt from that date.

And what this indicator still does not know: it does not attribute cause. A large heat signature can be a strike, a wildfire or agricultural stubble burning — and the indicator cannot tell them apart. It counts "something large is burning where nothing usually burns", and is labelled on the page exactly that way. No claim of correlation with military sites is made here, because there is no verified site list.

05 ספי ההדלקה המדויקים

אלה המספרים שרצים בפועל. הם מפורסמים כאן כדי שאפשר יהיה לבקר אותם — ולראות מה כן ומה לא יכול להדליק את הדף. בעמודה האחרונה מצוין גם סיווג הפעולה/דעה של כל משפחה (סעיף 2): רמה 2 ומעלה מחייבת לפחות משפחת פעולה אחת דולקת — משפחות דעה לבדן נעצרות ברמה 1.

עודכן 1.9.2026. חמש משפחות עברו להקשר בלבד: אזהרות מסע, חריגות תרמיות, שיבוש GPS בהורמוז, השווקים ושוק הניבוי. הן נמדדות, נשמרות ומופיעות בטבלה עם הסף החי שלהן — אבל אינן מצביעות, והעמודה האחרונה שלהן כותבת "הקשר בלבד". מ-1.9.2026 כל המשפחות המצביעות מסווגות פעולה, ולכן מסנן הפעולה/דעה רדום: הוא נשאר בקוד כמנגנון בטיחות למקרה שמשפחת דעה תקבל קול שוב.

התוצאה במדד האיראני, נאמרת במפורש: נשארו לו שתי משפחות מצביעות בלבד — אינטרנט באיראן (IODA) ותעופה צבאית באזור (adsb.lol) — על שני ספקים. רמה 3 מחייבת שלושה ספקים נפרדים, ולכן המדד האיראני אינו יכול להגיע לרמה 3; התקרה שלו היא 2, והדף כותב "מתוך 2" ולא "מתוך 3". התקרה נגזרת בקוד מרשימת המשפחות המצביעות ומתפרסמת בשדה max_level, כדי שלא תוכל לסטות ממנה.

מדדמקורמה מדליקלאיזה מדד
מדיניות התגוננותפיקוד העורף (API רשמי) שינוי בנוסח ההנחיות מול קו הבסיס השמור, ורק כשהוא לכיוון המגביל: מעבר מ"אין הגבלות" להנחיות מגבילות, או שינוי בתוך מצב מגביל. שינוי בלבד — עצם קיומה של מדיניות מגבילה אינו מדליק כאן דבר; וגם ניסוח מחדש שאינו משנה את המשמעות, הקלה, או נוסח שאיננו יודעים לסווג — נרשמים ביומן ואינם מעלים רמה🇮🇱 ישראל · פעולה
מרחב אווירי ישראלadsb.lol מטוסים אזרחיים < 35% מהחציון, בשתי בדיקות רצופות; אין שיפוט כשהחציון < 20🇮🇱 ישראל · פעולה
מרחב אווירי ירדןadsb.lol (שתי תיבות שהן חד-משמעית ירדן: 29.2–32.3°N 35.75–36.5°E והרצועה 32.2–32.7°N 37.2–39.2°E — בלי תנועה ישראלית ובלי הנתיב הסעודי) סכום 3 הבדיקות האחרונות (90 דקות) ≤ 3 מטוסים; אין שיפוט כשהחציון < 5. אם המעגל הגולמי (170 מייל ימי) ירד בעצמו מתחת למחצית החציון שלו — מקור מושבת במקום הדלקה🇮🇱 ישראל · פעולה
אזהרות מסע — ישראל והסביבהמחלקת המדינה האמריקאית עליית רמת אזהרה לישראל / לבנון / ירדן / סוריה — מאושר בשתי תצפיות רצופות. הזרוע הבריטית (FCDO, gov.uk) הוסרה מהקוד ב-31.8.2026; שורה זו המשיכה לתאר אותה עד 1.9.2026. הקשר בלבד מ-1.9.2026 — אינה מצביעה: מה שנקרא כאן הוא הכרזה על סיכון, ולבנון וסוריה כבר על תקרת הסולם (4)— הקשר בלבד
אינטרנט באיראן (ארצי)IODA · Georgia Tech merit-nt < 50% מהחציון. merit-nt היא זרוע ההצבעה היחידה מ-1.9.2026; BGP ו-ping-slash24 נמדדים ומוצגים אך אינם מצביעים (BGP במלחמת יוני 2025 לא ירד מ-94.5% מהבסיס; ping-slash24 הוסר מההצבעה ב-1.9.2026 אחרי שנמצא החירש מבין השתיים בשחזור על 96 הדגימות השמורות)🇮🇷 איראן · פעולה
חריגות תרמיות מלווייןNASA FIRMS · VIIRS (סדרה יומית — נמדדת היממה השלמה UTC האחרונה) n > max(3 × חציון הימים הקודמים, חציון + 5) · עד 30 יום · אין שיפוט עם פחות מ-7 ימי היסטוריה · יממה שלמה ישנה מ-36 שעות = מקור תקוע, לא אפס. הקשר בלבד מ-1.9.2026 — אינה מצביעה: זיהוי תרמי הוא הערכת נזק אחרי אירוע ולא לפניו, והסף (>8 מוקדים) גבוה מהמקסימום שנמדד אי פעם (5, מתוך 13 ימים שמורים)— הקשר בלבד
התרעות שגרירות ארה"ב — הוראות מבצעיות7 שגרירויות ארה"ב באזור (ישראל, לבנון, עיראק, בחריין, כווית, קטאר, איחוד האמירויות) הוראה מבצעית לסגל (הגבלת תנועה / shelter in place / פינוי מורשה או מחויב) בחלון 72 שעות — מאושר בשתי תצפיות רצופות; ניסוחי ביטול והתרעות שגרה מוחרגים. בשש השגרירויות האזוריות (מחוץ לישראל) חל כלל מחמיר יותר: השעיית שירותים קונסולריים אינה נספרת שם, משום שבמפרץ זהו לרוב נוסח של סגירה לחג. החליף ב-22.8.2026 את "אזהרות מסע — איראן והמפרץ": אותו ספק (state_dept), ולכן ההחלפה שומרת על תקרת שני הקולות של הספק🇮🇱 ישראל · פעולה
שיבוש GPS — מצר הורמוזgpsjam.org (נגזר ADS-B, יומי) היחס היומי של מטוסים המדווחים על דיוק GPS ירוד ≥ פי 3 מחציון הימים הקודמים (עד 30 יום), ולפחות 13% בערך מוחלט, ולעולם לא יותר מ-8% מעל הערך הגבוה ביותר שנצפה בסדרה; יום עם פחות מ-1,000 תצפיות אינו נשפט. התקרה נוספה ב-31.8.2026 אחרי ששלושה שבועות של שיבוש מתמשך גררו את החציון עד שדרישת פי-3 עמדה על 31.5% — יותר מכפול מהמקסימום שנצפה (14.4%). כויל מחדש 1.9.2026: הצמד (רצפה 5%, תקרה 15%) עדיין השאיר סף בפועל של 16.6% — מעל השיא ההיסטורי — ובמקביל ייצר 5 הדלקות מתוך 22 ימים שנשפטו בשחזור, כולן ברמפה הרגילה של 10–14 באוגוסט. הצמד החדש (13% / 8%) נותן 0 הדלקות באותו שחזור וגם מוריד את הסף היום ל-15.6%. הפילוג (29 יום): מינימום 1.8% · חציון 10.4% · אחוזון 90 = 13.3% · אחוזון 95 = 14.1% · מקסימום 14.4%.
הכיוון היורד — סימן במעקב, לא מדד מצביע (1.9.2026): ב-29 וב-30.8.2026 היחס צנח ל-0.27 ול-0.32 מהחציון שלו — הסטייה הגדולה ביותר בכל הסדרה, בשני הכיוונים — ימים ספורים סביב תקיפת אי לארק והמטח הבליסטי על בסיסים בירדן. שום כלל לא ניטר את הכיוון הזה. מ-1.9.2026 צניחה ל-0.35 מהחציון ומטה מסומנת ליד השורה, אבל אינה מצביעה ואינה משנה רמה: n=1, וירידה יכולה לנבוע גם מדילול כיסוי המטוסים — היחס נגזר מתעופה — ולא מכיבוי משבש. אין מקור שני שיפריד ביניהם, ולכן זה מסומן כאמון נמוך. הקשר בלבד מ-1.9.2026 — אינה מצביעה: זהו אות מפרצי-ימי, מנגנון מקדים באמת אבל מחוץ לשאלה שהדף שואל. העוגן והראצ׳ט שלה ממשיכים להתפרסם בפאנל האיראני — הם המנגנון היחיד כאן שעקב אחרי שינוי משטר אמיתי
— הקשר בלבד
שיבוש GPS — מרחב ישראלgpsjam.org (אותו קובץ יומי — הורדה אחת משרתת את שני מדדי ה-GPS; 51 תאי H3 ברזולוציה 4 מעל 29.4–33.4°N, 34.2–36.0°E) היחס היומי ≥ פי 3 מחציון הימים הקודמים (עד 30 יום), וגם ≥ 18% בערך מוחלט. הרצפה נגזרה ממדידת 31 יום אמיתיים (20.7–19.8.2026) עם ערכת התאים הזו: מינימום 1.83%, חציון 5.73%, מקסימום 17.25% — שיבוש לסירוגין הוא הרקע הקבוע מעל ישראל, ולכן הרצפה יושבת מעל כל המעטפת הזו (רצפת 5% של הורמוז, מושתלת כמות שהיא, הייתה נדלקת ב-29.7 על יום רגיל). בהרצה לאחור על אותו חודש: 24 ימים נשפטו (7 הראשונים חימום), אפס הדלקות, וההתקרבות הגדולה ביותר — 79% מהסף ב-31.7. יום עם פחות מ-500 תצפיות אינו נשפט (המינימום שנמדד: 1,929). אותה תקרה מ-31.8.2026 חלה גם כאן: הסף לעולם אינו יותר מ-15% מעל המקסימום שנצפה בסדרה.
כויל מחדש 1.9.2026 — הרצפה ירדה מ-18% ל-12%. 18% ישב מעל הערך הגבוה ביותר שהמקור הפיק אי פעם (17.25%, 4.8.2026), ומכיוון שהכלל לוקח את הגבוה מבין שתי הזרועות, הרצפה גברה על הזרוע המסתגלת בכל ריצה — המשפחה לא יכלה להידלק אפילו על חזרה על היום הגרוע שלה עצמה. 12% יושב מעט מתחת לאחוזון 95 שנמדד (12.2%) ומעל אחוזון 90 (11.5%), והסף בפועל היום הוא 13.98%, מתחת למקסימום ההיסטורי. שחזור על 23 הימים שנשפטו במאגר: 0 הדלקות, בכל רצפה מ-18% ועד 10% — השינוי אינו קונה אף התרעת שווא.
הכיוון היורד: אותו כלל של הורמוז (0.35 מהחציון ומטה), סימן במעקב בלבד. מעל ישראל הוא רדום כרגע: החציון כאן 4.7%, מתחת לרצפת ההפעלה של 5%. ובשחזור הוא סימן שני ימים שקטים (11.8 ו-18.8) שלא נקשר אליהם דבר — זו הסיבה שהוא אינו מצביע
🇮🇱 ישראל · פעולה
תעופה צבאית באזורadsb.lol (משבצת 12–40°N, 25–60°E) n > max(3 × חציון, 14), בשתי בדיקות רצופות. עודכן 1.9.2026 מ-20: הרצפה הישנה הייתה 43% מעל המקסימום שנמדד אי פעם (14), כלומר המדד לא היה מסוגל להידלק. הרצפה החדשה שווה לאותו מקסימום, מתוך 384 דגימות שמורות (חציון 3 · אחוזון 90 = 8 · אחוזון 99 = 13 · מקסימום 14). שחזור על אותן דגימות: 0 הדלקות ברצפה 14, הראשונה ברצפה 12🌐 אזורי — נספר לשניהם · פעולה
שווקים — ברנט ושקלtgju (ברנט) · בנק ישראל (דולר-שקל) כיוון הסלמה בלבד: ברנט ≥ 108% מהחציון, או שער הדולר-שקל ≥ 103% מהחציון (היחלשות שקל). הקשר בלבד מ-1.9.2026 — אינה מצביעה באף אחד משני המדדים, אף שהיא מוצגת בשניהם: מחיר מתמחר מחדש חדשות שכבר פורסמו, ושני הספים (ברנט ≥$97.9 · דולר ≥3.08 ₪) גבוהים מהמקסימום שנמדד בחלון החי (93.879 · 3.012) — הקשר בלבד
שוק ניבוי — הפסקת האשPolymarket (האירוע "Israel x Iran ceasefire continues through...?", ~$26M מחזור; תנאי ההכרעה — תקיפה אווירית או טילית של צד אחד בשני, דו-כיווני) הסיכון היומי הגלום h = 1 − (1 − p)^(1/ימים שנותרו) — לעולם לא המחיר הגולמי, שיורד מעצמו כשהאופק מתקצר — ≥ פי 3 מחציון הימים הקודמים (עד 30 יום), וגם ≥ 2% ליום בערך מוחלט; אין שיפוט עם פחות מ-7 ימי היסטוריה קודמים. נבחר תת-השוק הפתוח הקרוב ביותר עם ≥21 יום לפדיון (מתחת לזה צעד המחיר המזערי 0.005 הוא ~11% מהמדידה ומעלה); נזילות < $20K, מרווח קנייה-מכירה > 0.05 או מרווח חסר בתשובת ה-API → המדד מדווח כלא-נקרא, לא כאפס. אחרי גלגול לחוזה הבא קו הבסיס משלב זמנית שני חוזים — זה מסומן בערך המוצג, והשיפוט נמשך (הנימוק המדוד בהמשך הסעיף). הקשר בלבד מ-1.9.2026 — אינה מצביעה באף אחד משני המדדים, אף שהיא מוצגת בשניהם: מהמר שאין לו מידע פרטי קורא את אותן כותרות, והסף (2% ליום) גבוה מהמקסימום שנמדד אי פעם (0.87% ליום, מתוך 26 ימים שמורים) — הקשר בלבד
הודעות NOTAM — מרחב ישראלbrin.iaa.gov.il לא מדליק כלוםהקשר בלבד מ-1.9.2026, ואינו מצביע. הדף נקרא לכל היותר פעם בשעה ונשמר במטמון (כ-1.21MB לקריאה; קריאה בכל מחזור = כ-58MB ליום מאתר ממשלתי). נמדדים: מספר ההודעות הפעילות, כמה מהן כוללות CLSD, כמה סוגרות בהיקף רחב (AD CLSD, או ATS RTE ... CLSD, או CLSD TO ALL [DOM] FLT), וכמה מזהים נוספו/נעלמו מאז הקריאה הקודמת. נוכחות אינה שינוי — במדידה יחידה ב-1.9.2026 היו 106 הודעות ו-57 עם סגירה, ורובן שגרה: 21 רחפנים, 12 מסלולים, וכל ארבע סגירות השדה נומקו DUE WIP. נכשל סגור: חסימת Radware (עמוד קפצ'ה בקוד 200), קיטוע, דף שאינו דף ה-NOTAM, פחות מ-20 מזהים, או ספירת CLSD שאינה תואמת את הדף — כולם מסמנים "לא נקרא", לעולם לא "שקט" אין עדיין קו בסיס — 30 יום של קריאות שעתיות וגם אירוע מרחב-אווירי אחד לפחות בתוכן
StrikeRadarusstrikeradar.com לא מדליק כלום — הקשר בלבד

כללים שמופיעים בטבלה ומקורם בכישלון או במדידה אמיתית, לא בתיאוריה:

  • למה אזהרות מסע דורשות שתי תצפיות: פיד ה-RSS של מחלקת המדינה אינו יציב בין בקשה לבקשה. במדידה בהפרש שניות התקבלו 229 פריטים בבקשה אחת ו-216 בשנייה, עם גוף טקסט באורך שונה לגמרי לאותה מדינה. קריאה חד-פעמית של הפיד הזה מייצרת "שינויים" שלא קרו — וזה כבר ייצר שתי התרעות שווא לפני שהכלל הוקשח. מאז נקראת ממנו רק רמת האזהרה מהכותרת, שהיא יציבה.
  • למה מדד ירדן נשפט על סכום ולא על ערך בודד (23.8.2026): הכיסוי מעל ירדן אמיתי אבל דליל — במדידה חיה ב-17.8.2026 נספרו 7, 4 ו-2 מטוסים בתוך רבע שעה, מול ~80 מעל ישראל באותו רגע. במספרים כאלה ירידה יחסית לבדה היא רעש סטטיסטי, ולכן הכלל נשא שלושה מגנים נפרדים: 35% מהחציון, תקרה מוחלטת של ≤2, ואחוזון 10 של ההיסטוריה העצמית, בשתי בדיקות רצופות. מדידה לאורך 5.1 ימים רצופים הראתה ששניים מהם לא עשו דבר: החציון המתגלגל היה 5.0 בדיוק בכל חלון שנמדד, כך שדרישת ה-35% כבר כפתה ≤1 מטוסים — התקרה של 2 מעולם לא פעלה — והאחוזון עמד על 2 או 3 בכל חלון, כלומר גם הוא לא חסם דבר מעולם. שלושת המגנים הוחלפו במספר אחד: סכום 3 הבדיקות האחרונות ≤ 3. הבחירה נעשתה על התרעות שווא ועל הספק זיהוי יחד — סינון לפי שקט בלבד בוחר את הכלל החירש: מועמד ששקט פי 3 התגלה כחירש יותר מהכלל הישן בכל עוצמת סגירה, ונפסל. בכל ההיסטוריה שנמדדה סכום 3 הבדיקות לא ירד מתחת ל-5. המבחן המאוחד גם תופס דפוסים מעורבים כמו 1,0,2 שכלל של רצף מפספס מבנית. המחיר, ונאמר ביושר: ירידה מתמשכת ל-2 מטוסים — כ-60% מהתנועה — אינה ניתנת לזיהוי בשום כיול שנבדק, כולל הישן. זו מגבלת אות בספירות כאלה, לא באג, והמדד מוצג ככזה.
  • מגן בריאות-כיסוי (23.8.2026): התרעת השווא היחידה שנצפתה בפועל בשדה לא הייתה רעש סטטיסטי אלא תקלת פיד: ב-19.8.2026 נדלקו מדד ישראל ומדד ירדן יחד, 89 דקות אחרי ששלוש משפחות adsb החזירו שגיאה. שתיהן יושבות על אותו מקור, ולכן שום כמות של בדיקות רצופות אינה מגנה מפני זה — התקלה נמשכת על פני ריצות מעצם טבעה. מאז, כשירדן נראית ריקה וגם המעגל הגולמי כולו ירד מתחת למחצית החציון שלו, המדד מדווח מקור מושבת ולא נדלק: סגירה ותקלת פיד נראות זהות באותו רגע, וההודאה בכך עדיפה על ייחוס שגוי.
  • למה גם מדד ישראל קיבל את אותם שני מגנים (18.8.2026): עד אז הוא נדלק על תצפית בודדת של ירידה מתחת ל-35% מהחציון, בלי אחוזון ובלי אישור. בחלון 48 השעות השמור כבר יש דגימה חריגה של 33 מטוסים מול 54–68 באותה שעה. בשעות לילה, כשהחציון עצמו נמוך, מספיקה דגימה שגויה אחת כדי להעיר אדם ב-03:00. לכן נוסף אחוזון 10 של ההיסטוריה העצמית ואישור בשתי בדיקות רצופות. ואחוזון 10 הוסר שוב ב-1.9.2026: אותה בדיקה שנעשתה לירדן נעשתה סוף-סוף גם כאן, והראתה שהמגן הזה מעולם לא פעל. תעבורה אזרחית מעל ישראל נעה בין 41 ל-127 עם חציון סביב 76, כך ש-35% מהחציון הוא כ-27 בעוד אחוזון 10 עומד על כ-60 — הדרישה הראשונה תמיד נמוכה יותר, ולכן היא כבר גוררת את השנייה. ב-89 מתוך 89 החלונות שנשפטו אחוזון 10 לא חסם דבר. הסף המוצג בדף לא השתנה, כי הוא ממילא היה המינימום של השניים. מה לא אומץ מירדן: התקרה המוחלטת של "≤2 מטוסים" שירדן נשאה אז. היא מכוילת לפיד של 5–15 מטוסים; בקנה המידה של ישראל (חציון 78) היא הייתה גורמת רק להחמצות. (ירדן עצמה ויתרה על אותה תקרה ב-23.8.2026, כשנמדד שהיא קוד מת — ראו הסעיף על מדד ירדן.)
  • למה סף התעופה הצבאית הועלה (18.8.2026): הכלל הישן, n > max(2×חציון, חציון+8), נדלק בחציון 4 כבר ב-12 מטוסים — רק 2 מעל הקצה העליון של "הטווח הרגיל 1–10" שהדף עצמו מדפיס באותה שורה. הרצה חוזרת של הכלל על 96 הדגימות השמורות הדליקה אותו ארבע פעמים על נתונים רגילים לחלוטין (10 מול חציון 1, 13 מול 2, 11 מול 2, 14 מול 4), וביומן ההרצה נשלחו שלוש הודעות 🟡 בארבע שעות. הפיד מתנדנד לפי שעות היום, כך שאשכול יום שנמדד מול חציון של שפל לילה מייצר "זינוק" יש מאין. הפילוג הנמדד: חציון 4, אחוזון 90 = 10, אחוזון 95 = 11, אחוזון 99 ≈ 13.05, מקסימום 14. הסף המוחלט החדש, 20, נמצא 43% מעל הערך הגבוה ביותר שנמדד אי־פעם, והמכפיל עלה מפי 2 לפי 3, בתוספת אישור בשתי בדיקות. באותה הרצה חוזרת הכלל החדש נדלק אפס פעמים.
  • קו הבסיס מוקפא כל עוד המדד דולק (18.8.2026): כל כלל חציון כאן נמדד מול 96 הדגימות האחרונות (כ-48 שעות) — וחלון זה כלל בעבר גם את האירוע עצמו. דוגמה מהנתונים החיים: חציון המרחב האווירי הישראלי הוא 78, כלומר סף של 27. אם התנועה קורסת ל-20 ונשארת שם, אחרי כ-24 שעות החציון המתגלגל הוא כ-26.5 והסף כ-9.3 — והמדד נכבה בזמן שהקריסה נמשכת, והדף חוזר ל-🟢 שקט. מערכת שמוכרת שכבת התארגנות של 1–3 ימים לא יכולה שקווי הבסיס שלה יתמוססו בתוך אירוע של 1–3 ימים. לכן משפחה שדולקת מפסיקה להזין את הסדרה של עצמה, ונשפטת מול קו הבסיס שלפני האירוע. ההקפאה חסומה ב-144 דגימות = 72 שעות — יותר מחלון 48 השעות ויותר מטווח 1–3 הימים שהדף מבטיח — וכשהיא פגה הדבר מוצג בשורת המדד ונשלחת התרעה, כי מדד שדולק ברציפות שלושה ימים הוא או אירוע חריג מאוד או פיד תקוע.
  • למה שוק הניבוי נשפט על סיכון יומי ולא על המחיר (20.8.2026): מחיר של חוזה לתאריך קבוע יורד גם כשדבר לא קרה, רק כי האופק מתקצר. נמדד על חוזה 31 באוגוסט: המחיר הגולמי של "No" ירד פי 13 בחודש (0.605 → 0.045) — נראה כרגיעה דרמטית — בעוד הסיכון היומי המנורמל, h = 1 − (1 − p)^(1/ימים), ירד פי 5.6 בלבד (2.22% → 0.39% ליום). כלומר הייתה רגיעה אמיתית, אבל יותר מחצי מהירידה הגולמית הייתה תעתוע לוח-שנה. הכלל — פי 3 מחציון הימים הקודמים וגם ≥2% ליום (שקול ל~45% בתוך חודש) — הורץ לאחור על הסדרה השעתית האמיתית (743 נקודות, 20.7–20.8) לפני החיבור. במסגרת ההוגנת: מתוך 32 התאריכים בחלון נשפטו 25 — שבעת הימים הראשונים הם חימום קו הבסיס, ודווקא בהם נמצא הקטע המתוח ביותר (23–24 ביולי, ~3.3–3.5% ליום, שמעולם לא נשפט: היו אז רק 3–4 ימים קודמים). מבין הימים שנשפטו הכלל נדלק אפס פעמים; בשיא התוך-יומי של החלון — 1 באוגוסט, 3.75% ליום — הוא סירב נכון: פי 3 מחציון הימים הקודמים (2.03%) עמד על 6.09% ליום. חודש רגוע באמת שמייצר אפס התרעות הוא בדיוק ההתנהגות הרצויה. ולעניין הגלגול בין חוזים: שחזור הגלגול האמיתי של 11.8 הראה שקו הבסיס שאחרי גלגול משלב שני חוזים באופן חלקי — זה המצב הרגיל, לא תקלה. הפער המרבי שנמדד בין שני חוזים ברי-בחירה באותו יום היה פי 1.86 (8.8) — מתחת לזרוע פי 3 — והחוזה הקרוב קרא גבוה יותר לאורך כל החלון, כך שערבוב מטה את החציון כלפי מעלה, כלומר לכיוון אי-הדלקה. זה כיוון בטוח, אבל זו תכונה אמפירית של מבנה העקום הנוכחי, לא ערובה — ולכן הערבוב מסומן בגלוי בערך המוצג במקום להיעלם בסדרה חלקה.
  • למה רצפת שיבוש ה-GPS מעל ישראל היא 18% ולא 5% של הורמוז (20.8.2026): לפני החיבור נמדדו 31 ימים אמיתיים (20.7–19.8.2026) עם ערכת 51 התאים המדויקת של המדד: היחס היומי נע בין 1.83% ל-17.25% בתוך חודש אחד בלי שום אירוע — בניגוד להורמוז, שם היה מעבר מדרגה חד ומתועד, מעל ישראל השיבוש לסירוגין הוא הרקע הקבוע. רצפת 5% של הורמוז, מושתלת כמות שהיא, הייתה נדלקת ב-29.7 (14.1% מול חציון 3.57%) על יום רגיל לגמרי. הרצפה נקבעה ל-18% — מעל כל המעטפת שנמדדה — ובהרצה לאחור על אותו חודש: 24 ימים נשפטו, אפס הדלקות, וההתקרבות הגדולה ביותר הייתה 79% מהסף (31.7). חודש רגוע שמייצר אפס התרעות הוא ההתנהגות הרצויה; המחיר, והוא נאמר ביושר: זינוק שנשאר מתחת ל-18% לא יידלק.

05 The exact thresholds

These are the numbers that actually run. They are published here so they can be audited — and so you can see what can, and cannot, light the page. The last column also carries each family's action/belief type (section 2): a level of 2 or higher requires at least one lit action family — belief families alone stop at level 1.

Updated 2026-09-01. Five families became context only: travel advisories, satellite thermal anomalies, Hormuz GPS interference, the markets and the prediction market. They are still measured, still stored and still listed below with their live thresholds — but they cast no vote, and their last column reads "context only". Since 2026-09-01 every voting family is typed action, so the action/belief guard is dormant: it stays in the code as a safety property in case a belief family is ever given a vote again.

The consequence on the Iran index, said plainly: it has two voting families left — Iranian internet (IODA) and regional military aviation (adsb.lol) — over two providers. Level 3 requires three separate providers, so the Iran index cannot reach level 3; its ceiling is 2, and the page says "of 2" rather than "of 3". The ceiling is derived in code from the voting roster and published in a max_level field, so it cannot drift from it.

IndicatorSourceWhat lights itWhich index
Defence policyHome Front Command (official API) A change of the instructions' wording against the stored baseline, and only in the restrictive direction: a move from "no restrictions" to restrictive guidance, or a change within an already-restrictive state. Change only — the mere existence of a restrictive policy lights nothing here; and a rewording that does not change the meaning, a relaxation, or wording we cannot classify are logged and never raise the level🇮🇱 Israel · action
Israeli airspaceadsb.lol civil aircraft < 35% of the median, on two consecutive checks; not judged when the median is < 20🇮🇱 Israel · action
Jordanian airspaceadsb.lol (two boxes that are unambiguously Jordan: 29.2–32.3°N 35.75–36.5°E and the strip 32.2–32.7°N 37.2–39.2°E — no Israeli traffic, no Saudi corridor) the sum of the last 3 checks (90 minutes) ≤ 3 aircraft; not judged when the median is < 5. If the raw 170 nm circle has itself fallen below half its own median, a degraded source is reported instead of a light🇮🇱 Israel · action
Travel advisories — Israel and neighboursUS State Department An advisory-level rise for Israel / Lebanon / Jordan / Syria — confirmed by two consecutive observations. The UK arm (FCDO, gov.uk) was removed from the code on 2026-08-31; this row went on describing it until 2026-09-01. Context only since 2026-09-01 — it casts no vote: what is read here is an announcement about risk, and Lebanon and Syria already sit at the top of the scale (4)— context only
Iranian internet (national)IODA · Georgia Tech merit-nt < 50% of the median. merit-nt is the only voting arm since 2026-09-01; BGP and ping-slash24 are measured and displayed but do not vote (BGP never fell under 94.5% of baseline in the June-2025 war; ping-slash24 was removed from the vote on 2026-09-01 after it was found to be the deafer of the two on a replay over the 96 stored samples)🇮🇷 Iran · action
Satellite thermal anomaliesNASA FIRMS · VIIRS (daily series — measured over the latest complete UTC day) n > max(3 × the preceding days' median, median + 5) · up to 30 days · no judgement with fewer than 7 days of history · a complete day older than 36 h = stuck source, not zero. Context only since 2026-09-01 — it casts no vote: thermal detection is damage assessment after an event, not before it, and the bar (>8 hotspots) sits above the highest count ever recorded (5, over 13 stored days)— context only
US embassy alerts — operational orders7 U.S. embassies in the region (Israel, Lebanon, Iraq, Bahrain, Kuwait, Qatar, UAE) An operational order to staff (travel restriction / shelter in place / authorized or ordered departure) within a 72-hour window — confirmed on two consecutive observations; rescission wording and routine alerts are excluded. At the six regional posts (outside Israel) a stricter rule applies: a consular-service suspension does not count there, because in the Gulf that wording usually means a holiday closure. Replaced "Travel advisories — Iran and the Gulf" on 2026-08-22: same provider (state_dept), so the swap keeps the provider's two-vote ceiling🇮🇱 Israel · action
GPS interference — Strait of Hormuzgpsjam.org (ADS-B-derived, daily) The daily ratio of aircraft reporting degraded GPS accuracy ≥ 3× the median of the preceding days (up to 30 days), and at least 13% in absolute terms, and never more than 8% above the highest ratio observed in the series; a day with fewer than 1,000 observations is not judged. The cap was added on 2026-08-31, after three weeks of sustained jamming dragged the median up until the 3× arm demanded 31.5% — more than double the highest value ever observed (14.4%). Recalibrated 2026-09-01: the pair (5% floor, 15% cap) still left an effective bar of 16.6% — above the all-time high — while simultaneously producing 5 firings across the 22 judged days on replay, all during the ordinary 10–14 August ramp. The new pair (13% / 8%) gives 0 firings on that same replay and lowers today's bar to 15.6%. The distribution (29 days): min 1.8% · median 10.4% · p90 13.3% · p95 14.1% · max 14.4%.
The downward direction — a watched signal, not a voting indicator (2026-09-01): on 29 and 30 Aug 2026 the ratio fell to 0.27x and 0.32x of its own median — the largest deviation anywhere in the series, in either direction — within days of the strike on Larak Island and the ballistic salvo at bases in Jordan. No rule was watching that direction. Since 2026-09-01 a fall to 0.35x the median or below is flagged next to the row, but it casts no vote and changes no level: n = 1, and a fall can also be thinning aircraft coverage — the ratio is aviation-derived — rather than a jammer being switched off. There is no second source to separate the two, so it is labelled low confidence. Context only since 2026-09-01 — it casts no vote: this is a Gulf/maritime signal, genuinely leading as a mechanism but outside the question this page asks. Its anchor and its ratchet keep publishing on the Iran panel — they are the only mechanism here that tracked a real regime change
— context only
GPS interference — Israeli airspacegpsjam.org (the same daily file — one download serves both GPS indicators; 51 H3 resolution-4 cells over 29.4–33.4°N, 34.2–36.0°E) The daily ratio ≥ 3× the median of the preceding days (up to 30 days), and ≥ 18% in absolute terms. The floor was derived from a measurement of 31 real days (20 Jul–19 Aug 2026) with this exact cell set: minimum 1.83%, median 5.73%, maximum 17.25% — intermittent jamming is the standing background over Israel, so the floor sits above that whole envelope (Hormuz's 5% floor, transplanted unchanged, would have fired on 29 Jul on an ordinary day). Backtested on that same month: 24 days judged (the first 7 are warm-up), zero firings, closest approach 79% of threshold on 31 Jul. A day with fewer than 500 observations is not judged (the measured minimum: 1,929). The same 2026-08-31 cap applies here too: the threshold is never more than 15% above the highest ratio observed in the series.
Recalibrated 2026-09-01 — the floor came down from 18% to 12%. 18% sat above the highest value the source has ever produced (17.25%, 2026-08-04), and because the rule takes the higher of the two arms, that floor overrode the adaptive arm on every run — the family could not fire even on a repeat of its own worst day. 12% sits just under the measured 95th percentile (12.2%) and above the 90th (11.5%), putting today's effective threshold at 13.98%, below the historical maximum. Replay over the 23 judged days in the store: 0 firings, at every floor from 18% down to 10% — the change buys no false alarm.
The downward direction: the same rule as at Hormuz (0.35x the median or below), a watched signal only. Over Israel it is dormant right now: the median here is 4.7%, under the 5% activation floor. And on replay it flagged two ordinary quiet days (2026-08-11 and 08-18) with nothing attached to them — which is why it casts no vote
🇮🇱 Israel · action
Military aviation in the regionadsb.lol (box 12–40°N, 25–60°E) n > max(3 × median, 14), on two consecutive checks. Lowered from 20 on 2026-09-01: the old floor was 43% above the highest value ever measured (14), i.e. the indicator could not fire. The new floor equals that maximum, over 384 stored samples (median 3 · p90 8 · p99 13 · max 14). Replay over those samples: 0 firings at a floor of 14, the first at 12🌐 Regional — counts for both · action
Markets — Brent and the shekeltgju (Brent) · Bank of Israel (USD/ILS) Escalation direction only: Brent ≥ 108% of the median, or the USD/ILS rate ≥ 103% of the median (shekel weakening). Context only since 2026-09-01 — it casts no vote on either index, although it is displayed on both: a price reprices news that has already been published, and both bars (Brent ≥$97.9 · USD/ILS ≥3.08) sit above the highest values in the live window (93.879 · 3.012) — context only
Prediction market — ceasefirePolymarket (the event "Israel x Iran ceasefire continues through...?", ~$26M volume; resolution criterion — an air or missile strike by either side on the other, bidirectional) The implied daily hazard h = 1 − (1 − p)^(1/days remaining) — never the raw price, which falls on its own as the horizon shortens — ≥ 3× the median of the preceding days (up to 30), and ≥ 2% per day in absolute terms; not judged with fewer than 7 days of prior history. The nearest-expiry open sub-market with ≥21 days to expiry is selected (closer in, the 0.005 minimum price tick is ~11% of the measurement and worse); liquidity < $20K, a bid/ask spread > 0.05 or a spread missing from the API response → the indicator reports as unread, not as zero. After a roll to the next contract the baseline temporarily spans two contracts — this is flagged in the displayed value and judging continues (the measured rationale is later in this section). Context only since 2026-09-01 — it casts no vote on either index, although it is displayed on both: a bettor with no private information reads the same headlines, and the bar (2% per day) sits above the highest value ever recorded (0.87% per day, over 26 stored days) — context only
Israeli NOTAMs — airspace closuresbrin.iaa.gov.il Lights nothingcontext only since 2026-09-01, and it casts no vote. The page is read at most once an hour and cached (~1.21MB a read; reading it every cycle would be ~58MB a day off a government host). Measured: the number of active notices, how many carry CLSD, how many close at a wide scope (AD CLSD, or ATS RTE ... CLSD, or CLSD TO ALL [DOM] FLT), and how many ids appeared/disappeared since the previous read. Presence is not change — on a single measurement on 2026-09-01 there were 106 notices and 57 with a closure, mostly routine: 21 drones, 12 runways, and all four aerodrome closures annotated DUE WIP. Fails closed: a Radware block (a captcha page at HTTP 200), a truncation, a page that is not the NOTAM page, fewer than 20 ids, or a CLSD count that does not reconcile with the page — each marks the family unread, never quiet No baseline yet — 30 days of hourly readings and at least one airspace event inside them
StrikeRadarusstrikeradar.com Lights nothing — context only

Rules in the table that come from real failure or real measurement, not from theory:

  • Why travel advisories require two observations: the State Department's RSS feed is not stable between requests. Measured seconds apart, one request returned 229 items and the other 216, with a completely different body length for the same country. A single read of this feed manufactures "changes" that never happened — and it produced two false alarms before the rule was hardened. Since then only the advisory level from the title is read from it, which is stable.
  • Why the Jordan indicator is judged on a sum rather than a single value (23 Aug 2026): coverage over Jordan is real but thin — a live measurement on 17 Aug 2026 counted 7, 4 and 2 aircraft within a quarter of an hour, against ~80 over Israel at the same moment. At counts like these a relative drop alone is statistical noise, so the rule carried three separate guards: 35% of the median, an absolute ≤2 ceiling, and the 10th percentile of its own history, on two consecutive checks. Measurement over 5.1 continuous days showed that two of them did nothing at all: the rolling median was exactly 5.0 in every window measured, so the 35% test already forced ≤1 aircraft — the ceiling of 2 never once acted — and the percentile stood at 2 or 3 in every window, meaning it had never blocked anything either. All three were replaced by one number: the sum of the last 3 checks ≤ 3. The choice was made on false alarms and detection power together — ranking by quiet alone picks the deaf rule: a candidate three times quieter turned out to be deafer than the old rule at every closure intensity, and was rejected. Across the whole measured history the 3-check sum never fell below 5. The pooled test also catches mixed patterns such as 1,0,2 that a consecutive-run rule structurally misses. The price, stated honestly: a sustained drop to 2 aircraft — roughly 60% of the traffic — is undetectable under every calibration tested, including the old one. That is a signal limit at these counts, not a bug, and the indicator is presented as such.
  • The coverage-health guard (23 Aug 2026): the only false positive actually observed in the field was not statistical noise but a feed fault: on 19 Aug 2026 the Israel and Jordan indicators lit together, 89 minutes after all three adsb families had returned errors. Both sit on one source, so no amount of consecutive-check confirmation defends against it — such a fault persists across runs by its nature. Since then, when Jordan looks empty and the raw circle as a whole has fallen below half its own median, the indicator reports a degraded source instead of lighting: a closure and a feed dropout are identical at that moment, and admitting so beats attributing wrongly.
  • Why the Israel indicator was given the same two guards (18 Aug 2026): until then it lit on a single observation of a drop below 35% of the median — no percentile floor, no confirmation. The stored 48 h window already holds an anomalous sample of 33 aircraft against 54–68 in the same hour. At night, when the median is itself low, one bad sample is enough to wake a human at 03:00. So it now also requires a value below the 10th percentile of its own history, confirmed on two consecutive checks. The 10th-percentile arm was removed again on 1 Sep 2026: the same check that was run for Jordan was finally run here too, and it showed the guard had never once bound. Israeli civil traffic runs 41–127 with a median near 76, so 35% of the median is about 27 while the 10th percentile sits near 60 — the first condition is always the lower bar and therefore already implies the second. Across 89 of 89 judged windows the percentile blocked nothing. The threshold shown on the page did not change, because it was the minimum of the two all along. What was deliberately not copied from Jordan: the absolute "≤2 aircraft" ceiling Jordan carried at the time. That is calibrated to a 5–15 aircraft feed; at Israel's scale (median 78) it could only ever cause misses. (Jordan itself dropped that ceiling on 23 Aug 2026, once it was measured to be dead code — see the Jordan indicator section.)
  • Why the military-aviation threshold was raised (18 Aug 2026): the old rule, n > max(2×median, median+8), fired at a median of 4 from just 12 aircraft — only 2 above the top of the "normal range 1–10" the page itself prints on that very row. Replayed over the 96 stored samples it fired four times on entirely ordinary data (10 against a median of 1, 13 against 2, 11 against 2, 14 against 4), and the run log shows three 🟡 notifications inside four hours. The feed swings with the time of day, so a daytime cluster measured against a night-lull median manufactures a "surge" out of nothing. The measured distribution: median 4, p90 = 10, p95 = 11, p99 ≈ 13.05, max = 14. The new absolute floor of 20 sits 43% above the highest value ever measured, the multiplier rose from 2× to 3×, and two consecutive checks are now required. On the same replay the new rule fired zero times.
  • The baseline is frozen while an indicator is lit (18 Aug 2026): every median rule here is measured against the last 96 samples (~48 h) — and that window used to include the event itself. Worked from live data: the Israeli-airspace median is 78, so the threshold is 27. If traffic collapses to 20 and stays there, after about 24 hours the rolling median is ≈26.5 and the threshold ≈9.3 — and the indicator goes out while the collapse is still happening, and the page returns to 🟢 calm. A system sold as a 1–3 day preparation layer cannot have baselines that dissolve inside a 1–3 day event. So a lit family stops feeding its own series and is judged against the pre-event baseline. The hold is capped at 144 samples = 72 hours — longer than the 48 h window and longer than the 1–3 day horizon the page promises — and when it expires that is shown on the indicator's row and alerted, because an indicator lit continuously for three days is either a very unusual event or a stuck feed.
  • Why the prediction market is judged on daily hazard, not on the price (20 Aug 2026): a fixed-date contract's price falls even when nothing happened, simply because the horizon shortens. Measured on the August-31 contract: the raw "No" price fell 13× in a month (0.605 → 0.045) — looking like dramatic de-escalation — while the normalized daily hazard, h = 1 − (1 − p)^(1/days), fell only 5.6× (2.22% → 0.39% per day). Real de-escalation existed, but more than half of the raw drop was a calendar artifact. The rule — 3× the median of the preceding days and ≥2% per day (equivalent to ~45% within a month) — was backtested on the real hourly series (743 points, 20 Jul–20 Aug) before wiring. Framed honestly: of the 32 dates in the window, 25 were judged — the first 7 days are the baseline warm-up, and that skipped stretch contains the tensest days of the window (23–24 July, ~3.3–3.5%/day, never judged: only 3–4 prior days existed then). Among the judged days the rule fired zero times; at the window's intraday peak — 1 August, 3.75%/day — it refused correctly: 3× the prior-days median (2.03%) stood at 6.09%/day. A genuinely calm month producing zero alerts is exactly the desired behaviour. On contract rolls: replaying the real roll of 11 Aug showed the post-roll baseline partially spans two contracts — the normal state, not a fault. The worst same-day spread measured between two selectable contracts was 1.86× (8 Aug) — under the 3× arm — and the nearer contract read higher throughout the window, so mixing biases the median up, i.e. toward NOT lighting. A safe direction, but an empirical property of the current term structure, not a guarantee — which is why mixing is flagged openly in the displayed value instead of vanishing into a smooth series.
  • Why the Israel GPS-interference floor is 18% and not Hormuz's 5% (20 Aug 2026): before wiring, 31 real days were measured (20 Jul–19 Aug 2026) with the indicator's exact 51-cell set: the daily ratio swung between 1.83% and 17.25% within a single month with no event at all — unlike Hormuz, which had one sharp, documented regime step, over Israel intermittent jamming is the standing background. Hormuz's 5% floor, transplanted unchanged, would have fired on 29 Jul (14.1% against a 3.57% median) on an entirely ordinary day. The floor was set at 18% — above the whole measured envelope — and backtested on that same month: 24 days judged, zero firings, the closest approach 79% of threshold (31 Jul). A calm month producing zero alerts is the desired behaviour; the price, stated honestly: a surge that stays under 18% will not light.

06 הבסיס ההיסטורי

בחירת המדדים לא נעשתה לפי תחושה, אלא לפי בדיקה של שלושה סבבים אמיתיים: מה בפועל זז לפני האירוע, ומה רק הגיב אחריו. זה גם המקום להיות ישרים לגבי גודל המדגם — שלושה אירועים.

APRIL 2024

מטח הכטב"מים והטילים האיראני על ישראל · ליל 13–14 באפריל

  • T‑12 ימים — התקיפה במתחם הקונסוליה האיראנית בדמשק (1 באפריל) יצרה חובת תגמול מוצהרת ופומבית. מאותו יום היה "חלון פתוח".
  • T‑7 ימים — לופטהנזה השעתה טיסות לטהרן החל מ-6 באפריל, והאריכה את ההשעיה — כולל הימנעות ממרחב אווירי איראני — עוד לפני המטח. זו פעולה שעולה כסף, ולכן היא נספרת כאן.
  • T‑1 יום — אזהרה רשמית מפורשת: ב-12 באפריל נאמר שהתקיפה צפויה "מוקדם מאוחר יותר".
זמן התרעה מרבי מנתונים ציבוריים: ~שבוע
מקורות (נבדקו 16.8.2026): US News · Times of Israel
OCTOBER 2024

מטח הטילים הבליסטיים · 1 באוקטובר, ~19:30 שעון ישראל

  • הקשר, T‑1 עד T‑4 ימים — חיסול נסראללה ב-27 בספטמבר והמבצע הקרקעי בלבנון ב-30 בספטמבר פתחו חלון תגמול סביר — אבל בלי שום מבשר ציבורי ספציפי.
  • T‑שעות — בבוקר ובצהרי 1 באוקטובר הזהיר גורם אמריקאי בפומבי מפני מתקפת טילים "מיידית". השיגור הגיע באותו יום.
  • ממצא כן ולא נוח — שום פיד ציבורי אחר — תעופה, ספנות, נפט — לא זז מראש. זהו המקרה המהיר, והתקרה של מערכת כמו זו בו היא שעות, ורק דרך ערוץ האזהרה הרשמית.
זמן התרעה מרבי מנתונים ציבוריים: שעות
מקורות: CNBC · Defense News
JUNE 2025

המערכה הישראלית באיראן (מ-13 ביוני) והתקיפה האמריקאית (21–22 ביוני)

  • T‑~40 שעות — ב-11 ביוני הורתה מחלקת המדינה על עזיבת אנשי סגל לא-חיוניים משגרירות בגדד, ואושרה עזיבה וולונטרית של בני משפחות אנשי צבא בבחריין, כווית ואיחוד האמירויות. התקיפה החלה בשעות הראשונות של 13 ביוני. ממשלות לא מפנות אנשים סתם — זהו האות היקר החזק ביותר שנמצא.
  • נפט — עלה ביותר מ-4% ב-11 ביוני — כתגובה לחדשות הפינוי — ואת התזוזה הגדולה (~7%) עשה רק אחרי התקיפה. הנפט הוא נגזרת של המבשר, ולא מבשר בעצמו.
  • שיעור ההטעיה, 21 ביוני — אתרי מעקב טיסות הראו שישה מפציצי B-2 נעים מערבה לגואם. זו הייתה הסחה מכוונת; מטוסי התקיפה טסו מזרחה בלי מעקב. יומיים קודם נאמר שההחלטה תתקבל "בתוך שבועיים".
זמן התרעה מרבי מנתונים ציבוריים: ~40 שעות
מקורות: Al Jazeera · TWZ

דירוג משפחות האינדיקטורים לפי זמן התרעה מוכח

משפחהזמן התרעה שהודגםהערכה
פעולות הגנה רשמיות (פינוי שגרירויות, קפיצת רמת אזהרה) 1–3 ימים המשפחה הטובה ביותר. אות יקר, נדיר, ניתן לבדיקה אוטומטית.
אירוע מבני שפותח חלון (תקיפה, חיסול, חובת תגמול מוצהרת) ימים–שבועות לא אומר מתי, אומר "דרוך". ערך גבוה ליחידת התרעת שווא.
השעיות טיסה של חברות תעופה ימים–שבוע אות יקר. לעיתים נדלק גם על אי-שקט כללי.
אזהרה רשמית מפורשת "מתקפה מיידית" שעות–יום הדבר היחיד שהוביל את המקרה המהיר.
שוקי ניבוישעות–ימים, מזוהם חלקית הד לחדשות, חלקית — כפי שהתברר ב-2026 — מידע פנים. ראו סעיף 7.
מעקב תנועות צבאיות (OSINT)ימים, פגיע להטעיה עלול להצביע לכיוון הלא נכון במכוון.
נפט, ספנות, ביטוח ימיאחרי, או הד באותה שעה מאשש, לא מתריע.
נפח חדשות ומדדים משוקלליםבו-זמני בדיוק מה שהתכנון הזה נועד להפסיק להישען עליו.
המגבלה שלא ניתן לעקוף: שלושה אירועים היסטוריים אינם מדגם שמאפשר הסתברויות מכוילות. לכן הפלט של הדף הוא רמה קטגורית — ולעולם לא "68% סיכוי לתקיפה". כל מי שמציג אחוז כזה על בסיס נתונים ציבוריים עושה התאמת עקומה לשלוש נקודות.

06 The historical basis

The indicators were not chosen by feel, but by examining three real rounds: what actually moved before the event, and what only reacted after it. This is also the place to be honest about the sample size — three events.

APRIL 2024

The Iranian drone-and-missile barrage on Israel · night of 13–14 April

  • T‑12 days — the strike on the Iranian consulate compound in Damascus (1 April) created a declared, public obligation to retaliate. From that day there was an "open window".
  • T‑7 days — Lufthansa suspended Tehran flights from 6 April and extended the suspension — including avoiding Iranian airspace — before the barrage. That is an action that costs money, which is why it counts here.
  • T‑1 day — an explicit official warning: on 12 April the attack was said to be expected "sooner rather than later".
Maximum warning time from public data: ~a week
Sources (checked 16.8.2026): US News · Times of Israel
OCTOBER 2024

The ballistic-missile barrage · 1 October, ~19:30 Israel time

  • Context, T‑1 to T‑4 days — the killing of Nasrallah on 27 September and the ground operation in Lebanon on 30 September opened a plausible retaliation window — but with no specific public precursor.
  • T‑hours — on the morning and midday of 1 October a US official publicly warned of an "imminent" missile attack. The launch came the same day.
  • An honest and uncomfortable finding — no other public feed — aviation, shipping, oil — moved in advance. This is the fast case, and the ceiling for a system like this one in it is hours, and only through the official-warning channel.
Maximum warning time from public data: hours
Sources: CNBC · Defense News
JUNE 2025

The Israeli campaign in Iran (from 13 June) and the US strike (21–22 June)

  • T‑~40 hours — on 11 June the State Department ordered non-essential staff out of the Baghdad embassy, and voluntary departure was authorised for military families in Bahrain, Kuwait and the UAE. The strike began in the first hours of 13 June. Governments do not evacuate people for nothing — this is the strongest costly signal found.
  • Oil — rose more than 4% on 11 June — in reaction to the evacuation news — and made its big move (~7%) only after the strike. Oil is a derivative of the precursor, not a precursor itself.
  • The deception lesson, 21 June — flight-tracking sites showed six B-2 bombers moving west to Guam. It was a deliberate decoy; the strike aircraft flew east untracked. Two days earlier it had been said the decision would come "within two weeks".
Maximum warning time from public data: ~40 hours
Sources: Al Jazeera · TWZ

Indicator families ranked by demonstrated warning time

FamilyDemonstrated warning timeAssessment
Official protective actions (embassy evacuations, advisory-level jumps) 1–3 days The best family. A costly, rare, automatically checkable signal.
A structural event that opens a window (a strike, an assassination, a declared obligation to retaliate) days–weeks Does not say when, says "braced". High value per false alarm.
Airline flight suspensions days–a week A costly signal. Sometimes lights on general unrest too.
An explicit official "imminent attack" warning hours–a day The only thing that led the fast case.
Prediction marketshours–days, contaminated Partly an echo of the news, partly — as emerged in 2026 — inside information. See section 7.
Military-movement tracking (OSINT)days, vulnerable to deception Can point the wrong way on purpose.
Oil, shipping, marine insuranceafter, or a same-hour echo Confirms, does not warn.
News volume and weighted indicessimultaneous Exactly what this design was built to stop relying on.
The limit that cannot be worked around: three historical events are not a sample that supports calibrated probabilities. So this page's output is a categorical level — and never "a 68% chance of attack". Anyone showing such a percentage built on public data is fitting a curve to three points.

07 מה נבדק ונפסל

רשימת הדברים שלא נכנסו חשובה לא פחות מרשימת מה שכן — כי היא מראה איפה המערכת בחרה להצהיר "אני לא יודעת" במקום להציג מחוון ירוק.

  • מרחב אווירי איראני — אין בכלל כיסוי של מקלטי ADS-B מעל איראן. במדידה: 0 מטוסים מעל טהרן ומעל מרכז איראן, מול 96 מעל ישראל. לכן אין מקבילה איראנית למדד המרחב האווירי, והדף כותב זאת מפורשות במקום להציג מחוון שלא מודד כלום.
  • מדדי שוק (נפט, שער השקל) — נפסלו ב-16.8, חוברו ב-17.8. בחיפוש המקורי לא נמצא ערוץ נתונים (שירות המחירים החזיר 429 שוב ושוב — וגם בבדיקה חוזרת ב-17.8 הוא עדיין חסום). ערוץ מוכח נמצא במקום אחר: מחיר ברנט חי יושב בתוך הפיד של tgju — הצינור שהוכח במקור עבור משפחת הריאל, שנמחקה מאז — ושער הדולר-שקל היציג זמין ב-API הציבורי של בנק ישראל. שניהם אומתו בקריאות חיות מהשרת לפני החיבור. ההסתייגות מסעיף 6 נשארת בתוקף ומוצהרת: בסבבים שנמדדו הנפט הגיב ולא הקדים, ולכן המשפחה הזו היא בעיקר ערוץ אישור מהיר (תמחור מחדש בתוך שעות) ולא התרעה מוקדמת. הסף כיווני בכוונה — רק התייקרות נפט או היחלשות שקל מדליקות; ירידת נפט אינה אות הסלמה. מ-1.9.2026 המשפחה עברה להקשר בלבד ואינה מצביעה, ומה שהיא כן — ערוץ אישור — נכתב עכשיו במפורש ולא רק כשלילה. דוגמה מדודה, מתוך state.json, 1.9.2026: בשבע הדגימות הרצופות שבין 19:12 ל-22:12 שעון ישראל ברנט עלה מ-$92.52 ל-$94.98 — 2.7% בשלוש שעות — בעוד שער הדולר-שקל עמד על 3.012 בכל שבע. שתי הזרועות אינן באותו קצב: ברנט הוא ציטוט חי מהפיד של tgju, והשער היציג של בנק ישראל מתפרסם פעם ביום עסקים — ב-48 השעות השמורות הוא החליף ערך פעמיים בלבד (2.968, ואז 2.988, ואז 3.012), ושתי ההחלפות נראו באותה קריאה בדיוק, זו של 15:42. לכן הדממה של זרוע השקל באותו ערב אינה עדות לכך שהשוק לא תמחר סיכון לישראל — היא המספר של אותו יום, שנקבע לפני שהערב התחיל. שתי הזרועות מגיעות משני ספקים נפרדים ונקראות באותה ריצה, וזה כל מה שאפשר לומר עליהן יחד.
  • שוקי ניבוי (Polymarket) — נפסלו ב-16.8, חוברו ב-20.8 כמשפחה מצביעה, בצורה מנורמלת. ההסתייגויות המקוריות נשארות בתוקף ומוצהרות: הם הראו ~99% לתקיפה ישראלית לפני 13 ביוני 2025, אבל (א) עקבו בעיקר אחרי אותן חדשות פינוי פומביות; (ב) בפברואר 2026 התפרסם שישראלים בעלי גישה מסווגת הימרו בשווקים האלה — כלומר חלק מ"היתרון" היה מידע פנים, שאי אפשר לזהות ככזה בזמן אמת. מה שכן השתנה: נמצא אירוע שתנאי ההכרעה שלו כמעט זהה לשאלת הראדאר (תקיפה אווירית/טילית של צד אחד בשני, דו-כיווני, ~$26M מחזור), והמדידה עברה למחיר מנורמל לאופק — סיכון יומי גלום ולא מחיר גולמי — עם רצפת נזילות, רצפת אופק של 21 יום, והרצה לאחור על חודש המסחר האמיתי האחרון (25 ימים שנשפטו מתוך 32 בחלון — סעיף 05). עד 1.9.2026 זו הייתה משפחה מצביעה אבל ערוץ אישור, באותו מעמד שניתן למשפחת השווקים: כסף אמיתי, ספק נפרד באמת — אבל דעה, לא פעולה יקרה של מדינה. מ-20.8 המעמד הזה גם נאכף מבנית: המשפחה מסווגת "דעה", ומשפחות דעה לבדן — כמה שלא יידלקו יחד — נעצרו אז ברמה 1 (סעיף 2). ומ-1.9.2026 היא אינה מצביעה כלל: היא עברה להקשר בלבד יחד עם השווקים ואזהרות המסע. היא נמדדת ומוצגת, ואינה נספרת.
  • רטוריקת מנהיגים — הוצאה לחלוטין. ב-19 ביוני 2025 נאמר "החלטה בתוך שבועיים", והתקיפה הגיעה תוך יומיים. סיגנל שיכול להיות אנטי-מתואם עם האמת בדיוק ברגע הקריטי אינו סיגנל.
  • הודעות NOTAM לישראל — קיימות מ-1.9.2026, כהקשר בלבד. מה שנכתב כאן קודם — שאין בכלל ערוץ NOTAM — התברר ב-1.9.2026 כלא נכון לחצי הישראלי: דף שירות המידע התעופתי של רשות שדות התעופה (brin.iaa.gov.il/aeroinfo) פתוח לגמרי — HTTP 200, כ-1.21MB, 106 מזהי NOTAM ו-57 מופעי CLSD במדידה חיה באותו יום, בלי קפצ'ה, עוגייה, מפתח או הרשמה. הסקר של 17.8 בדק "gov.il CAA" וקיבל 403, ומעולם לא ניסה את שרת רשות שדות התעופה. המשפחה נוספה כהקשר בלבד, בלי קול, עד שיהיה לה קו בסיס נמדד — סעיף 05. הפער שנשאר הוא NOTAM לאיראן ולאזור, והוא נשאר בדיוק כפי שנבדק:
  • הודעות NOTAM לאיראן ולאזור — האות האיכותי ביותר שאין לנו: מדינה שמפרסמת NOTAM וסוגרת מרחב אווירי עושה צעד יקר וקשה לזיוף. נבדק לעומק פעמיים (16.8 ו-17.8): כל ערוץ חינמי שנבדק חסום מהשרת — מערכות ה-NOTAM של ה-FAA מחזירות 403/401, שירות הנתונים של ICAO דורש מפתח, autorouter דורש חשבון, אתרי ה-AIS של איראן אינם נפתרים ב-DNS, ו-EAD האירופי דורש התחברות. אתר אחד שמציג "סטטוס NOTAM" לאיראן התברר בבדיקה כשדה שמעודכן ידנית על ידי מפעיל האתר, כלומר לא מקור נתונים בכלל. מוצהר כפער בעמוד הראשי, לא ממולא בניחוש. סגירת מרחב אווירי נתפסת בעקיפין דרך מדד המטוסים בפועל.
  • הודעות NOTAM/AIS לירדן — אין מקור ציבורי כלל. נבדק ב-1.9.2026, אחרי הערב שבו הדף הראה 0 בשני המדדים בזמן שדווח על שיגורים לעבר ירדן: לרשות התעופה האזרחית הירדנית (CARC) אין מארח AIS/NOTAM נגיש — www.carc.jo, ais.carc.jo, aim.carc.jo והדומיין עצמו, כולם מחזירים NXDOMAIN מהשרת הזה. הפער הזה נרשם בנפרד מפער ה-NOTAM האיראני מפני שהוא חמור יותר בפועל: מדד המרחב האווירי הירדני הוא משפחה מצביעה, כך שהדף סופר מטוסים מעל ירדן ואינו יכול לקרוא ולו הודעה ירדנית אחת על אותו מרחב. מוצהר, לא ממולא בניחוש.
  • תנועת ספנות (AIS) במצר הורמוז — עדיין ללא ערוץ: UKMTO חסום, ה-API של NGA עונה 200 אבל ההודעה החדשה ביותר בו היא ממאי 2024 (פיד זומבי — גרוע משגיאה נקייה, ולכן נפסל במפורש), ושירותי AIS דורשים מפתחות. מוצהר כפער.
  • רמות שיבוש GPS — נפסל ב-16.8, חובר ב-17.8 עם קו בסיס אמיתי. נמצא ערוץ ציבורי מוכח: gpsjam.org מפרסם קובץ יומי של תאי רשת עם מספר המטוסים שדיווחו דיוק GPS תקין מול ירוד. לפני החיבור נמדדו 14 ימים אחורה סביב מצר הורמוז (227 תאים, 24–28.5°N): כ-17–21 אלף תצפיות מטוסים ביום, יחס שיבוש של 1.8–3.2% עד 8.8, וקפיצה ל-10.5–13.3% מ-9.8 ואילך — בדיוק צורת המעבר שהכלל נועד לתפוס, והיא כבר חלק מקו הבסיס השמור. ההסתייגות המקורית נשארת כתובה: אין תיעוד מאומת של הובלה לפני אירוע, המדד נגזר מתעופה ולא מספנות, והוא מסומן ככזה בעמוד. ב-20.8 הורחב אותו קובץ יומי למשפחה שנייה — שיבוש GPS מעל מרחב ישראל (51 תאים, ספים משלה שנגזרו ממדידת 31 יום — סעיף 05) — בלי הורדה נוספת: קריאה אחת ביום משרתת את שני המדדים, והם מסומנים כספק אחד במסנן גיוון-הספקים.

07 What was tested and rejected

The list of what was left out matters no less than the list of what went in — because it shows where the system chose to declare "I don't know" instead of showing a green dial.

  • Iranian airspace — there is no ADS-B receiver coverage over Iran at all. Measured: 0 aircraft over Tehran and over central Iran, against 96 over Israel. So there is no Iranian counterpart to the airspace indicator, and the page says so explicitly instead of showing a dial that measures nothing.
  • Market indicators (oil, the shekel rate) — rejected on 16.8, wired on 17.8. The original search found no data channel (the price service returned 429 again and again — and on a 17.8 retest it is still blocked). A proven channel was found elsewhere: a live Brent price sits inside tgju's feed — the transport originally proven for the rial family, since deleted — and the representative USD/ILS rate is available from the Bank of Israel's public API. Both were verified with live calls from the server before wiring. The reservation from section 6 stands, and is declared: in the rounds that were measured, oil reacted rather than led, so this family is mainly a fast confirmation channel (a repricing within hours), not early warning. The threshold is directional on purpose — only oil rising or the shekel weakening lights it; falling oil is not an escalation signal. Since 2026-09-01 the family is context only and casts no vote, and what it positively IS — a confirmation channel — is now written out rather than left as a negation. A measured example, straight out of state.json, 2026-09-01: across the seven consecutive readings from 19:12 to 22:12 Israel time, Brent rose from $92.52 to $94.98 — 2.7% in three hours — while USD/ILS read 3.012 in all seven. The two arms do not run at the same speed: Brent is a live quote off tgju's feed, while the Bank of Israel's representative rate publishes once a business day — over the 48 hours retained it changed value exactly twice (2.968 → 2.988 → 3.012), and both changes appeared at the very same 15:42 reading. So the stillness of the shekel arm that evening is not evidence that the market declined to price a risk to Israel; it is that day's number, fixed before the evening began. The two arms come from two separate providers and are read in the same run, and that is the whole of what can be said about them together.
  • Prediction markets (Polymarket) — rejected on 16.8, wired on 20.8 as a voting family, in normalized form. The original reservations stand and are declared: they showed ~99% for an Israeli strike before 13 June 2025, but (a) they mostly tracked the same public evacuation news; (b) in February 2026 it was reported that Israelis with classified access had bet in these markets — meaning part of the "edge" was inside information, which cannot be identified as such in real time. What changed: an event was found whose resolution criterion is a near-exact match for this radar's question (an air/missile strike by either side on the other, bidirectional, ~$26M volume), and the measurement moved to a horizon-normalized figure — an implied daily hazard, never the raw price — with a liquidity floor, a 21-day horizon floor, and a backtest over the last real month of trading (25 judged days of the 32 in the window — section 05). Until 2026-09-01 it was a voting family but a confirmation channel, with the same standing the markets family has: real money, a genuinely separate provider — but a belief, not a costly state action. Since 20 Aug that standing is also enforced structurally: the family is typed "belief", and belief families alone — however many light together — were capped at level 1 by that rule (section 2). And since 2026-09-01 it casts no vote at all: it moved to context only alongside the markets and the travel advisories. It is measured and displayed, and it is not counted.
  • Leader rhetoric — removed entirely. On 19 June 2025 the line was "a decision within two weeks", and the strike came within two days. A signal that can be anti-correlated with the truth at exactly the critical moment is not a signal.
  • Israeli NOTAMs — we have had these since 2026-09-01, as context only. What used to stand here — that there is no NOTAM channel at all — turned out on 2026-09-01 to be wrong about the Israeli half: the Israel Airports Authority's Aeronautical Information Service page (brin.iaa.gov.il/aeroinfo) is completely open — HTTP 200, ~1.21MB, 106 NOTAM ids and 57 CLSD occurrences on a live fetch that day, with no captcha, cookie, key or registration. The 17.8 survey tested "gov.il CAA" and got a 403, and never tried the Airports Authority host. The family was added as context only, with no vote, until it has a measured baseline — section 05. The gap that remains is NOTAMs for Iran and the region, and it stands exactly as tested:
  • NOTAMs for Iran and the region — the best-quality signal we do not have: a state that issues a NOTAM and closes airspace is taking a costly, hard-to-fake step. Tested in depth twice (16.8 and 17.8): every free channel tested is blocked from the server — the FAA's NOTAM systems return 403/401, ICAO's data service requires a key, autorouter requires an account, Iran's AIS sites do not resolve in DNS, and Europe's EAD requires a login. One site that displays a "NOTAM status" for Iran turned out, on inspection, to be a field updated manually by the site's operator — that is, not a data source at all. Declared as a gap on the main page, not filled with a guess. Airspace closure is caught indirectly through the actual-aircraft indicator.
  • NOTAMs/AIS for Jordan — there is no public source at all. Checked 2026-09-01, after the evening the page showed 0 on both indices while launches toward Jordan were being reported: Jordan's Civil Aviation Regulatory Commission (CARC) has no reachable AIS/NOTAM host — www.carc.jo, ais.carc.jo, aim.carc.jo and the apex domain itself all return NXDOMAIN from this server. This gap is recorded separately from the Iranian NOTAM gap because in practice it bites harder: the Jordanian airspace indicator is a voting family, so the page counts aircraft over Jordan and cannot read a single Jordanian notice about that same airspace. Declared, not filled with a guess.
  • Ship traffic (AIS) in the Strait of Hormuz — still no channel: UKMTO is blocked, NGA's API answers 200 but its newest message is from May 2024 (a zombie feed — worse than a clean error, and rejected explicitly for that), and AIS services require keys. Declared as a gap.
  • GPS-interference levels — rejected on 16.8, wired on 17.8 with a real baseline. A proven public channel was found: gpsjam.org publishes a daily file of grid cells with the number of aircraft that reported good vs degraded GPS accuracy. Before wiring, 14 days were measured back around the Strait of Hormuz (227 cells, 24–28.5°N): roughly 17–21 thousand aircraft observations per day, an interference ratio of 1.8–3.2% until 8.8, and a jump to 10.5–13.3% from 9.8 onward — exactly the shape of transition the rule is built to catch, and it is already part of the stored baseline. The original reservation stays on record: there is no verified documentation of it leading before an event, the indicator is derived from aviation rather than shipping, and it is labelled as such on the page. On 20.8 the same daily file was extended to a second family — GPS interference over Israeli airspace (51 cells, its own thresholds derived from a 31-day measurement — section 05) — with no additional download: one fetch a day serves both indicators, and they are tagged as one provider in the provider-diversity guard.

08 כללי היושרה של הדף

ארבעה כללים שנאכפים בקוד, ולא רק מוצהרים:

  • קו בסיס לפני התרעה. כלל שמבוסס על חציון אינו פעיל עד שנצברו 12 דגימות. עד אז הוא לא יכול להידלק — וגם לא מתיימר.
  • נוכחות אינה שינוי. המערכת מתריעה על סטייה מקו בסיס, לא על עצם קיומו של ערך. (הכלל הזה נולד מהתרעת שווא: חיפוש הביטוי "ordered departure" בכל הפיד נדלק על שבע מדינות לא קשורות, שנושאות אותו כטקסט קבוע.) ב-18.8.2026 נמצא שהקוד עצמו הפר את הכלל במקום אחד — מדד מדיניות ההתגוננות נדלק גם על נוכחות של נוסח מגביל, וזה המדד היחיד שמספיק לבדו לרמה 3 — והתיקון בוצע. כעת הוא נדלק על שינוי בלבד. מגבלה שנובעת מכך, ונאמרת במפורש: מדיניות מגבילה שהייתה כבר בתוקף כשקו הבסיס נשמר לראשונה אינה מדליקה דבר. היא מוצגת בשורת המדד ("הנחיות מגבילות בתוקף"), אבל אינה מעלה רמה.
  • מקור שנפל מוצג כאזהרה, לא כשקט. זו נקודה קריטית: מדד שלא נקרא אינו יכול להידלק, ולכן תקלה בפיד גורמת לדף להיראות רגוע יותר מהמציאות. לכן כשמקור נופל מופיעה הודעה מפורשת ש"ייתכן שהרמה מדווחת בחסר".
  • נתונים ישנים מסומנים. מעל 90 דקות ללא עדכון — סימון כתום; מעל 12 שעות — המחוונים מאפירים לגמרי. עדיף דף שמודה שהוא לא יודע.

מה ש-0 אומר — ומה שאינו אומר (1.9.2026)

ארבעת הכללים שלמעלה נאכפים בקוד. מה שלמטה אינו כלל אלא עובדה על רשימת המקורות, והיא נכתבת כאן כי בערב ה-1.9.2026 שני המדדים הראו 0 בזמן שדווח על שיגורים לעבר ירדן. ה-0 היה נכון — אף מדד לא זז — והוא גם היה בלתי-קריא, כי "0 מפני שהשקט אמיתי" ו"0 מפני שהמכשירים האלה אינם רואים את זה" נראים על הדף בדיוק אותו הדבר.

רמה 0 אומרת דבר אחד: אף טריפ-ווייר מצביע לא חצה את הסף שלו. זו אמירה צרה יותר ממה שנכתב כאן קודם: מדד יכול לזוז הרבה בלי לחצות, ומשפחות הקשר אינן נספרות בכלל. היא אינה טענה שלא קורה כלום. ובפרט: שיגור טילים או מטח אינם נראים באף אחד מהמקורות החינמיים שהדף הזה קורא. מעל איראן אין כיסוי מקלטי ADS-B כלל, ומעל ישראל אותו ערוץ סופר מטוסים אזרחיים באוויר ולא גופים בטיסה בליסטית; זיהוי תרמי מלוויין נמדד על יום ה-UTC המלא האחרון בלבד — פיגור של יממה, והוא הערכת נזק אחרי פגיעה; קובצי שיבוש ה-GPS יומיים ומתפרסמים בפיגור של כיום; מחירים זזים רק אחרי שהידיעה ציבורית, והשער היציג של בנק ישראל מתפרסם פעם ביום עסקים. הערוץ המהיר ביותר ברשימה, קישוריות האינטרנט של איראן, נדגם בכל ריצה — אבל הוא מודד אם מדינה מחוברת, לא אם משהו שוגר.

המסקנה המעשית, בלי התנצלות ובלי הבטחה: 0 כאן פירושו "החיישנים האלה שקטים", ולא "השמיים שקטים". שכבת ההתארגנות שהדף מודד נמדדת בימים; להתרעה על שיגור יש מקור מחייב אחד, והוא פיקוד העורף.

08 The page's honesty rules

Four rules enforced in code, not merely declared:

  • Baseline before alerting. A median-based rule is not active until 12 samples have accumulated. Until then it cannot light — and does not pretend it could.
  • Presence is not change. The system alerts on deviation from a baseline, not on the mere existence of a value. (This rule was born from a false alarm: searching the whole feed for the phrase "ordered departure" lit on seven unrelated countries that carry it as standing text.) On 18 Aug 2026 the code was found to be breaking this rule in one place — the defence-policy indicator also lit on the mere presence of restrictive wording, and it is the one indicator that is sufficient alone for level 3 — and that was fixed. It now lights on change only. The limitation that follows, stated plainly: a restrictive policy that was already in force when the baseline was first stored lights nothing. It is displayed on the indicator's row ("restrictive guidance in effect") but it does not raise a level.
  • A failed source is shown as a warning, not as quiet. This is the critical point: an indicator that was not read cannot light, so a feed failure makes the page look calmer than reality. That is why, when a source fails, an explicit notice appears that "the level may be under-reported".
  • Stale data is marked. Over 90 minutes without an update — an amber mark; over 12 hours — the dials grey out entirely. Better a page that admits it does not know.

What a 0 means — and what it does not (2026-09-01)

The four rules above are enforced in code. What follows is not a rule but a fact about the roster, written here because on the evening of 2026-09-01 both indices read 0 while launches toward Jordan were being reported. The 0 was correct — no voting tripwire crossed its threshold — and it was also unreadable, because "0 because it is quiet" and "0 because these instruments cannot see this" render identically on the page.

Level 0 says one thing: no voting tripwire crossed its threshold. That is narrower than what this page said at first: an indicator can move a long way without crossing, and context families are not counted at all. It is not a claim that nothing is happening. Specifically: a missile launch or a salvo is not visible in any of the free data sources this page reads. Over Iran there is no ADS-B receiver coverage at all, and over Israel that same channel counts civil aircraft in the air rather than bodies on a ballistic trajectory; satellite thermal detection is measured over the newest complete UTC day only — about a day behind, and it is damage assessment after an impact; the GPS-interference files are daily and are published about a day behind; prices move only once the news is public, and the Bank of Israel's representative rate publishes once a business day. The fastest channel on the roster, Iranian internet connectivity, is sampled every run — but it measures whether a country is online, not whether something was launched.

The practical consequence, with no apology and no promise: a 0 here means "these sensors are quiet", not "the sky is quiet". The preparation layer this page measures is measured in days; for a launch warning there is one authoritative source, and it is the Home Front Command.

09 גילוי נאות: פיתוח בעזרת כלי AI

המתודולוגיה שבעמוד הזה, ניתוח הסבבים הקודמים והקוד שמריץ את הראדאר פותחו בעזרת כלי בינה מלאכותית, בעבודה משותפת עם מפעיל אנושי.

ההצהרה הזו מופיעה כאן כי היא רלוונטית לשאלה "כמה אפשר לסמוך על זה", ולא כדי לצאת ידי חובה. לכן גם הפירוט:

מה זה אומר בפועל

  • סקירת האירועים ההיסטוריים, דירוג משפחות האינדיקטורים והביקורת על מודל משוקלל — נעשו בעזרת כלי AI, מול מקורות פומביים שקושרו בסעיף 6.
  • הספים המספריים נגזרו ממדידה של הפידים עצמם (התפלגות, חציון, אחוזונים), ולא מהערכה של מודל שפה. איפה שהתבססנו על מדידה — היא מצוינת בעמוד עם תאריך. ומה שזה לא אומר: הספים הם גבולות חריגה שנמדדו בתקופות רגועות, ולא מנבאי תקיפה שאומתו מול תקיפות. אף סף כאן לא נבחן מול שיגור אמיתי, ואי אפשר לבחון אותו עד שיקרה.
  • כל מקור נבדק בקריאה חיה מהשרת לפני שחובר, ומקורות שלא ענו — לא חוברו.

מה זה לא אומר

  • אין כאן מודל למידה שמנבא אירועים, ואין אימון על נתונים היסטוריים. ההחלטה בפועל היא שרשרת כללים פשוטה וקריאה, שכל אחד מהם מפורט בעמוד הזה. אין רכיב שאי אפשר להסביר.
  • אין שימוש במודל שפה בזמן ריצה כדי לקבוע רמה. ההרצה כל 30 דקות היא אריתמטיקה על מספרים, לא שיפוט של מודל.
  • אין גישה למידע מסווג, ואין קשר לגורם רשמי כלשהו. כל מקור בעמוד הזה הוא פומבי, וכולם רשומים בשמם.
למה בכלל לפרסם מתודולוגיה: מדדי הסלמה אחרים ברשת הם קופסה שחורה — אי אפשר לדעת מה מזיז אותם, ולכן אי אפשר לדעת מתי לא להאמין להם. עמוד כזה הופך את הדף לבר-ביקורת: אם סף כאן נראה שגוי, אפשר להצביע עליו בדיוק.
ולסיום, שוב: זהו פרויקט פרטי, לא גורם רשמי, ואין להסתמך עליו לקבלת החלטות בטיחות. המקור המחייב היחיד הוא פיקוד העורף — תמיד.

09 Disclosure: developed with AI tools

The methodology on this page, the analysis of the previous rounds and the code that runs the radar were developed with artificial- intelligence tools, working jointly with a human operator.

This statement appears here because it is relevant to the question "how much can this be trusted", not to tick a box. Hence the detail:

What this means in practice

  • The review of the historical events, the ranking of indicator families and the critique of a weighted model — were done with AI tools, against the public sources linked in section 6.
  • The numeric thresholds were derived from measuring the feeds themselves (distribution, median, percentiles), not from a language model's estimate. Wherever a measurement was relied on — it is noted on the page with a date. What that does not mean: the thresholds are anomaly bounds measured over quiet periods, not attack predictors validated against attacks. No threshold here has ever been tested against a real launch, and none can be until one happens.
  • Every source was checked with a live call from the server before it was wired, and sources that did not answer — were not wired.

What this does not mean

  • There is no learning model predicting events here, and no training on historical data. The actual decision is a simple, readable chain of rules, each of which is spelled out on this page. There is no component that cannot be explained.
  • No language model is used at runtime to set the level. The 30-minute run is arithmetic on numbers, not a model's judgement.
  • There is no access to classified information, and no connection to any official body. Every source on this page is public, and all are listed by name.
Why publish a methodology at all: other escalation indices online are a black box — you cannot know what moves them, so you cannot know when not to believe them. A page like this makes the radar auditable: if a threshold here looks wrong, it can be pointed at precisely.
And finally, once more: this is a private project, not an official body, and it must not be relied on for safety decisions. The only binding source is the Home Front Command — always.
← חזרה למצב הנוכחי בראדאר← Back to the current radar state
Last methodology update: 2026-09-02