<!-- 公開用の匿名化コピー。原証拠は evidence/ 配下（非公開）。変換規則は evidence_public/CONVERSION_RECORD.md を参照。内容の実行結果は変えていない。 -->

# 09-03 リスク別の検証 実行記録（Phase 5B-1）

- 実行日時: 2026-09-20 22:43 JST
- 実行環境（実測）: macOS 26.6.2 / Node.js v24.18.0（標準機能のみ、追加パッケージなし）
- 実行場所: <PROJECT_ROOT>/examples/09-03-risk-tests
- 記録方法: 各コマンドを順に実行し、stdout・stderr・終了コードを整形・省略せずにそのまま記録した。stderr が空の場合は「stderr: （出力なし）」と記す。
- 対象: 実際の同時アクセスは再現していない（保存先の状態条件を順番に呼び出す独立した小さなテスト）。run_repeat_scale.js の所要時間は実行のたびに変わる。run_mutation_check.js は正本をコピーして故意に壊した版（work-mutation/、終了時に削除）に対する検出力の確認で、正本は変えていない。

### 1. `node run_duplicate.js`

```text
$ node run_duplicate.js
=== 1回目の承認操作（先に届いた想定） ===
結果: {"updated":true,"currentState":"承認済み"}
=== 2回目の承認操作（同じ操作が二重に届いた想定） ===
結果: {"updated":false,"currentState":"承認済み"}

期待どおり：2回目は更新されなかった（重複を防止）
```

stderr: （出力なし）

終了コード: 0

### 2. `node run_resubmit_guard.js`

```text
$ node run_resubmit_guard.js
=== 承認者の承認が先に反映された想定 ===
結果: {"updated":true,"currentState":"承認済み"}
=== 依頼者が（承認と入れ違いで）再提出を試みた想定 ===
結果: {"updated":false,"currentState":"承認済み"}

期待どおり：承認済みになった後の再提出は防止された
```

stderr: （出力なし）

終了コード: 0

### 3. `node run_repeat_scale.js`

```text
$ node run_repeat_scale.js
作成件数: 50件（想定: 50件）
所要時間: 6ms
この確認は小規模な繰り返しの動作確認であり、負荷試験ではない。
```

stderr: （出力なし）

終了コード: 0

### 4. `node run_mutation_check.js`

```text
$ node run_mutation_check.js
=== 故意に状態条件を削った版に対して、同じ承認操作を2回届ける ===
1回目: {"updated":true,"currentState":"承認済み"}
2回目: {"updated":true,"currentState":"承認済み"}

検出できた：壊した版ではテストが「想定外の結果」と判定した（状態条件の欠落を見つけられる）
```

stderr: （出力なし）

終了コード: 0

