計画に従い、変更対象外の既存契約を保ちつつ、要求と因果関係のある範囲で実装してください。
Workflow Contextに示されたReport Directory内のファイルと、入力に明示された上流成果物を参照してください。他のレポートディレクトリは検索/参照しないでください。
Report Directory内のレポートを一次情報として参照してください。不足情報の補完が必要な場合に限り、Previous Responseや会話履歴を補助的に参照して構いません（Previous Responseは提供されない場合があります）。情報が競合する場合は、Report Directory内のレポートと実際のファイル内容を優先してください。

{{include:instructions/implement-common}}
- 既存コードを変更したら関連テストを更新する。ただし、実装都合で既存の期待値を緩和しない

**保守変更の追加制約:**
- 実装前に各変更候補の Contract ID、変更場所（file:line）、因果根拠、`required`・`related` の分類を整理する
- 変更範囲外で保存する既存契約について、Contract ID、現行契約を示す証拠、保存方法、検証証拠を整理する
- 置換する契約について、Contract ID、旧経路、現行利用側の移行状態、要求された旧経路の削除状態、新しい挙動、その証拠を整理する
- 不要変更の候補ごとに、場所、候補内容、未導入・この implementation step で導入したため除去・明示的に許可済みのいずれかの disposition と理由を記録する
- `required` と `related` だけを実装する
- 変更ファイル内という理由だけで、作法改善、改名、ファイル移動、公開型名・返却構造・利用側インターフェースの変更、コメント削除、テスト期待値変更を行わない
- 要求と因果関係のない構造変更をしない
- 新仕様の正方向検証の代替として、旧仕様の不在だけを確認する absence-only test を使わない。ただし、明示的な拒否・除外契約を検証する negative test は保持する
- 同種の既存実装を確認し、そのパターンに合わせる。独自の書き方を持ち込まない
- 実装後に全差分を確認し、この implementation step が導入したと確認できる不要変更だけを除去する。既存変更や他 step の必要変更は戻さない

**判断記録:**
- 自明でない判断がある場合のみ、判断内容、根拠となるコード・要求・実行証跡、検討した代替案と不採用理由、影響する Contract ID を記録する

**追加の完了前確認:**
1. 全差分を確認し、要求外の改名、移動、コメント削除、UI文言変更、アクセシビリティ名変更、テスト期待値変更が残っていないか確認する
2. 仕様変更で旧設計を置換した場合、新仕様の正方向検証があり、旧設計の不在だけをその代替として検証していないことを確認する。明示的な拒否・除外契約を検証する negative test は除去しない

**必須出力（見出しを含める）**
## 作業結果
- {実施内容の要約}
## 変更内容
- {必須変更と関連変更の要約}
## 戻した不要変更
- {この implementation step が導入した後に戻した変更。なければ「なし」}
## ビルド結果
- {ビルド実行結果}
## テスト結果
- {テスト実行コマンドと結果}
