ALAYA 感測資料離線驗證工具
所有範例為手工合成資料，無實機採集。非校準認證。
需求：Python 3.10 以上，僅用標準函式庫，不須連網安裝套件。

1. 解壓縮後，直接開啟 reports/pass/report.html 或 reports/fail/report.html。
2. 重算一般門檻報告：
   python3 validate_sensor_bench.py data/case.json --output-dir new-report
3. 比對已交付的報告：
   python3 validate_sensor_bench.py data/case.json --verify reports/pass/report.json
4. 嚴格門檻案例：
   python3 validate_sensor_bench.py data/case-strict.json --verify reports/fail/report.json
   這個案例預期回傳 exit code 1，代表有效資料未通過誤差條件。
   0 = 通過，1 = 未通過，2 = 無效資料或報告不一致。
5. 匯入自己的資料：複製 data/import-metadata.json，填寫設備、條件、門檻與來源。
   保留 CSV 欄位 sample_id,time_ns,value,unit，提供至少 3 筆已對齊、時間遞增的資料。
   python3 prepare_sensor_bench.py create --metadata data/import-metadata.json --reference data/reference.csv --candidate data/candidate.csv --output-dir new-bundle
   工具自動計算 SHA-256，保留原始 CSV，建立可獨立重算的資料包。
   python3 prepare_sensor_bench.py verify new-bundle
   quality.json 另列出取樣間隔；sampling.expected_interval_ns 為 null 時不判定取樣條件。
   所有單位必須一致，時間為同一測試起點的非負 int64 奈秒。每個輸入檔限制 5 MB。
   工具不自動插值、不轉換單位、不執行時鐘同步，不從取樣間隔推論封包遺失。
   如為實測，evidence_kind 設為 measured，填寫真實採集條件與來源。
   measured 標記不等於實機驗證；來源仍須由負責人核實。資料包不會自動上傳。

輸出目錄必須是新目錄，不會覆寫舊報告。
報告雜湊以移除 report_sha256 欄位後的 canonical JSON 計算。
任一輸入、設定或評估程式改變都會產生不同報告指紋。
HTML 是 JSON 的閱讀版；新資料由離線工具產生 JSON 與 Markdown。
本工具不包含飛行物理、模擬引擎、戰術生成或設備控制。
