Experiment record
NORITZ 1分Raw監査:日次588項目すべて一致、修正対象0件
保持1分Rawを基準に、完了済みJST 28日分のNORITZ日次集計21列を読み取り専用で再構築した。28日×21列=588項目はすべて一致し、本番値の変更は0件だった。
概要
AIEL-2026-0009では、collector変更後に古い値や不整合が残っている可能性を疑ったNORITZ給湯器の日次集計について、保持された1分Rawから保存済み日次値を再現できるか監査しました。
最終的な読み取り専用監査の対象は、2026-08-09から2026-09-05までの完了済みJST 28日、日次21列すべてです。各日×各列について、保持Rawと確認済みの派生規則から独立して値を再構築し、保存済み日次行と比較しました。
結果は次の通りです。
| 監査指標 | 結果 |
|---|---|
| 監査した完了日 | 28 |
| 監査した日次列 | 21 |
| 日付×列の比較数 | 588 |
MATCH | 588 |
MISMATCH | 0 |
NOT_RECONSTRUCTABLE_FROM_RETAINED_RAW | 0 |
| 監査で検出したsource key重複 | 0 |
| 本番で変更した列 | 0 |
疑っていた過去日次値の不整合は、監査範囲では観測されませんでした。修復規則は実証された不一致だけを変更対象とするため、Evidenceを保全する正しい結果は、本番日次テーブルを変更しないことでした。
実験の背景
NORITZの収集経路では、1分Raw観測を保存し、そこから日次集計を派生しています。collector変更後、名目1分周期なら通常の24時間日で1,440観測に近づくという期待から、過去のsample_countが古いまま残っている可能性が検討されました。
しかし、1,440という名目値だけでは補正根拠になりません。欠測は欠測として残し、保存される件数は実際に採用された観測数でなければなりません。
そこで本Experimentでは、保持1分Rawを下位のEvidence Layerとして扱い、より限定した問いを設定しました。保存済み日次値は、Rawから独立再構築した値と本当に不一致なのかを全列で確認します。
本Experimentは、AIEL-2026-0003で記録されたRaspberry Pi/NORITZ collectorをデータ品質の観点から拡張するものです。ヒートポンプ電力・電力量のネットワーク取得可否という0003の結論は再検討しません。
実験方法
本番の日次テーブルへ書き込まない読み取り専用監査として実施しました。
保持1分観測は、運用中のRawストアと、監査期間前半を保持していたアーカイブ削除前バックアップから参照しました。source keyと観測時刻を基準に正規化し、JST日付ごとにまとめたうえで、保存済み日次行と独立再構築行を列単位で比較しました。
対象は21日次列すべてで、時刻、sample_count、観測時間、ガス・水の積算境界と差分、運転状態のsample数、残湯量参考値、タンク容量、status、noteを含みます。
statusとnoteについては、現行Apps Scriptから正確な生成規則を確認しました。日次statusは次の規則です。
- gas deltaが無効:
要確認 - JST当日:
集計中 - 完了済み過去日:
observed_hours >= 23.5かつsample_count >= 1200の場合のみ日次確定 - それ以外:
観測不完全
noteは、この状態と残湯量first/lastの可用性から決定論的に生成されます。
保存されるsample_count自体を1,440へ置き換えることはありません。採用された一意かつ有効な1分Raw観測数を保存し、欠測を0値の測定として扱いません。
2026-09-06の日次行は監査snapshot時点でまだ増加中だったため、完了日を対象とする最終比較から除外しました。
実験ログ
最初の再構築では、21列のうち19列を保持Rawだけから直接算出でき、再構築値が保存済み日次行と一致することを確認しました。
この時点では、statusとnoteについて、Rawだけでは判定閾値と文言分岐が確定していなかったため、再構築可能とは扱いませんでした。その後、現行Apps Scriptを確認し、23.5時間・1,200sampleの完全性閾値、当日分岐、gas delta異常分岐、noteの決定論的生成規則を確定しました。
これにより21/21列を監査可能になりました。完了済み28日について、**588項目すべてがMATCH**でした。MISMATCHは0、再構築不能列も0、監査した再構築内でのsource key重複も0でした。
したがって、予定していた選択的修復に対象列はありませんでした。本番の日次値は一切書き換えていません。
結論
2026-08-09から2026-09-05までの完了済みJST 28日について、保存済みNORITZ日次集計は、保持1分Raw Evidenceと現行派生規則から再現できました。監査した588項目はすべて一致しました。
collector変更後に過去日次値がstaleまたは不整合のまま残っているという仮説は、この監査範囲では支持されませんでした。これはExperimentの失敗ではなくnegative resultです。監査によって、Evidenceを保全する正しい処置がno-opであることを確認できました。
sample_countが1,440未満であること自体は異常ではありません。実装上、完了済み過去日の完全性判定はobserved_hours >= 23.5とsample_count >= 1200の両方を使い、保存件数そのものは実際に採用されたRaw観測数です。
この結論は監査した保持期間に限定されます。将来の日次行が必ず不整合にならないことまでは示していません。また、実際のMISMATCHが存在しなかったため、不一致値を書き換えるrepair branchは本Experimentでは実行されていません。
証拠区分のまとめ
このExperimentで得られた情報のEvidence Stateは次のとおりです。
| 記録内容 | Evidence State | 根拠 |
|---|---|---|
| 監査した完了済み28日について日次21列すべてを再構築可能 | VERIFIED | Raw再構築と現行派生規則の照合 |
| 日付×列588項目すべてが保存済み日次集計と一致 | VERIFIED | 独立した列単位reconciliation |
監査範囲でMISMATCH=0かつNOT_RECONSTRUCTABLE_FROM_RETAINED_RAW=0 | VERIFIED | 完了した監査分類件数 |
sample_countは1,440固定ではなく採用Raw観測数に基づく | VERIFIED | Raw照合とApps Script規則確認 |
| 本監査で本番日次列を変更していない | OBSERVED | 読み取り専用監査とzero-mismatch判定 |
各Evidence Stateの意味はEvidence State(証拠状態)を参照してください。
実験データについて
1分Raw観測と保存済み日次の家庭内実測値は保持されていますが、非公開です。集約された監査結果を公開するために、それらの詳細値を公開する必要はありません。
公開用の匿名化machine-readable監査Artifactには、監査期間、集約件数、再構築閾値、no-op結果、privacy宣言、limitationsだけを収録しています。家庭内telemetry、Spreadsheet ID、source key、credential、設置固有のdevice/network識別子は含みません。
公開Artifactには、非公開reconciliationで使用した日別のガス量、水量、残湯量、運転状態値を含めていません。
関連実験
AIEL-2026-0003 — NORITZ RC-G057MPW-2ハイブリッド給湯器:ヒートポンプ電力・電力量をネットワークから取得できるかでは、本データ完全性Experimentの基盤となったcollector環境を記録しています。
機械可読な実験記録
このExperimentの機械可読な正本記録をJSONとして公開しています。