Phase 58 Upstream Adoption Plan - 2026-05-03
この文書は、Claude Code 2.1.120-2.1.126 と Codex 0.125.0 / 0.128.0 の更新を、Claude Code Harness でどう活用するかを決めるための採用計画です。
ひとことで
Phase 58 は、Claude / Codex の新機能をそのまま足すのではなく、Harness の安全境界、レビュー証跡、Codex 並列運用に合う形へ翻訳してから導入します。
たとえると
新しい工具が届いた状態です。 すぐ現場に出すもの、保護カバーを付けるもの、まだ棚に置いておくものを分けます。
公式情報
- Claude Code changelog: https://code.claude.com/docs/en/changelog
- Claude Code GitHub changelog: https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
- Codex
rust-v0.125.0: https://github.com/openai/codex/releases/tag/rust-v0.125.0 - Codex
rust-v0.128.0: https://github.com/openai/codex/releases/tag/rust-v0.128.0
採用メニュー
🛡️ A. Claude protected-write hardening
活用する更新:
- Claude Code
2.1.121:.claude/skills/,.claude/agents/,.claude/commands/への write prompt bypass 範囲が変化。 - Claude Code
2.1.126:.claude/,.git/,.vscode/, shell config files などの protected path bypass 範囲が拡大。 - Claude Code
2.1.126:allowManagedDomainsOnly/allowManagedReadPathsOnlyprecedence 修正。
既存実装:
go/internal/guardrail/helpers.goは.git/,.env, secret keys,.husky/を protected path 扱いしている。go/internal/guardrail/rules.goはWrite/Edit/MultiEditの protected path 書き込みを deny し、Bash redirection の.env/.git/key書き込みも deny している。templates/claude/settings.security.json.templateは.claude/settings*と.claude-plugin/settings*の deny を持つ。
不足:
.claude/skills,.claude/agents,.claude/commands,.vscode, shell rc/profile files の分類がない。.claude/rules,.claude/memory, setup metadata を warn に残す分類がない。- Bash
tee/ redirection で.claude/*,.vscode/*, shell config files に書くケースを検出していない。 - managed sandbox 境界を
harness.toml/ settings / template / CI で検証していない。
競合しない使い方:
.claude/全体 deny はしない。- deny / ask / warn を分ける。
PermissionRequestではなくPreToolUseguardrail 側で止める。WorkModeでも protected path ルールは緩めない。
採用判断:
- ✅ 導入推奨。
- 最初に入れる。
- 事故防止の土台になる。
実装計画:
go/internal/guardrail/helpers.goに protected path taxonomy を追加する。- deny:
.git/, secrets, shell rc/profile files, destructive hook entrypoints。 - ask:
.claude/skills/,.claude/agents/,.claude/commands/,.vscode/。 - warn:
.claude/rules/,.claude/memory/, setup metadata。 go/internal/guardrail/rules.goでWrite/Edit/MultiEditと Bash write の分類を共通化する。scripts/ci/check-consistency.shで managed sandbox 境界を検証する。tests/test-claude-upstream-integration.shに Phase 58.2.1 実装検出を追加する。
検証:
go test ./go/internal/guardrail/...bash tests/test-claude-upstream-integration.shbash scripts/ci/check-consistency.sh./tests/validate-plugin.sh
✂️ B. PostToolUse updatedToolOutput output governance
活用する更新:
- Claude Code
2.1.121:PostToolUsehooks can replace output for all tools viahookSpecificOutput.updatedToolOutput。
既存実装:
go/pkg/hookproto/types.goのPostToolHookSpecificはhookEventNameとadditionalContextのみ。harness hook post-toolは警告がある時だけadditionalContextを返す。- shell hooks も
additionalContext中心で、tool output の置換はしていない。
不足:
updatedToolOutput型がない。tool_response,tool_use_id,duration_msの入力保持がない。- before / after / audit record のモデルがない。
- review / test / lint 証拠を消さない機械テストがない。
競合しない使い方:
- 既定では tool output を書き換えない。
- opt-in のみ。
- 許可用途は secret redaction、長大出力 compaction、machine-readable normalization に限定する。
- 禁止用途は review / test / lint / error evidence の削除。
- stdout は JSON 契約だけにし、人間向け説明を混ぜない。
採用判断:
- 🟡 設計を先に導入。
- 実装は A の後。
- 便利だが証拠を壊しやすい。
実装計画:
docs/output-governance.mdを追加する。go/pkg/hookprotoにToolResponse,ToolUseID,DurationMS,UpdatedToolOutputを追加する。HARNESS_OUTPUT_GOVERNANCE=redact|compact|normalizeのような opt-in を設計する。- 単一の同期 PostToolUse mutation handler に集約する。
.claude/state/output-governance.jsonlに original hash / updated hash / policy / reason を記録する。- test failure / review finding / lint error は置換禁止としてテスト固定する。
検証:
- no-default-mutation test
- Bash secret redaction shape test
- review/test failure output non-mutation test
- audit record test
- stdout JSON-only test
bash tests/test-claude-upstream-integration.sh
🧭 C. Claude setup / MCP / telemetry / provider guidance
活用する更新:
claude ultrareview [target] --json${CLAUDE_EFFORT}claude plugin validateschema acceptance- MCP
alwaysLoad claude plugin pruneANTHROPIC_BEDROCK_SERVICE_TIERclaude project purgeclaude_code.skill_activated.invocation_trigger- Windows PowerShell primary shell
- forked skills/subagents deferred tools
既存実装:
/ultrareviewは Harness flow 内で呼ばない方針がある。claude plugin validateはtests/validate-plugin.shで実行される。- Codex MCP / provider guidance はある。
- Windows docs は Git Bash / MSYS / Cygwin / WSL2 中心である。
不足:
claude ultrareview --jsonと Harnessreview-result.v1の境界が未更新。${CLAUDE_EFFORT\}を skill tuning に使う方針がない。- Claude Code MCP
alwaysLoadと deferred discovery の使い分けがない。 plugin pruneの安全導線がない。- Claude Code Bedrock service tier guidance が Codex provider docs と分離されていない。
project purgeと Harness state cleanup の違いが未整理。- PowerShell primary shell route が docs にない。
競合しない使い方:
- Claude Code MCP と Codex MCP docs を混ぜない。
ANTHROPIC_BEDROCK_SERVICE_TIERは Claude Code provider guidance に限定する。plugin pruneは存在しない dry-run を案内せず、事前確認手順を置く。ultrareview --jsonは/harness-reviewの代替ではなく CI second-opinion 候補にする。
採用判断:
- ✅ docs / setup 更新として導入推奨。
- runtime wrapper は増やさない。
実装計画:
docs/claude-code-setup-mcp-telemetry-provider.mdを追加する。docs/ultrareview-policy.mdとskills/harness-review/SKILL.mdにclaude ultrareview --jsonの境界を追記する。docs/effort-level-policy.mdに${CLAUDE_EFFORT}の限定用途を追記する。skills/harness-setup/SKILL.mdに MCPalwaysLoadと deferred discovery の使い分けを追加する。docs/plugin-managed-settings-policy.mdにplugin validate/plugin pruneの安全導線を追加する。- Claude Code Bedrock service tier guidance を Codex provider policy から分離して追加する。
- compatibility docs に PowerShell primary shell route を追加する。
検証:
bash tests/test-claude-upstream-integration.sh./tests/validate-plugin.sh- docs grep gate:
alwaysLoad,CLAUDE_EFFORT,plugin prune,ANTHROPIC_BEDROCK_SERVICE_TIER,project purge,invocation_trigger,PowerShell,deferred tools
🔐 D. Codex permission profiles / --full-auto migration
活用する更新:
- Codex
0.125.0: permission profiles round-trip across TUI, user turns, MCP sandbox state, shell escalation, app-server APIs。 - Codex
0.125.0:codex exec --jsonreasoning-token usage。 - Codex
0.125.0: rollout tracing records tool, code-mode, session, multi-agent relationships。 - Codex
0.128.0: built-in permission profiles, sandbox CLI profile selection, cwd controls, active-profile metadata。 - Codex
0.128.0:--full-autodeprecated in favor of explicit permission profiles and trust flows。
既存実装:
- Phase 58 snapshot / follow-up / Plans には記録済み。
codex/.codex/config.tomlは no-inline-hooks 方針と agent sandbox を持つ。docs/codex-sandbox-execution-policy.mdは 0.123 系の sandbox policy を扱う。
不足:
- permission profile / trust flow の正本 docs がない。
scripts/codex/codex-exec-wrapper.shに--full-autoが残る。scripts/codex-loop.shの local worker に--dangerously-bypass-approvals-and-sandboxが残る。codex exec --jsonreasoning token usage の保存先がない。- rollout trace と existing AgentTrace の重複整理がない。
scripts/check-codex.shはnpm update -g @openai/codexguidance のまま。
競合しない使い方:
--full-autoを新規 docs の default として増やさない。- 実装前に
codex exec --helpで現行 flag を確認する。 requirements.tomlは org-managed policy の置き場として扱い、配布 default に推測で入れない。approval_policy: never/sandbox: workspace-writeの既存 worker setup と permission profiles の関係を明文化する。
採用判断:
- ✅ 導入推奨。
- ただし flag 置換は help / smoke test で確認してから。
- A の次に重要。
実装計画:
docs/codex-permission-profiles-policy.mdを追加する。codex/README.mdとcodex/.codex/skills/harness-setup/SKILL.mdを profile 方針へ更新する。--full-autoを legacy fallback 扱いへ移す。- wrapper / loop の flag を explicit profile または explicit sandbox/trust flow に移行する。
codex exec --jsonreasoning usage を job result に保存する設計を追加する。- rollout trace は
.claude/state/agent-trace.jsonlと二重計上しない mapper 方針を作る。
検証:
bash tests/test-codex-package.shbash tests/test-codex-loop-cli.sh- fake
codexで--jsonreasoning usage 保存 test - wrapper flag test
bash tests/test-claude-upstream-integration.sh
🧩 E. Codex plugin workflows / /goal / MultiAgentV2
活用する更新:
- Codex
0.125.0: app-server Unix socket, sticky environments, remote thread config/store。 - Codex
0.125.0: remote plugin install and marketplace upgrade。 - Codex
0.128.0: persisted/goalworkflows。 - Codex
0.128.0: plugin workflows, plugin-bundled hooks, hook enablement state, external-agent config import。 - Codex
0.128.0: MultiAgentV2 thread caps, wait-time controls, root/subagent hints, depth handling。
既存実装:
- Phase 58 snapshot / follow-up / Plans に記録済み。
codex/.codex/config.tomlは no-inline-hooks 方針、[features].multi_agent = true,[agents].max_threads = 8を持つ。- Breezing は Codex native
spawn_agent/send_input/wait_agent/close_agent前提。 - one-primary-environment policy は README / guard script / test にある。
不足:
/goalに何を書いてよいかが未定義。- plugin-bundled hooks / hook enablement state の opt-in 手順がない。
- external agent import の ownership 境界がない。
- MultiAgentV2 controls と
agents.max_threads = 8の対応表がない。 - state path の説明に
${CODEX_HOME\}/state/harness/と.claude/state/...のズレがある。
競合しない使い方:
Plans.mdが SSOT。/goalは session continuation memo に限定する。- task ID / DoD / status marker は
/goalに書かない。 - plugin-bundled hooks は既定無効の opt-in。
- external agent import は直接使わず、allowlist / conversion table を先に作る。
- remote / sticky environment は read-only first。
- 書き込みは one primary environment per write turn。
採用判断:
- 🟡 設計レビュー向き。
- 58.3.1 の permission profile 方針後に着手。
実装計画:
docs/codex-plugin-workflow-policy.mdを追加する。/goal, plugin hooks, hook enablement state, external agent import, MultiAgentV2, sticky environment を採用 / opt-in / 禁止 / 保留に分ける。codex/README.mdとcodex/AGENTS.mdを更新する。codex/.codex/config.tomlの no-inline-hooks 方針を Codex 0.128 向けに言い換える。- MultiAgentV2 と
agents.max_threads = 8の関係をテストで固定する。 - state path の説明を
.claude/state/...と$\{CODEX_HOME\}の責務に分ける。
検証:
bash tests/test-codex-package.shbash tests/test-claude-upstream-integration.sh- no-inline-hooks / plugin opt-in grep gate
/goalとPlans.mdSSOT boundary grep gate- one-primary-environment regression test
導入順
- 🛡️ A. Claude protected-write hardening
- 🔐 D. Codex permission profiles /
--full-automigration - ✂️ B. PostToolUse output governance design
- 🧭 C. Claude setup / MCP / telemetry / provider guidance
- 🧩 E. Codex plugin workflows /
/goal/ MultiAgentV2
レビュアー向け判定基準
導入してよい
- 既存の Harness 正本と競合しない。
- test で再発防止できる。
- upstream 機能を wrapper 化しすぎない。
- 既定では危険な自動化を有効にしない。
- 証拠ログとレビュー結果を消さない。
保留すべき
Plans.mdと別の正本を作る。.claude/全体 deny のように通常運用を壊す。--full-autoや dangerous bypass を新規 default として広げる。- output mutation で test / review / error evidence を隠す。
- Codex plugin hooks や external agent import を opt-in なしで有効化する。
次の実行コマンド
新しいセッションの起動コマンド:
bash
claude起動後の最初の入力:
text
/harness-work 58.2.1向いている場面:
最初に安全境界を固めるため。58.2.1 が通ると、58.2.2 以降の便利機能を入れても事故りにくくなります。
並列で進める場合の代替:
text
/breezing 58.2.1 58.3.1 --parallel 2向いている場面:
Claude 側の protected path hardening と Codex 側の permission profile migration は重なるファイルが少ないため、レビュアーが 2 本の PR として分けて確認しやすいです。