evidence-ledgerlisted
Install: claude install-skill s977043/PlanGate
# Evidence Ledger
完了主張を証拠付きで記録し、EvidenceLedger として出力する。
## Iron Law
`NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE`
「should work now」「probably fixed」「テスト通るはず」等の推測的完了宣言は禁止。
コマンド実行結果・終了コード・出力抜粋を証拠として記録せよ。
TDD 必須 mode では、単なる「テストが通った」だけでは不十分。
**RED(期待通り失敗)→ GREEN(最小実装で成功)→ REFACTOR VERIFY(整理後も成功)** の証跡を分けて記録する。
## Common Rationalizations
| こう思ったら | 現実 |
|---|---|
| 「CIが通ったから証拠不要」 | CI はカバレッジの保証ではない。claim ごとに証拠を記録せよ |
| 「小さな修正だから証拠不要」 | 規模は関係ない。exitCode=0 を確認して記録せよ |
| 「レビューしたから大丈夫」 | review type の EvidenceItem として記録せよ |
| 「テストが通ったからTDD済み」 | GREENだけではTDD証跡にならない。REDの失敗理由も記録せよ |
| 「REDは見たがログは残していない」 | high-risk / critical では RED 証跡がなければ Completion Gate で block 対象 |
## データスキーマ
### EvidenceStatus
```json
"passed" | "failed" | "skipped" | "unknown"
```
### EvidenceType
```json
"command" | "diff" | "test" | "review" | "manual"
```
### EvidencePhase
`phase` は任意フィールド。ただし `type="test"` かつ TDD 証跡として使う場合は必須。
```json
"tdd_red" | "tdd_green" | "refactor_verify" | "verification" | "baseline"
```
| phase | 用途 | 期待する exitCode |
|---|---|---|
| `baseline` | 実装前の既存テスト確認 | `0` |
| `tdd_red` | failing test が期待通り失敗することの確認 | `!= 0` |
| `tdd_green` | 最小実装で対象テストが成功することの確認 | `0` |
| `refactor_verify` | refactor後も対象テスト・関連検証が成功することの確認 | `0` |
| `verification` | TDD以外の通常検証 | `0` |
`tdd_red` の `exitCode != 0` は失敗ではなく、**期待されたRED証跡**として扱う。ただし、`conclusion` には「なぜ期待通りの失敗と言えるか」を必ず書く。
### EvidenceItem
```json
{
"id": "string(例: ev-001)",
"type": "command | diff | test | review | man