{
"protocol": "GEOID/4 検証プロトコル",
"version": "v1",
"spec": "GEOID/4 仕様書 v1.0（2026-08-12）§5",
"sealed_for": "Phase 0 完了条件『指標定義・ベースライン・比較設計がハッシュ封印済み。現在進行中の台風に間に合わせる』",
"canonicalization": "このファイルのバイト列そのものを対象に SHA-256 を取る。整形し直したら別物になる。",
"注意": "封印後は一切変更しない。変更が要る場合は v2 を新規に封印し、v1 は残す。",

"事前登録の原則": [
 "比較対象・評価指標・検証期間は、出力の前に確定・封印する（仕様書 §5.2）",
 "外れた予測も含め、一件も削除しない（全件保存）",
 "比較は『同じ発表時刻』同士でのみ行う（同時刻性）",
 "全記録をハッシュチェーンで封印する（改ざん不能）",
 "入力・モデル構成・コードのハッシュを公開し、再現可能にする（第三者再現性）"
],

"ベースライン": [
 {"id":"BL-1","名":"気象庁 発表値（台風進路・強度）","入手":"気象庁 bosai typhoon JSON（forecast/specifications）","状態":"取得中。2026-08-12 12:07 JST から5分ごとに保存"},
 {"id":"BL-2","名":"気象庁 数値予報GPV（GSM／MSM）","入手":"気象業務支援センター","状態":"未契約。★仕様書 R2 の未確認事項。取得できるまで比較に含めない"},
 {"id":"BL-3","名":"気象庁 アンサンブル予報","入手":"同上","状態":"未契約"},
 {"id":"BL-4","名":"単純永続予測（persistence）","入手":"BL-1 から自動生成","状態":"生成規則を下に確定（下限ベースライン）"},
 {"id":"BL-5","名":"気候値（climatology）","入手":"過去統計","状態":"未実装。過去統計を持っていない"},
 {"id":"BL-6","名":"GEOID/4（L3補正なし）","入手":"アブレーション","状態":"未実装（L3 が無い）"},
 {"id":"BL-7","名":"GEOID/4（L5稀事象探索なし）","入手":"アブレーション","状態":"未実装（L5 が無い）"},
 {"id":"BL-8","名":"GEOID/4（完全構成）","入手":"本命","状態":"未実装"}
],
"ベースラインの宣言": "封印時点で実際に取得できているのは BL-1 のみ。BL-4 は BL-1 から自動生成できる。BL-2/3 は有償契約が未了、BL-5〜BL-8 は未実装。★これを封印時に明記しておかないと、後から『都合の良いベースラインだけ選んだ』と読まれる。",

"BL-4の生成規則": {
 "定義": "最新の BL-1 発表における中心位置・中心気圧・最大風速を、以後そのまま保持する（移動も変化もしないと仮定する）",
 "位置の扱い": "静止（速度ゼロ）とする。★『直近の移動速度で外挿する』版は別IDにする。ここでは静止版のみを BL-4 とする",
 "リードタイム": "6/12/24/48/72/96/120h",
 "根拠": "下限ベースライン。これに勝てない手法は採用しない"
},

"評価指標": {
 "決定論的": [
  {"指標":"位置誤差","対象":"台風中心","定義":"実測ベストトラック位置との大円距離 km","リードタイム":[6,12,24,48,72,96,120]},
  {"指標":"強度誤差（気圧）","対象":"中心気圧","定義":"hPa の絶対誤差","リードタイム":[6,12,24,48,72,96,120]},
  {"指標":"強度誤差（風速）","対象":"最大風速","定義":"m/s の絶対誤差","リードタイム":[6,12,24,48,72,96,120]},
  {"指標":"総雨量誤差","対象":"地点・メッシュ","定義":"mm、期間別（1/3/6/12/24h）"},
  {"指標":"浸水深誤差","対象":"建物単位","定義":"m。★未実装（浸水の実測を持っていない）"}
 ],
 "確率的": [
  {"指標":"CRPS","意味":"確率予測全体の精度"},
  {"指標":"Brier Score / Brier Skill Score","意味":"閾値超過事象の予測精度"},
  {"指標":"ROC-AUC","意味":"警報としての判別能"},
  {"指標":"Reliability Diagram","意味":"確率値の較正度（言った確率で実際に起きたか）"},
  {"指標":"テール限定CRPS","意味":"上位5%／1%事象に限定した精度","重要度":"最重要"},
  {"指標":"到達可能上限のカバレッジ","意味":"実測が『最悪シナリオ』の内側に収まった率"}
 ],
 "意思決定": [
  {"指標":"有効リードタイム","意味":"閾値超過を正しく警告できた最も早い時刻"},
  {"指標":"空振り率","意味":"警告したが起きなかった割合"},
  {"指標":"見逃し率","意味":"起きたが警告できなかった割合"},
  {"指標":"決断期限の妥当性","意味":"示した決断期限が実際に間に合ったか"}
 ]
},
"優先順位": ["見逃し率", "テール限定CRPS", "有効リードタイム", "空振り率"],
"優先順位の根拠": "人命が懸かる以上、見逃しの重みは空振りより一桁重い（仕様書 §5.4）。",

"閾値（事前確定）": {
 "台風強度": [{"名":"960hPa以下","値":960,"単位":"hPa","向き":"以下"},{"名":"930hPa以下","値":930,"単位":"hPa","向き":"以下"}],
 "最大風速": [{"名":"33m/s以上","値":33,"単位":"m/s","向き":"以上"},{"名":"44m/s以上","値":44,"単位":"m/s","向き":"以上"}],
 "降水": [{"名":"1時間50mm以上","値":50,"単位":"mm/h","向き":"以上"},{"名":"1時間80mm以上","値":80,"単位":"mm/h","向き":"以上"},{"名":"24時間300mm以上","値":300,"単位":"mm/24h","向き":"以上"}],
 "註": "閾値も封印対象である。後から『この閾値なら勝っていた』を作らせない。"
},

"実測（正解）の定義": {
 "台風位置・強度": "気象庁ベストトラック（確定値）。速報値ではなく事後の確定値を使う",
 "降水": "気象庁アメダスおよび解析雨量",
 "水位": "国土交通省 川の防災情報の観測水位",
 "確定までの扱い": "確定前は『照合待ち』として保持し、スコアを計算しない。★暫定値でスコアを出さない"
},

"検証事例（ヒンドキャスト）": [
 {"事例":"伊勢湾台風（1959）","焦点":"高潮の到達上限。史上最悪ケースの再現可否","状態":"未着手"},
 {"事例":"平成30年7月豪雨（2018）","焦点":"広域の降水集中。線状降水帯の停滞","状態":"未着手"},
 {"事例":"令和元年東日本台風（2019）","焦点":"河川氾濫の同時多発。強度予測","状態":"未着手"},
 {"事例":"令和2年7月豪雨（2020）","焦点":"球磨川の急激な水位上昇","状態":"未着手"},
 {"事例":"令和6年能登半島豪雨（2024）","焦点":"被災地の二次災害","状態":"未着手"},
 {"事例":"2026年8月の台風","焦点":"全パイプラインの実運用通し","状態":"★記録中。TC2620(ナンカー)／TC2618(ペイロー)／TC2617(チャンホン) を封印時点で捕捉"}
],

"厳格な情報遮断": [
 "LV-06 検証時点より後の情報が漏れ込まないこと（look-ahead bias の排除）",
 "LV-07 学習データから検証事例を完全に除外すること",
 "LV-08 『引けなかった』事例も同等に記録・公表すること。★妥協しない"
],

"封印時点で出来ていないことの宣言": [
 "L3 作用素補正：予報値と実況の対応履歴が0件のため推定不能。履歴が溜まるまで着手しない",
 "L4 物理サロゲート：学習データと計算資源が無い。仕様書 R3 が最優先と指定する検証も未着手",
 "L5 稀事象探索：L4 が前提のため未着手（仕様書 R4）",
 "L8-02 外部タイムスタンプ機関へのアンカリング：未実装。★下の『この封印が証明すること』を参照",
 "BL-2/BL-3：有償契約が未了",
 "★つまり封印時点の GEOID/4 は、比較に出せる出力を1つも持っていない。それでも先にプロトコルを封印するのは、後から指標を選べなくするためである。"
],

"この封印が証明すること／しないこと": {
 "証明する": [
  "この内容が、鎖に記録された時刻より前に存在していたこと（後続レコードが先行を封印する）",
  "封印後にこの内容が書き換えられていないこと（ハッシュ不一致で検出できる）",
  "封印時点で気象庁が発表していた台風の発表時刻より後であること（鎖に外部の目撃値を同梱する）"
 ],
 "証明しない": [
  "この内容が、記録された時刻より前の『いつ』作られたか（外部タイムスタンプ機関が無いため）",
  "★L8-02 を実装するまで、『後出しではない』の証明は自己申告と外部目撃値の範囲にとどまる。ここを曖昧にしない。"
 ]
},

"検証期間": {"開始":"2026-08-12","終了":"未定（継続）","中間報告":"事例ごと。実測確定後すみやかに"},
"公開":"検証レポートは自動生成し常時公開する（仕様書 §5.6）。失敗事例集を必ず含める。"
}
