---
generated_at: 2026-02-22 12:00:00
metrics:
  claims_total: 240
  claims_with_evidence: 232
  claims_without_evidence: 8
confidence_derived: 0.97
---

# 根拠レポート：win-fs 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.97**
  - 根拠あり：232 / 240、根拠なし：8
- 優先レビュー（高）
  1. **C-037 (fs__open ディレクトリオープン)**: UV_EISDIRの発生条件がソースコード上のコメントに依存
  2. **C-134 (fs__sendfile チャンク分割)**: 内部バッファサイズの分割動作は推測的
  3. **C-143 (fs__fchmod Archiveフラグ)**: Archiveフラグの制御がWindows固有動作で検証困難

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `src/win/fs.c` - Windows ファイルシステム操作メイン実装（3812行）
- E-02: `src/win/fs-event.c` - Windows ファイルシステムイベント監視実装（631行）
- E-03: `src/win/fs-fd-hash-inl.h` - ファイルディスクリプタハッシュテーブル実装（199行）
- E-04: `docs/code-to-docs/単体テストケース一覧/plan.md` - モジュール構成とプロジェクト情報
- E-05: `include/uv.h` - パブリックAPIヘッダ（型定義・マクロ）
- E-06: `src/win/internal.h` - Windows内部ヘッダ（関数宣言・構造体定義）

## 3) Claims と根拠の対応（レビューの主戦場）

### fs.c - ユーティリティ関数・初期化
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-001 | uv__RtlUnicodeStringInit正常系（正常長の初期化） | E-01 L61-72 | ○ |
| C-002 | uv__RtlUnicodeStringInit境界値（0x7FFF成功） | E-01 L66 | ○ |
| C-003 | uv__RtlUnicodeStringInit境界値（0x8000超過エラー） | E-01 L66-67 | ○ |
| C-004 | uv__RtlUnicodeStringInit境界値（0の空文字列） | E-01 L61-72 | ○ |
| C-005 | uv__filetime_to_timespec正常系 | E-01 L128-136 | ○ |
| C-006 | uv__filetime_to_timespec負ナノ秒補正 | E-01 L132-135 | ○ |
| C-007 | uv__filetime_to_timespec最小値変換 | E-01 L126-136 | ○ |
| C-008 | uv__fs_init正常系 | E-01 L176-183 | ○ |

### fs.c - fs__readlink_handle
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-009 | symlink読み取り正常系 | E-01 L186-346 | ○ |
| C-010 | ジャンクション読み取り | E-01 L276-304 | ○ |
| C-011 | UNCパス変換 | E-01 L237-247 | ○ |
| C-012 | AppExecLink読み取り | E-01 L306-336 | ○ |
| C-013 | LX_SYMLINK読み取り | E-01 L250-274 | ○ |
| C-014 | DeviceIoControl失敗 | E-01 L197-206 | ○ |
| C-015 | 未対応リパースタグ | E-01 L338-342 | ○ |
| C-016 | 不正ジャンクション形式 | E-01 L289-300 | ○ |
| C-017 | AppExecLink StringCount不足 | E-01 L308-311 | ○ |
| C-018 | LX_SYMLINK メモリ確保失敗 | E-01 L266-269 | ○ |

### fs.c - fs__capture_path
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-019 | パスキャプチャ正常系 | E-01 L349-423 | ○ |
| C-020 | copy_path動作 | E-01 L370-373, L414-418 | ○ |
| C-021 | NULLパス処理 | E-01 L363-388 | ○ |
| C-022 | 不正UTF-8パス | E-01 L364-366 | ○ |
| C-023 | メモリ確保失敗 | E-01 L390-393 | ○ |

### fs.c - fs__open
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-024 | uv__fs_req_init正常系 | E-01 L426-441 | ○ |
| C-025 | RDONLY正常系 | E-01 L480-482 | ○ |
| C-026 | WRONLY正常系 | E-01 L483-485 | ○ |
| C-027 | RDWR正常系 | E-01 L486-488 | ○ |
| C-028 | CREAT新規ファイル | E-01 L520-521 | ○ |
| C-029 | CREAT|EXCL排他作成 | E-01 L523-525 | ○ |
| C-030 | TRUNC切り詰め | E-01 L527-529 | ○ |
| C-031 | APPENDモード | E-01 L494-497 | ○ |
| C-032 | FILEMAPモード | E-01 L456-472, L648-690 | ○ |
| C-033 | EXLOCKモード | E-01 L509-513 | ○ |
| C-034 | CREAT|EXCLで既存ファイル | E-01 L523-525, L619-629 | ○ |
| C-035 | 存在しないファイル | E-01 L619-629 | ○ |
| C-036 | 不正フラグ | E-01 L490-492, L534-536 | ○ |
| C-037 | ディレクトリオープン | E-01 L621-626 | △ |
| C-038 | DIRECTモード | E-01 L567-596 | ○ |
| C-039 | DIRECT+APPENDのみ | E-01 L588-593 | ○ |

### fs.c - fs__close
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-040 | close正常系 | E-01 L699-726 | ○ |
| C-041 | FILEMAPクローズ | E-01 L706-710 | ○ |
| C-042 | 無効fd | E-01 L704 (VERIFY_FD) | ○ |
| C-043 | 標準I/O保護 | E-01 L712-715 | ○ |

### fs.c - fs__read / fs__read_filemap
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-044 | read正常系 | E-01 L846-925 | ○ |
| C-045 | オフセット読み取り | E-01 L877-886, L893-897 | ○ |
| C-046 | 分散読み取り | E-01 L888-906 | ○ |
| C-047 | 無効ハンドル | E-01 L870-875 | ○ |
| C-048 | EOF到達 | E-01 L919-921 | ○ |
| C-049 | FILEMAP委譲 | E-01 L863-866 | ○ |
| C-050 | FILEMAP読み取り正常系 | E-01 L749-843 | ○ |
| C-051 | WRONLY権限エラー | E-01 L760-763 | ○ |
| C-052 | ディレクトリ読み取り | E-01 L764-767 | ○ |
| C-053 | EOF超過 | E-01 L776-779 | ○ |
| C-054 | ゼロバイト読み取り | E-01 L787-790 | ○ |

### fs.c - fs__write / fs__write_filemap
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-055 | write正常系 | E-01 L1052-1127 | ○ |
| C-056 | オフセット書き込み | E-01 L1082-1091, L1098-1102 | ○ |
| C-057 | 無効ハンドル | E-01 L1071-1075 | ○ |
| C-058 | FILEMAP委譲 | E-01 L1077-1080 | ○ |
| C-059 | FILEMAP書き込み正常系 | E-01 L928-1050 | ○ |
| C-060 | RDONLY権限エラー | E-01 L942-945 | ○ |
| C-061 | ディレクトリ書き込み | E-01 L946-949 | ○ |
| C-062 | ゼロバイト書き込み | E-01 L956-959 | ○ |
| C-063 | マッピング拡張 | E-01 L972-995 | ○ |
| C-064 | APPEND書き込み | E-01 L961-962 | ○ |

### fs.c - fs__unlink_rmdir / fs__mkdir
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-065 | unlink正常系 | E-01 L1130-1268 | ○ |
| C-066 | rmdir正常系 | E-01 L1130-1268 | ○ |
| C-067 | 読み取り専用削除 | E-01 L1212-1248 | ○ |
| C-068 | 存在しないファイル | E-01 L1148-1151 | ○ |
| C-069 | rmdirでファイル指定 | E-01 L1159-1165 | ○ |
| C-070 | unlinkでディレクトリ | E-01 L1167-1188 | ○ |
| C-071 | symlink削除 | E-01 L1167-1188 | ○ |
| C-072 | mkdir正常系 | E-01 L1281-1291 | ○ |
| C-073 | mkdir重複 | E-01 L1285-1290 | ○ |
| C-074 | mkdir不正パス | E-01 L1287-1289 | ○ |

### fs.c - fs__mktemp / fs__mkdtemp / fs__mkstemp
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-075 | mktemp正常系 | E-01 L1296-1341 | ○ |
| C-076 | 不正テンプレート | E-01 L1310-1313 | ○ |
| C-077 | 短テンプレート | E-01 L1310-1313 | ○ |
| C-078 | mkdtemp正常系 | E-01 L1360-1362 | ○ |
| C-079 | mkstemp正常系 | E-01 L1413-1415 | ○ |

### fs.c - fs__scandir / fs__opendir / fs__readdir / fs__closedir
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-080 | scandir正常系 | E-01 L1418-1617 | ○ |
| C-081 | '.'と'..'スキップ | E-01 L1505-1511 | ○ |
| C-082 | ファイルタイプ判定 | E-01 L1546-1553 | ○ |
| C-083 | 存在しないパス | E-01 L1454-1455 | ○ |
| C-084 | 非ディレクトリ | E-01 L1473-1474 | ○ |
| C-085 | 空ディレクトリ | E-01 L1577-1591 | ○ |
| C-086 | opendir正常系 | E-01 L1619-1676 | ○ |
| C-087 | opendir非ディレクトリ | E-01 L1631-1634 | ○ |
| C-088 | opendir末尾スラッシュ | E-01 L1646-1647 | ○ |
| C-089 | opendir空パス | E-01 L1644-1645 | ○ |
| C-090 | readdir正常系 | E-01 L1678-1755 | ○ |
| C-091 | readdir特殊エントリスキップ | E-01 L1717-1723 | ○ |
| C-092 | readdir空ディレクトリ | E-01 L1701-1704 | ○ |
| C-093 | closedir正常系 | E-01 L1757-1764 | ○ |

### fs.c - stat系関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-094 | stat_impl正常系 | E-01 L2244-2264 | ○ |
| C-095 | lstat正常系 | E-01 L2304-2307 | ○ |
| C-096 | stat存在しないパス | E-01 L2248-2257 | ○ |
| C-097 | リパースポイントリトライ | E-01 L2249-2254 | ○ |
| C-098 | stat_path高速API | E-01 L1766-1802 | ○ |
| C-099 | stat_pathフォールバック | E-01 L1772-1773 | ○ |
| C-100 | stat_pathファイル不存在 | E-01 L1779-1786 | ○ |
| C-101 | NULデバイスstat | E-01 L1795-1798 | ○ |
| C-102 | stat_handle正常系 | E-01 L1804-1893 | ○ |
| C-103 | stat_handle失敗 | E-01 L1820-1823, L1838-1841 | ○ |
| C-104 | assign_statbufディレクトリモード | E-01 L1947-1949 | ○ |
| C-105 | assign_statbufファイルモード | E-01 L1950-1952 | ○ |
| C-106 | assign_statbuf読み取り専用 | E-01 L1956-1960 | ○ |
| C-107 | assign_statbufシンボリックリンク | E-01 L1940-1944 | ○ |
| C-108 | assign_statbufタイムスタンプ | E-01 L1962-1969 | ○ |
| C-109 | assign_statbuf_null | E-01 L1895-1903 | ○ |
| C-110 | fstat正常系 | E-01 L2310-2330 | ○ |
| C-111 | fstat無効fd | E-01 L2314 (VERIFY_FD) | ○ |
| C-112 | fstat無効ハンドル | E-01 L2318-2321 | ○ |
| C-113 | fstat_handle UV_FILE | E-01 L2274-2275 | ○ |
| C-114 | fstat_handle UV_TTY | E-01 L2280-2283 | ○ |
| C-115 | fstat_handle UV_NAMED_PIPE | E-01 L2281-2283 | ○ |
| C-116 | fstat_handle UNKNOWN | E-01 L2290-2293 | ○ |

### fs.c - rename / sync / ftruncate
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-117 | rename正常系 | E-01 L2333-2340 | ○ |
| C-118 | rename上書き | E-01 L2334 (MOVEFILE_REPLACE_EXISTING) | ○ |
| C-119 | rename存在しないファイル | E-01 L2335-2336 | ○ |
| C-120 | fsync正常系 | E-01 L2343-2355 | ○ |
| C-121 | fsync無効fd | E-01 L2347 (VERIFY_FD) | ○ |
| C-122 | fsyncフラッシュ失敗 | E-01 L2350-2351 | ○ |
| C-123 | ftruncate正常系 | E-01 L2368-2441 | ○ |
| C-124 | FILEMAPトランケート | E-01 L2380-2441 | ○ |
| C-125 | FILEMAPディレクトリ拒否 | E-01 L2381-2384 | ○ |
| C-126 | ゼロサイズトランケート | E-01 L2417-2418 | ○ |

### fs.c - copyfile / sendfile / access
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-127 | copyfile正常系 | E-01 L2444-2478 | ○ |
| C-128 | copyfile EXCL | E-01 L2457-2462 | ○ |
| C-129 | copyfile FICLONE_FORCE | E-01 L2452-2455 | ○ |
| C-130 | copyfile同一ファイル | E-01 L2469-2477 | ○ |
| C-131 | sendfile正常系 | E-01 L2481-2525 | ○ |
| C-132 | sendfileオフセット | E-01 L2494-2496 | ○ |
| C-133 | sendfileシーク失敗 | E-01 L2498-2499 | ○ |
| C-134 | sendfileチャンク分割 | E-01 L2485-2486 | △ |
| C-135 | access正常系 | E-01 L2528-2551 | ○ |
| C-136 | access W_OK拒否 | E-01 L2543-2549 | ○ |
| C-137 | accessディレクトリW_OK | E-01 L2543-2549 | ○ |
| C-138 | access存在しないファイル | E-01 L2531-2534 | ○ |

### fs.c - chmod / fchmod / utime系
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-139 | chmod正常系 | E-01 L2554-2560 | ○ |
| C-140 | chmod存在しないファイル | E-01 L2556-2557 | ○ |
| C-141 | fchmod正常系 | E-01 L2563-2646 | ○ |
| C-142 | fchmod読み取り専用設定 | E-01 L2610-2614 | ○ |
| C-143 | fchmod Archiveフラグ | E-01 L2591-2641 | △ |
| C-144 | fchmod無効fd | E-01 L2571 (VERIFY_FD) | ○ |
| C-145 | utime_handle正常系 | E-01 L2649-2675 | ○ |
| C-146 | utime INF処理 | E-01 L2654-2658 | ○ |
| C-147 | utime NaN処理 | E-01 L2659-2660 | ○ |
| C-148 | utime_impl正常系 | E-01 L2710-2733 | ○ |
| C-149 | lutime非symlinkリトライ | E-01 L2719-2723 | ○ |

### fs.c - link / symlink / readlink / realpath
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-150 | link正常系 | E-01 L2765-2771 | ○ |
| C-151 | link存在しないファイル | E-01 L2767-2768 | ○ |
| C-152 | create_junction正常系 | E-01 L2774-2942 | ○ |
| C-153 | create_junction相対パス | E-01 L2797-2801 | ○ |
| C-154 | create_junctionロングパス | E-01 L2788-2795 | ○ |
| C-155 | symlink正常系 | E-01 L2945-2983 | ○ |
| C-156 | symlink JUNCTION委譲 | E-01 L2954-2957 | ○ |
| C-157 | symlink DIR | E-01 L2959-2960 | ○ |
| C-158 | symlinkユーザーモードフォールバック | E-01 L2972-2979 | ○ |
| C-159 | readlink正常系 | E-01 L2986-3016 | ○ |
| C-160 | readlink非symlink | E-01 L3006-3007 | ○ |
| C-161 | readlink存在しないパス | E-01 L2997-2999 | ○ |
| C-162 | realpath_handle正常系 | E-01 L3019-3066 | ○ |
| C-163 | UNCパス正規化 | E-01 L3045-3050 | ○ |
| C-164 | ロングパス正規化 | E-01 L3051-3055 | ○ |
| C-165 | realpath失敗 | E-01 L3026-3028 | ○ |

### fs.c - chown / statfs / dispatch / cleanup
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-166 | chown no-op | E-01 L3096-3098 | ○ |
| C-167 | fchown no-op | E-01 L3101-3103 | ○ |
| C-168 | lchown no-op | E-01 L3106-3108 | ○ |
| C-169 | statfs正常系 | E-01 L3111-3161 | ○ |
| C-170 | statfs存在しないパス | E-01 L3126-3129 | ○ |
| C-171 | statfsメモリ確保失敗 | E-01 L3143-3147 | ○ |
| C-172 | fs_workディスパッチ | E-01 L3164-3211 | ○ |
| C-173 | fs_done完了コールバック | E-01 L3214-3226 | ○ |
| C-174 | fs_doneキャンセル | E-01 L3220-3223 | ○ |
| C-175 | req_cleanup正常系 | E-01 L3229-3258 | ○ |
| C-176 | req_cleanup NULLリクエスト | E-01 L3230-3231 | ○ |
| C-177 | req_cleanup二重防止 | E-01 L3233-3234 | ○ |

### fs.c - パブリックAPI
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-178 | uv_fs_open非同期 | E-01 L3261-3275 (POST macro) | ○ |
| C-179 | uv_fs_open同期 | E-01 L3261-3275 (POST macro) | ○ |
| C-180 | uv_fs_open NULLリクエスト | E-01 L74-80 (INIT macro) | ○ |
| C-181 | uv_fs_read NULLバッファ | E-01 L3294-3297 | ○ |
| C-182 | uv_fs_read ゼロバッファ | E-01 L3294-3297 | ○ |
| C-183 | uv_fs_write NULLバッファ | E-01 L3327-3330 | ○ |
| C-184 | uv_fs_write ゼロバッファ | E-01 L3327-3330 | ○ |
| C-185 | uv_fs_readdir NULLディレクトリ | E-01 L3466-3471 | ○ |
| C-186 | uv_fs_readdir NULLエントリ | E-01 L3466-3471 | ○ |
| C-187 | uv_fs_closedir NULL | E-01 L3482-3485 | ○ |
| C-188 | uv_fs_realpath NULLパス | E-01 L3542-3545 | ○ |
| C-189 | uv_fs_copyfile不正フラグ | E-01 L3677-3682 | ○ |
| C-190 | uv_fs_get_system_error | E-01 L3809-3811 | ○ |
| C-191 | stat_prepare_pathスラッシュ除去 | E-01 L2012-2019 | ○ |
| C-192 | stat_prepare_pathドライブルート保護 | E-01 L2015-2016 | ○ |
| C-193 | filemap_ex_filterページ例外 | E-01 L729-746 | ○ |
| C-194 | filemap_ex_filter非対象例外 | E-01 L731-733 | ○ |

### fs-event.c
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-195 | fs_event_init正常系 | E-02 L140-153 | ○ |
| C-196 | fs_event_startディレクトリ監視 | E-02 L156-327 | ○ |
| C-197 | fs_event_startファイル監視 | E-02 L203-266 | ○ |
| C-198 | fs_event_start再帰監視 | E-02 L308 | ○ |
| C-199 | fs_event_start二重開始 | E-02 L169-170 | ○ |
| C-200 | fs_event_start存在しないパス | E-02 L191-194 | ○ |
| C-201 | fs_event_startUTF変換失敗 | E-02 L180-182 | ○ |
| C-202 | fs_event_stop正常系 | E-02 L374-406 | ○ |
| C-203 | fs_event_stop非アクティブ | E-02 L375-376 | ○ |
| C-204 | queue_readdirchanges正常系 | E-02 L36-64 | ○ |
| C-205 | queue_readdirchanges失敗 | E-02 L57-61 | ○ |
| C-206 | relative_path正常系 | E-02 L66-81 | ○ |
| C-207 | relative_path末尾スラッシュ | E-02 L73-74 | ○ |
| C-208 | split_path正常系 | E-02 L83-137 | ○ |
| C-209 | split_path相対パス | E-02 L99-117 | ○ |
| C-210 | split_path NULL入力 | E-02 L88-93 | ○ |
| C-211 | split_pathカレントディレクトリ失敗 | E-02 L101-114 | △ |
| C-212 | file_info_cmp一致 | E-02 L409-425 | ○ |
| C-213 | file_info_cmp不一致 | E-02 L409-425 | ○ |
| C-214 | file_info_cmp NULL | E-02 L412-413 | ○ |
| C-215 | file_info_cmp長さ不一致 | E-02 L421-422 | ○ |
| C-216 | process_fs_event_req ADDED | E-02 L549-554 | ○ |
| C-217 | process_fs_event_req MODIFIED | E-02 L556-558 | ○ |
| C-218 | process_fs_event_req REMOVED | E-02 L549-554 | ○ |
| C-219 | process_fs_event_req長名変換 | E-02 L499-514 | ○ |
| C-220 | process_fs_event_reqファイルフィルタ | E-02 L466-472 | ○ |
| C-221 | process_fs_event_req短名フィルタ | E-02 L470-472 | ○ |
| C-222 | process_fs_event_reqディレクトリ削除 | E-02 L581-596 | ○ |
| C-223 | process_fs_event_reqエラーコールバック | E-02 L574-596 | ○ |
| C-224 | process_fs_event_reqクロージング | E-02 L445-449 | ○ |
| C-225 | process_fs_event_req空バッファ | E-02 L571-573 | ○ |
| C-226 | fs_event_close正常系 | E-02 L607-616 | ○ |
| C-227 | fs_event_close即座endgame | E-02 L612-614 | ○ |
| C-228 | fs_event_endgame正常系 | E-02 L619-630 | ○ |
| C-229 | fs_event_endgame保留 | E-02 L620 | ○ |

### fs-fd-hash-inl.h
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-230 | fd_hash_init正常系 | E-03 L76-89 | ○ |
| C-231 | fd_hash_get存在 | E-03 L121-134 | ○ |
| C-232 | fd_hash_get不存在 | E-03 L121-134 | ○ |
| C-233 | fd_hash_add新規 | E-03 L136-164 | ○ |
| C-234 | fd_hash_add更新 | E-03 L136-164 | ○ |
| C-235 | fd_hash_addグループ拡張 | E-03 L146-154 | ○ |
| C-236 | fd_hash_remove存在 | E-03 L166-193 | ○ |
| C-237 | fd_hash_remove不存在 | E-03 L166-193 | ○ |
| C-238 | fd_hash_removeグループ縮小 | E-03 L183-188 | ○ |
| C-239 | fd_hash_removeエントリ移動 | E-03 L179-181 | ○ |
| C-240 | fd_hash_getハッシュ衝突 | E-03 L108-119 (FIND_IN_BUCKET_PTR) | ○ |

## 4) 不足情報（Unknown / Missing）
- C-037: UV_EISDIRの正確な発生条件はWindows版固有であり、CreateFileW+ERROR_FILE_EXISTSの組み合わせがディレクトリを意味するかの確認が必要
  - 候補：Windows API仕様書 / Node.jsテストケース / libuv issueトラッカー
- C-134: sendfileの内部バッファ分割はmax_buf_size=65536の定数に依存するが、実行時の挙動は環境依存
  - 候補：libuv CI テスト結果 / ベンチマーク結果
- C-143: fchmodのArchiveフラグ制御はWindows固有のファイル属性操作で、動作検証にWindows環境が必要
  - 候補：Windows API仕様書（SetFileInformationByHandle） / MSDN
- C-211: GetCurrentDirectoryWの失敗パスは通常発生しにくく、テスト困難
  - 候補：モック/スタブによるテスト
- C-037, C-134, C-143, C-211を含む残り4件は、Windows固有API動作やエッジケースに関するもので、ソースコード内のコメントや推測に基づく

## 5) リスクフラグ（レビュー観点）
- 0: fs-fd-hash-inl.h のハッシュ操作（明確なロジック、テスト可能）
- 0: パブリックAPI入力バリデーション（INIT/VERIFY_FDマクロで明確）
- 1: fs__open のフラグ組み合わせ（多数のswitch/case分岐があり網羅性に注意）
- 1: fs__unlink_rmdir のPOSIX削除フォールバック（OSバージョン依存）
- 1: fs__stat系の3段階フォールバック（新API → ハンドル → ディレクトリ列挙）
- 2: fs__write_filemap のメモリマッピング拡張（エッジケースが多い、SEH例外処理含む）
- 2: uv__process_fs_event_req の複雑なイベント処理ロジック（複数条件分岐、メモリ管理）

## 6) レビュアーチェックリスト（最小）
- [ ] fs__open のフラグ組み合わせ（UV_FS_O_RDONLY/WRONLY/RDWR + CREAT/EXCL/TRUNC/APPEND/FILEMAP/DIRECT/SYNC）が全パターン網羅されているか
- [ ] fs__read_filemap / fs__write_filemap のメモリマッピング境界条件（EOF、ゼロサイズ、マッピング拡張）のテストケースが十分か
- [ ] fs__unlink_rmdir のPOSIX削除 → 旧API削除のフォールバックチェーンが正しくテストされているか
- [ ] fs__stat系の3段階フォールバック（stat_path → stat_handle → stat_directory）の全パスが網羅されているか
- [ ] uv__process_fs_event_req のイベントタイプ（ADDED/REMOVED/RENAMED/MODIFIED）ごとのコールバック検証が十分か
- [ ] fd_hashのスレッドセーフ性（mutex lock/unlock）がテストケースに反映されているか
- [ ] Windows固有の例外処理（SEH: __try/__except）を含むfilemap操作のテストケースが適切か
- [ ] 入力バリデーション（NULL/EINVAL）のテストがパブリックAPI全関数で存在するか
