GREEN:

# Front Door設計改革レポート 2026-05-18

## 目的

Codex公式機能の現状とローカルFront Door設計を照合し、以前の設計で見捨てる部分、非効率な部分、代替可能な部分、緩めた方がよい部分を抽出した。加えて、実装へ移すための修正手段として、検出lint、改革matrix、適用ガイドを作成した。

## 公式確認

- Codex hooksは公式ドキュメント上、Codex lifecycleにdeterministic scriptsを差し込む拡張機構で、hooksは既定で有効と説明されている。設定場所としてrepo-local `.codex/hooks.json` も示されている。Source: https://developers.openai.com/codex/hooks
- Codex Automationsはrecurring Codex tasksをbackgroundで走らせ、skillsと組み合わせられる。Source: https://developers.openai.com/codex/app/automations
- In-app browser / Browser useは、local development servers、file-backed previews、public pagesのrendered state確認、click/type/inspect/screenshotに使える。ただしsign-inやcookiesが必要なページは通常ブラウザやChrome extension側。Source: https://developers.openai.com/codex/app/browser
- Skillsはreusable workflowのauthoring formatで、Pluginsはskills/apps/MCP serversを束ねるdistribution unit。Source: https://developers.openai.com/codex/skills and https://developers.openai.com/codex/plugins
- MCPはCodexへthird-party tools/contextを接続する公式機能。設定変更はCodex configの範囲になるため、利用可否と設定変更を分けて扱うべき。Source: https://developers.openai.com/codex/mcp
- Sandbox modeとapproval policyは別レイヤー。workspace-writeでもnetworkは既定offで、範囲外編集やnetworkは承認対象になる。Source: https://developers.openai.com/codex/agent-approvals-security
- Codex feature maturityは、Under development / Experimental / Beta / Stableの段階で使い方を決める前提。公式機能を危ないから全面禁止するより、maturityとrisk tierでpilot化する方が筋がよい。Source: https://developers.openai.com/codex/feature-maturity

## ローカル設計の問題点

1. hooks完全無効の表現が強すぎる。
   - `AGENTS.md` の `Keep hooks disabled...` は、旧Claude hook stackを戻さないルールとしては妥当だが、Codex hooksまで完全禁止に見える。
   - 公式Codex hooksはprompt scan、secret scan、validation、memoryなどに使えるため、check-only pilotを塞ぐのは非効率。

2. MVP外の列挙が古い。
   - `MCP integration / Codex Skill conversion / external API execution / Claude Code body execution / production data retrieval / UI automation are not part of this MVP` は、現在のローカル実装と衝突している。
   - 実際にはSkill、Browser Evidence、Standing Read-Only Approval、MCP read、external read、Claude workerは条件付きで採用済み。

3. 通常タスクテンプレートが治理タスクにも刺さる。
   - `hooks / rules / Evidence Gate / Completion Gate / Preflight Gate / Codex 設定の追加修正は禁止` は通常タスクでは正しい。
   - ただし今回のようなFront Door設計改善依頼では、docs/scripts/tests/report作成まで止める過剰制限になる。

4. UI automationという語が粗い。
   - Browser EvidenceやPlaywright read-only QAはむしろ必要。
   - 禁止すべきは保存、送信、購入、友だち追加完了、本番変更などのfinal action。

5. example-only hooksが運用価値を出していない。
   - `.codex/hooks.example.json` とhooks guideはあるが、Stage 0/1/2/3のpilot手順が不足している。

## 捨てる・緩める・置き換える候補

| id | 判定 | 対象 | 修正方向 |
| --- | --- | --- | --- |
| FD-REFORM-001 | 緩める | hooks完全無効 | 旧Claude hooksは無効維持。Codex project-local check-only hooksは明示承認制pilotへ。 |
| FD-REFORM-002 | 置き換える | MVP外の一括列挙 | feature単位の禁止からcapability/risk tier matrixへ。 |
| FD-REFORM-003 | 狭める | 通常タスクテンプレートの禁止文 | 通常タスク限定にし、治理改善はlocal docs/scripts/tests/report作成を許可。 |
| FD-REFORM-004 | 代替 | example-only hooks | staged pilot guideへ。activationは別承認。 |
| FD-REFORM-005 | 最適化 | 全run dual review | 低リスクlocal/check-onlyはdeterministic gates中心、高リスクはdual review維持。 |
| FD-REFORM-006 | 維持+限定 | ChatGPT共有 | 非機密Markdown reportは維持。自動送信は未採用。 |
| FD-REFORM-007 | 置き換える | UI automation禁止 | UI read/verifyとUI mutate/completeを分離。 |

詳細は `docs/ai_workflow/frontdoor_design_reform_matrix_20260518.yml` に分解した。

## 作成した修正手段

- `scripts/secretary/frontdoor_design_reform_lint.py`
  - 古いblanket banを検出するcheck-only script。
  - `--write-json` でEvidence JSONを出せる。
  - active policyを自動編集しない。
- `docs/ai_workflow/frontdoor_design_reform_matrix_20260518.yml`
  - 捨てる、置き換える、緩める、維持する対象を分類したmatrix。
- `docs/ai_workflow/frontdoor_design_reform_fix_guide_20260518.md`
  - 実際にどう修正するかの手順、承認文例、検証コマンド、残す厳格ルールをまとめた。
- `tmp/frontdoor_design_reform_lint_20260518.json`
  - 今回のlocal stale-rule scan結果。
- `tmp/frontdoor_design_reform_evidence_20260518.json`
  - 公式確認、local scan、作成物、未実行操作をまとめたEvidence Package。

## 検証

- `python -m py_compile scripts\secretary\frontdoor_design_reform_lint.py`: PASS。
- `python scripts\secretary\frontdoor_design_reform_lint.py --write-json tmp\frontdoor_design_reform_lint_20260518.json`: PASS、5件検出。
- `python scripts\ai_workflow\frontdoor_check.py`: GREEN。既存のstricter forbidden rule warningのみ。
- `python scripts\ai_workflow\evidence_check.py --sample`: GREEN。
- `python scripts\secretary\evidence_package_lint.py --sample`: PASS。
- `python scripts\secretary\evidence_package_lint.py tmp\frontdoor_design_reform_evidence_20260518.json`: PASS。
- `python -m unittest tests.test_universal_work_control_plane`: PASS、24 tests。
- `git diff --check -- targeted files`: PASS。
- `python scripts\secretary\uwcp_adoption_gate.py --intent tmp\frontdoor_design_reform_intent_20260518.json --evidence tmp\frontdoor_design_reform_evidence_20260518.json --write-receipt tmp\frontdoor_design_reform_adoption_receipt_20260518.json`: ADOPTED。

## すぐ適用すべきではない範囲

- `.codex/hooks.json` の有効化。
- user-level `~/.codex/config.toml` やmanaged requirements変更。
- `.mcp.json`、MCP server追加、plugin install。
- production serviceのread/write。
- Browserでの認証済みfinal action。
- commit、push、PR、merge。

これらは修正案ができても、内川様の明示承認を別に取る。

## 結論

今回の結論は「安全機能を外す」ではない。古い全面禁止を、公式Codex機能に合わせて `check-only / read-only / prepare-before-save / write-or-final-action` に分割する。これにより、hooksやMCPやBrowserを安全な範囲で活用しつつ、本当に危険な保存・送信・購入・友だち追加完了・本番変更・secret/PII出力は引き続き止められる。

## 未実行の高リスク操作

- hooks有効化なし。
- settings変更なし。
- MCP設定変更なし。
- env/credentials/secrets変更なし。
- production read/writeなし。
- save/send/purchase/friend-add completionなし。
- commit/push/PR/mergeなし。

## PR / commit状態

- commit未実行。
- push未実行。
- PR未作成。
- merge未実行。

## ChatGPT判断点

現時点でChatGPT判断は不要。次の人間判断点は、active policy文言や `.codex/hooks.json` を実際に変更してよいかどうか。今回作成した修正手段は、その判断前に確認できる材料として使う。
