---
generated_at: 2026-02-17 23:15:00
metrics:
  claims_total: 135
  claims_with_evidence: 135
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：135 / 135、根拠なし：0
- 優先レビュー（高）
  1. **completion関数**: メインのエントリーポイント、全補完ロジックの統合点
  2. **checkField/checkGlobal関数**: フィールド・グローバル変数補完の核心ロジック
  3. **tryWord関数**: 単語入力時の補完処理全体のオーケストレーション

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `script/core/completion/init.lua` - モジュールエントリーポイント（1行）
- E-02: `script/core/completion/completion.lua` - メイン補完ロジック（2409行）
- E-03: `script/core/completion/keyword.lua` - キーワードスニペット定義（409行）
- E-04: `script/core/completion/auto-require.lua` - 自動require補完（168行）
- E-05: `script/core/completion/postfix.lua` - postfix補完（413行）
- E-06: `docs/code-to-docs/単体テストケース一覧/plan.md` - プロジェクト情報

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

### completion.lua (E-02)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | completion関数が有効なURIとpositionで補完結果を返却 | E-02 (2379-2397行: completion関数定義) | ○ |
| C-02 | triggerCharacter指定時の補完動作 | E-02 (2379行: triggerCharacterパラメータ) | ○ |
| C-03 | stateが存在しない場合にnil返却 | E-02 (2380-2383行: state存在チェック) | ○ |
| C-04 | 補完結果が空の場合にnil返却 | E-02 (2392-2394行: results空チェック) | ○ |
| C-05 | resolve関数でstackからコールバック実行 | E-02 (2400-2402行: resolve関数定義) | ○ |
| C-06 | 無効なIDでresolve時にnil返却 | E-02 (63-71行: resolveStack関数でlog.warn後nil) | ○ |
| C-07 | stack関数でコールバック登録 | E-02 (38-56行: stack関数定義) | ○ |
| C-08 | clearStack関数でスタッククリア | E-02 (58-60行: clearStack関数定義) | ○ |
| C-09 | resolveStack関数でコールバック実行 | E-02 (63-71行: resolveStack関数定義) | ○ |
| C-10 | trim関数で空白削除 | E-02 (73-75行: trim関数定義) | ○ |
| C-11 | findNearestSource関数で最近接ソース検索 | E-02 (77-86行: findNearestSource関数定義) | ○ |
| C-12 | findNearestTable関数でテーブル検索 | E-02 (88-148行: findNearestTable関数定義) | ○ |
| C-13 | findParent関数で親オブジェクト検索 | E-02 (150-189行: findParent関数定義) | ○ |
| C-14 | findParentInStringIndex関数で文字列インデックス親検索 | E-02 (191-212行: findParentInStringIndex関数定義) | ○ |
| C-15 | buildFunctionSnip関数でスニペット生成 | E-02 (214-234行: buildFunctionSnip関数定義) | ○ |
| C-16 | buildDetail関数で詳細情報生成 | E-02 (236-244行: buildDetail関数定義) | ○ |
| C-17 | getSnip関数でコードスニペット取得 | E-02 (246-275行: getSnip関数定義) | ○ |
| C-18 | buildDesc関数で説明生成 | E-02 (278-285行: buildDesc関数定義) | ○ |
| C-19 | buildFunction関数で関数補完項目生成 | E-02 (287-313行: buildFunction関数定義) | ○ |
| C-20 | isSameSource関数で同一ソース判定 | E-02 (315-324行: isSameSource関数定義) | ○ |
| C-21 | getParams関数で引数文字列生成 | E-02 (326-344行: getParams関数定義) | ○ |
| C-22 | checkLocal関数でローカル変数補完 | E-02 (346-412行: checkLocal関数定義) | ○ |
| C-23 | checkModule関数でモジュール補完 | E-02 (414-449行: checkModule関数定義) | ○ |
| C-24 | checkFieldFromFieldToIndex関数でフィールド変換 | E-02 (451-500行: checkFieldFromFieldToIndex関数定義) | ○ |
| C-25 | checkFieldThen関数でフィールド補完項目追加 | E-02 (502-561行: checkFieldThen関数定義) | ○ |
| C-26 | checkFieldOfRefs関数で参照フィールド補完 | E-02 (564-669行: checkFieldOfRefs関数定義) | ○ |
| C-27 | checkGlobal関数でグローバル変数補完 | E-02 (672-676行: checkGlobal関数定義) | ○ |
| C-28 | checkField関数でフィールド補完 | E-02 (680-688行: checkField関数定義) | ○ |
| C-29 | checkTableField関数でテーブルフィールド補完 | E-02 (690-717行: checkTableField関数定義) | ○ |
| C-30 | checkCommon関数で共通単語補完 | E-02 (719-805行: checkCommon関数定義) | ○ |
| C-31 | checkKeyWord関数でキーワード補完 | E-02 (807-877行: checkKeyWord関数定義) | ○ |
| C-32 | checkProvideLocal関数でローカル候補提案 | E-02 (879-913行: checkProvideLocal関数定義) | ○ |
| C-33 | checkFunctionArgByDocParam関数でドキュメント引数補完 | E-02 (915-958行: checkFunctionArgByDocParam関数定義) | ○ |
| C-34 | isAfterLocal関数でlocal直後判定 | E-02 (960-965行: isAfterLocal関数定義) | ○ |
| C-35 | collectRequireNames関数でrequire名収集 | E-02 (967-1071行: collectRequireNames関数定義) | ○ |
| C-36 | checkUri関数でURI補完 | E-02 (1073-1099行: checkUri関数定義) | ○ |
| C-37 | checkLenPlusOne関数で#t+1補完 | E-02 (1101-1156行: checkLenPlusOne関数定義) | ○ |
| C-38 | tryLabelInString関数で文字列ラベル処理 | E-02 (1158-1170行: tryLabelInString関数定義) | ○ |
| C-39 | cleanEnums関数で列挙値クリーンアップ | E-02 (1172-1186行: cleanEnums関数定義) | ○ |
| C-40 | insertDocEnum関数でドキュメント列挙補完 | E-02 (1193-1258行: insertDocEnum関数定義) | ○ |
| C-41 | insertEnum関数で列挙値挿入 | E-02 (1315-1375行: insertEnum関数定義) | ○ |
| C-42 | checkTypingEnum関数で型列挙補完 | E-02 (1377-1386行: checkTypingEnum関数定義) | ○ |
| C-43 | checkEqualEnumLeft関数で代入列挙補完 | E-02 (1388-1399行: checkEqualEnumLeft関数定義) | ○ |
| C-44 | checkEqualEnum関数で比較列挙補完 | E-02 (1401-1428行: checkEqualEnum関数定義) | ○ |
| C-45 | isFuncArg関数で関数引数位置判定 | E-02 (1465-1471行: isFuncArg関数定義) | ○ |
| C-46 | trySpecial関数で特殊補完 | E-02 (1473-1483行: trySpecial関数定義) | ○ |
| C-47 | tryIndex関数でインデックス補完 | E-02 (1486-1496行: tryIndex関数定義) | ○ |
| C-48 | tryWord関数で単語補完 | E-02 (1499-1558行: tryWord関数定義) | ○ |
| C-49 | trySymbol関数でシンボル補完 | E-02 (1561-1583行: trySymbol関数定義) | ○ |
| C-50 | findCall関数で関数呼び出し検出 | E-02 (1585-1595行: findCall関数定義) | ○ |
| C-51 | getCallArgInfo関数で引数情報取得 | E-02 (1597-1607行: getCallArgInfo関数定義) | ○ |
| C-52 | checkTableLiteralField関数でテーブルリテラル補完 | E-02 (1609-1671行: checkTableLiteralField関数定義) | ○ |
| C-53 | tryCallArg関数で関数引数補完 | E-02 (1673-1696行: tryCallArg関数定義) | ○ |
| C-54 | tryTable関数でテーブル補完 | E-02 (1698-1721行: tryTable関数定義) | ○ |
| C-55 | tryArray関数で配列補完 | E-02 (1723-1740行: tryArray関数定義) | ○ |
| C-56 | getComment関数でコメント検出 | E-02 (1742-1755行: getComment関数定義) | ○ |
| C-57 | getLuaDoc関数でLuaDoc検出 | E-02 (1757-1770行: getLuaDoc関数定義) | ○ |
| C-58 | tryluaDocCate関数でLuaDocカテゴリ補完 | E-02 (1772-1807行: tryluaDocCate関数定義) | ○ |
| C-59 | tryluaDocBySource関数でソース別LuaDoc補完 | E-02 (1852-2024行: tryluaDocBySource関数定義) | ○ |
| C-60 | tryluaDocByErr関数でエラー時LuaDoc補完 | E-02 (2027-2181行: tryluaDocByErr関数定義) | ○ |
| C-61 | buildluaDocOfFunction関数でドキュメントスニペット生成 | E-02 (2183-2225行: buildluaDocOfFunction関数定義) | ○ |
| C-62 | tryluaDocOfFunction関数で関数ドキュメント補完 | E-02 (2227-2257行: tryluaDocOfFunction関数定義) | ○ |
| C-63 | trySymbolReference関数でシンボル参照補完 | E-02 (2261-2286行: trySymbolReference関数定義) | ○ |
| C-64 | tryLuaDoc関数でLuaDoc補完統合 | E-02 (2289-2322行: tryLuaDoc関数定義) | ○ |
| C-65 | tryComment関数でコメント補完 | E-02 (2324-2354行: tryComment関数定義) | ○ |
| C-66 | tryCompletions関数で全補完統合 | E-02 (2357-2376行: tryCompletions関数定義) | ○ |

### keyword.lua (E-03)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-67 | doスニペット生成 | E-03 (8-38行: do定義) | ○ |
| C-68 | elseifスニペット生成 | E-03 (42-64行: elseif定義) | ○ |
| C-69 | forスニペット生成 | E-03 (67-126行: for定義) | ○ |
| C-70 | functionスニペット生成 | E-03 (127-156行: function定義) | ○ |
| C-71 | ifスニペット生成 | E-03 (158-186行: if定義) | ○ |
| C-72 | local functionスニペット生成 | E-03 (216-239行: local定義) | ○ |
| C-73 | repeatスニペット生成 | E-03 (243-263行: repeat定義) | ○ |
| C-74 | whileスニペット生成 | E-03 (305-328行: while定義) | ○ |
| C-75 | continueスニペット生成 | E-03 (329-406行: continue定義) | ○ |
| C-76 | Lua 5.1でcontinue無効 | E-03 (334-337行: バージョンチェック) | ○ |

### auto-require.lua (E-04)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-77 | getTargetSource関数で戻り値ソース取得 | E-04 (21-36行: getTargetSource関数定義) | ○ |
| C-78 | return文なしでnil返却 | E-04 (23-25行: targetReturnsチェック) | ○ |
| C-79 | 非対応型でnil返却 | E-04 (30-34行: 型チェック) | ○ |
| C-80 | check関数でマッチコールバック呼び出し | E-04 (38-153行: check関数定義) | ○ |
| C-81 | ローカル変数重複スキップ | E-04 (75行: locals[stemName]チェック) | ○ |
| C-82 | グローバル変数重複スキップ | E-04 (76行: vm.hasGlobalSetsチェック) | ○ |
| C-83 | enum名マッチでコールバック | E-04 (99-151行: enumチェック) | ○ |
| C-84 | files.watchでvalidUrisクリア | E-04 (155-166行: ファイル監視定義) | ○ |
| C-85 | compileイベントでvalidUris登録 | E-04 (160-164行: compileイベント処理) | ○ |

### postfix.lua (E-05)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-86 | function postfix生成 | E-05 (33-49行: function register) | ○ |
| C-87 | method postfix生成 | E-05 (51-74行: method register) | ○ |
| C-88 | pcall postfix生成 | E-05 (76-104行: pcall register) | ○ |
| C-89 | xpcall postfix生成 | E-05 (106-134行: xpcall register) | ○ |
| C-90 | ifcall postfix生成 | E-05 (136-167行: ifcall register) | ○ |
| C-91 | local postfix生成 | E-05 (169-185行: local register) | ○ |
| C-92 | ipairs postfix生成 | E-05 (187-203行: ipairs register) | ○ |
| C-93 | pairs postfix生成 | E-05 (205-221行: pairs register) | ○ |
| C-94 | unpack postfix生成 | E-05 (223-239行: unpack register) | ○ |
| C-95 | insert postfix生成 | E-05 (241-257行: insert register) | ○ |
| C-96 | remove postfix生成 | E-05 (259-275行: remove register) | ○ |
| C-97 | concat postfix生成 | E-05 (277-293行: concat register) | ○ |
| C-98 | ++ postfix生成 | E-05 (295-309行: ++ register) | ○ |
| C-99 | ++? postfix生成 | E-05 (311-325行: ++? register) | ○ |
| C-100 | checkPostFix関数でpostfix補完 | E-05 (338-379行: checkPostFix関数定義) | ○ |
| C-101 | 非対応型スキップ | E-05 (339-344行: accepts型チェック) | ○ |
| C-102 | メインpostfix関数で文字列内無効 | E-05 (381-384行: isInStringチェック) | ○ |
| C-103 | postfix記号補完 | E-05 (392-396行: symbol比較) | ○ |
| C-104 | hasNonFieldInNode関数 | E-05 (20-31行: hasNonFieldInNode関数定義) | ○ |

### init.lua (E-01)

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-105 | completion.luaのrequire | E-01 (1行: require 'core.completion.completion') | ○ |

## 4) 不足情報（Unknown / Missing）
- 全テストケースはソースコードの実装に基づいており、根拠なしの項目はありません

## 5) リスクフラグ（レビュー観点）
- 0 (低リスク): 全てのテストケースがソースコードの実装に直接対応

## 6) レビュアーチェックリスト（最小）
- [ ] completion関数のメインロジックのテストケース（C-01〜C-04）が網羅的か確認
- [ ] 異常系テストケースが各関数に対して適切に定義されているか確認
- [ ] 境界値テストケース（空文字列、0位置など）が十分か確認
- [ ] postfixスニペットの全パターンがテストケースに含まれているか確認
- [ ] LuaDoc補完関連のテストケースが十分か確認
- [ ] 設定値（config）による分岐のテストケースが網羅されているか確認
