disk_health_verdict v0.1

STEP: 1567 / Date: 2026-08-29 / Test: 26/26 PASS / Type: 窓の社 audit の (A) = CrystalDiskInfo pattern static verdict adaptation

S.M.A.R.T. attribute → 5-case D-FUMT₈ verdict の 静的決定表 tool。 実 S.M.A.R.T. 読取 (smartctl / CrystalDiskInfo binary) は 別 layer (SafetyGate 経由 別 STEP candidate)、 本 tool は verdict 決定表 のみ。

STEP 1521 homeostasis pattern の hardware/disk 版。 「concentration + range → verdict」 → 「S.M.A.R.T. attribute + threshold → verdict」 の 多 attribute 拡張。

決定表 (first-match priority)

#ConditionVerdictReason
1全 attribute unsetZEROno_data
2temperature > extreme (default 80°C) or reallocated > extreme (default 100)INFINITYmany_errors
3auncorrectableSectors ≥ 1FALSEcritical_uncorrectable
3bcurrentPendingSectors ≥ pendingBad (default 1)FALSEcritical_pending
3creallocatedSectors ≥ reallocatedBad (default 10)FALSEcritical_reallocated
3dtemperature ≥ temperatureBad (default 65°C)FALSEcritical_temperature
4areallocatedSectors ≥ reallocatedWarn (default 1)NEITHERwarning_reallocated
4btemperature ≥ temperatureWarn (default 55°C)NEITHERwarning_temperature
4creallocationEventCount ≥ reallocationEventWarn (default 5)NEITHERwarning_events
5全 healthy (no warning triggered)TRUEhealthy

Input schema (S.M.A.R.T. attributes)

FieldS.M.A.R.T. #MeaningPuzzle enumDomain
reallocatedSectors#5permanent bad sectors[0, 1, 5, 10, 50, 100, 500]
reallocationEventCount#196reallocation attempts (incl. failures)[0, 3, 10]
currentPendingSectors#197sectors awaiting reallocation[0, 1, 5, 10]
uncorrectableSectors#198uncorrectable sectors (any > 0 = critical)[0, 1, 5]
temperature#194Celsius[30, 45, 55, 65, 75, 85]

使用例

diskHealthVerdict({});
// { verdict: 'ZERO', reason: 'no_data' }

diskHealthVerdict({ temperature: 40 });
// { verdict: 'TRUE', reason: 'healthy' }

diskHealthVerdict({ reallocatedSectors: 3 });
// { verdict: 'NEITHER', reason: 'warning_reallocated_sectors' }

diskHealthVerdict({ uncorrectableSectors: 1 });
// { verdict: 'FALSE', reason: 'critical_uncorrectable_sectors' }

diskHealthVerdict({ temperature: 85 });
// { verdict: 'INFINITY', reason: 'many_errors_extreme_temperature' }

diskHealthVerdict({ temperature: 85, currentPendingSectors: 5 });
// { verdict: 'INFINITY' } — extreme wins over critical

Rei stack 統合

1. tool-schema-registry (STEP 1536) 拡張

19 → **20 tools**、 information domain 3 → **4 tools**。 puzzleEnumerable='trivial'、 5 hidable + enumerable fields。

2. puzzle-verifier dispatch (STEP 1546) 追加

19 → **20 dispatchable tools**、 simple direct dispatch (no adapter)。

3. puzzle-generator DISPATCHABLE_TOOLS (STEP 1546)

disk_health_verdict 追加。

4. Catalog rebuild (STEP 1549)

518 → **532 UNIQUE puzzles** (+14 disk_health)、 information domain 8 → 22 (+14 = ~3x growth for information)。

5. MCP wire (STEP 1526 pattern)

rei-mcp-server 総 tools 82 → 83 (+1 disk_health_verdict、 実 S.M.A.R.T. read は SafetyGate 経由 別 STEP)。

Test 結果

STEP 1567: 26/26 PASS
STEP 1536 regression: 126/126 PASS
STEP 1539 regression: 212/212 PASS
STEP 1549 regression: 130/130 PASS
合計: 494 test PASS clean

Honest scope

❶ 実 S.M.A.R.T. 読取 (smartctl / CrystalDiskInfo binary) は 別 layer、 本 tool は 決定表のみ。 SafetyGate 経由 の binary wrap は 別 STEP candidate。

❂ Threshold defaults は typical consumer HDD/SSD 用に tuned、 enterprise / NVMe 等 で 再 tune 候補。

❸ 「S.M.A.R.T. verdict で 世界初」 主張ゼロ、 storage industry standard practice adaptation、 novelty は Rei stack D-FUMT₈ 5-case mapping への 適用のみ。

❹ 窓の社 audit (2026-08-29 藤本さん directive) の 7 recommendation の (A) 実装、 残 6 candidate (archive_integrity / file_copy / disk_usage / clipboard_pattern / remote_transfer / cpu_probe) は 別 STEP judgment。

❺ S.M.A.R.T. attribute list は subset (最重要 5 attribute)、 他 25+ attribute (write error rate、 seek error rate、 spin retry 等) は 未 embed = v0.2 candidate。

窓の社 audit の 7 recommendation (defer status)

#元 tool提案 connectorSTEP 1567 status
1CrystalDiskInfodisk_health_verdict本 STEP ✅
27-Ziparchive_integrity_verdictdefer
3FastCopyfile_copy_verdictdefer
4WizTreedisk_usage_verdictdefer
5Cliborclipboard_pattern_verdictdefer
6WinSCPremote_transfer_verdictdefer
7CPU-Zcpu_probe_verdictdefer