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

# 11-03 初期利用の演習 実行記録（Phase 5B-2C1）

- 実行日時: 2026-09-21 00:18 JST
- 実行環境（実測）: macOS 26.6.2 / Node.js v24.18.0（標準機能のみ、追加パッケージなし）
- 実行場所: <PROJECT_ROOT>/examples/11-03-initial-use-record
- 記録方法: 各コマンドを順に実行し、stdout・stderr・終了コードを整形・省略せずにそのまま記録した。stderr が空の場合は「stderr: （出力なし）」と記す。
- 対象: run.js（11-02 の正本 deploy.js が配置した deploy_target/ をそのまま使う形に変更。旧 11-02 版 deploy.js のコピーは削除）。実際の利用者による利用ではない演習。確認記録の「実施日」は UTC の日付（toISOString）。

### 1. `node run.js`（11-02 未配置。止まる）

```text
$ node run.js
11-02 の配置が見つかりません（../11-02-deploy-record/deploy_target）。先に examples/10-02-migration-plan と examples/11-02-deploy-record で node run.js を実行してください
```

stderr: （出力なし）

終了コード: 1

### 2. `node run.js`（examples/11-02-deploy-record で。配置）

```text
$ node run.js
配置対象: ローカル配置サンドボックス（deploy_target）
版: v0.1.0-sandbox
配置元（アプリ）: ../08-01-minimal-example/approval.js
配置元（移行データ）: ../10-02-migration-plan/migrated_requests.json

配置手順を実行しました（アプリのコピー、移行データのコピー、版の記録、配置記録の作成）。
  ../08-01-minimal-example/approval.js → deploy_target/app/approval.js（sha256: 6dc21fe173b6…）
  ../10-02-migration-plan/migrated_requests.json → deploy_target/data/requests.json（sha256: e1ec5e804e69…）

確認コマンド（健全性確認）の実行結果:
  アプリの健全性（canApprove）: 期待結果=true 実際の結果=true 判定=一致
  アプリが08-01の正本と同一（sha256）: 期待結果=true 実際の結果=true 判定=一致
  移行データが10-02の出力と同一（sha256）: 期待結果=true 実際の結果=true 判定=一致
  移行データの件数: 期待結果=3 実際の結果=3 判定=一致
  版の記録: 期待結果="v0.1.0-sandbox" 実際の結果="v0.1.0-sandbox" 判定=一致

すべての確認項目が一致しました。
```

stderr: （出力なし）

終了コード: 0

### 3. `node run.js`（11-02 の配置に対する初期利用の演習）

```text
$ node run.js
手順1：11-02 が配置した内容を使う（版 v0.1.0-sandbox、配置日時 2026-09-20T15:18:06.677Z）。健全性確認 5件すべて一致
  配置元 ../08-01-minimal-example/approval.js → app/approval.js（sha256: 6dc21fe173b6…）
  配置元 ../10-02-migration-plan/migrated_requests.json → data/requests.json（sha256: e1ec5e804e69…）
手順2：初期利用の範囲
  対象者: 承認者役の2名（鈴木、佐藤）。依頼者役は対象外（提出機能を配置していないため）
  機能: 承認可否の判定（canApprove）のみ。状態の更新・保存、提出、差戻し、再提出は配置していないため対象外
  期間: この演習の1回の実行（実際の利用期間ではない）
  確認項目: 判定を行った件数、許可された件数、拒否された件数、エラー（例外）の有無、想定と異なる操作パターンの有無
手順3：承認者役の操作を配置したデータに対して行う
  鈴木 が REQ-OLD-001（状態=提出済み、割当=鈴木）を承認できるか → true（割当承認者による承認）
  鈴木 が REQ-OLD-002（状態=提出済み、割当=鈴木）を承認できるか → true（割当承認者による承認）
  佐藤 が REQ-OLD-005（状態=提出済み、割当=佐藤）を承認できるか → true（割当承認者による承認）
  高橋 が REQ-OLD-001（状態=提出済み、割当=鈴木）を承認できるか → false（割当外の承認者が承認を試みる（想定外の操作パターン））
手順4：確認記録
{
  "版": "v0.1.0-sandbox",
  "配置日時": "2026-09-20T15:18:06.677Z",
  "対象者": "承認者役の2名（鈴木、佐藤）。依頼者役は対象外（提出機能を配置していないため）",
  "機能": "承認可否の判定（canApprove）のみ。状態の更新・保存、提出、差戻し、再提出は配置していないため対象外",
  "期間": "この演習の1回の実行（実際の利用期間ではない）",
  "確認項目": [
    "判定を行った件数",
    "許可された件数",
    "拒否された件数",
    "エラー（例外）の有無",
    "想定と異なる操作パターンの有無"
  ],
  "正常の記録": "判定 4 件、許可 3 件、拒否 1 件、例外 0 件。割当承認者による承認 3 件はすべて許可された",
  "異常の兆候": [
    "高橋 による REQ-OLD-001 への割当外の承認試行が 1 件。判定は拒否（正常な動作）。繰り返される場合は説明不足の兆候として扱う"
  ],
  "対象外のため未確認": "状態の更新・保存（承認済みへの変更と履歴の記録）、提出・差戻し・再提出、画面の操作、実際の利用者による利用",
  "実施日": "2026-09-20",
  "実施者": "Claude Code（演習。実際の利用者ではない）"
}
確認記録と操作の記録を initial_use_record.json に保存した
手順5：判定
  止めて戻す条件には該当しない。ただし、状態の更新・提出などは配置していないため、この演習で『範囲を広げてよい』と判断できるのは承認可否の判定に限られる
```

stderr: （出力なし）

終了コード: 0

### 4. `cat initial_use_record.json`

```text
$ cat initial_use_record.json
{
  "record": {
    "版": "v0.1.0-sandbox",
    "配置日時": "2026-09-20T15:18:06.677Z",
    "対象者": "承認者役の2名（鈴木、佐藤）。依頼者役は対象外（提出機能を配置していないため）",
    "機能": "承認可否の判定（canApprove）のみ。状態の更新・保存、提出、差戻し、再提出は配置していないため対象外",
    "期間": "この演習の1回の実行（実際の利用期間ではない）",
    "確認項目": [
      "判定を行った件数",
      "許可された件数",
      "拒否された件数",
      "エラー（例外）の有無",
      "想定と異なる操作パターンの有無"
    ],
    "正常の記録": "判定 4 件、許可 3 件、拒否 1 件、例外 0 件。割当承認者による承認 3 件はすべて許可された",
    "異常の兆候": [
      "高橋 による REQ-OLD-001 への割当外の承認試行が 1 件。判定は拒否（正常な動作）。繰り返される場合は説明不足の兆候として扱う"
    ],
    "対象外のため未確認": "状態の更新・保存（承認済みへの変更と履歴の記録）、提出・差戻し・再提出、画面の操作、実際の利用者による利用",
    "実施日": "2026-09-20",
    "実施者": "Claude Code（演習。実際の利用者ではない）"
  },
  "log": [
    {
      "actor": "鈴木",
      "requestId": "REQ-OLD-001",
      "state": "提出済み",
      "approver": "鈴木",
      "result": true,
      "note": "割当承認者による承認"
    },
    {
      "actor": "鈴木",
      "requestId": "REQ-OLD-002",
      "state": "提出済み",
      "approver": "鈴木",
      "result": true,
      "note": "割当承認者による承認"
    },
    {
      "actor": "佐藤",
      "requestId": "REQ-OLD-005",
      "state": "提出済み",
      "approver": "佐藤",
      "result": true,
      "note": "割当承認者による承認"
    },
    {
      "actor": "高橋",
      "requestId": "REQ-OLD-001",
      "state": "提出済み",
      "approver": "鈴木",
      "result": false,
      "note": "割当外の承認者が承認を試みる（想定外の操作パターン）"
    }
  ]
}```

stderr: （出力なし）

終了コード: 0

