/**
 * 事前チェックのロボット状態（`status_1h` / `status_30m`）が
 * B2 / B3 のアドバイスを発火させる値の一覧。
 *
 * ★なぜ設定値なのか★
 *   値は ★暫定★ で、変わる可能性があります（D-078 項2。ユーザーが「暫定で変更のおそれはあります」と明言）。
 *   コードに直書きすると変更時に複数箇所を追うことになるため、★1箇所の差し替えで済む形★ にします
 *   （`CLAUDE.md` §7「閾値のハードコード禁止」と同じ趣旨）。
 *
 * ★置き場所について★
 *   `lib/config/index.ts`（judge 系の閾値 `GRADE_THRESHOLDS` / `ESCALATION_THRESHOLDS` 等を持つ）
 *   には足さず、独立ファイルにしている。指示書I の `lib/config/allowed-ips.ts` と同じ理由で、
 *   ここに統合すると不要な依存が広がるため。
 *
 * ★マッチの規則★
 *   ★前後の空白を trim し、大小文字を無視して★ 比較します（`lib/judge/advice.ts`）。
 *   理由: `Handrail Lifted` は ★空白入り★ で、他の24値がすべて PascalCase（`EmergencyStop` 等）
 *   なのに対し形が違います。★`error_type` の値の形が1種類ではない可能性があり、
 *   表記ゆれで取りこぼす★ ためです（D-074 / `docs/handoff/analysis/error-type-mapping.md` の指摘）。
 *
 * ★空配列＝発火しない★
 *   既定を空にしているものは ★「実データで値が判明していない」★ という意味です。
 *   ★「静かに発火しなくなる」より「明示的に空」のほうが後から気づける★ ので、
 *   分岐ごと消さずに空配列を残してあります。
 */

/**
 * B2（ハンドルアップ検知）。
 *
 * ★`Handrail Lifted` は暫定値です★（D-078 項2）。
 *   ★受領済みの `error_type` 24値のリストには含まれていません★。
 *   ユーザーも「〜だと思いますが」と述べており確定ではありません。
 *   ★実データに接続できたら、`error_type` に実在するかを最優先で確認してください★。
 */
export const B2_HANDLE_UP_STATUSES: readonly string[] = ["Handrail Lifted"];

/**
 * B3（オフライン検知）。
 *
 * ★空＝発火しません★。実データ上どの値がオフラインを表すのかが ★未判明★ のためです。
 *   `error_type` の24値にも `robots.status` の46値にも該当がありません
 *   （46値は移動・充電・清掃・帰還の動作フェーズのみ。D-077 項3）。
 *   ★実データで値が判明したら、ここに足すだけで復活します★。
 *   ★推測で値を入れないこと★（`CLAUDE.md` §7）。
 */
export const B3_OFFLINE_STATUSES: readonly string[] = [];
