v2.1.99-v2.1.110 + Opus 4.7 詳細セクション(Phase 44.11.1)
このセクションは
.claude/rules/cc-update-policy.mdの 3 カテゴリ分類(A/B/C)に準拠。 B 分類は 0 件。A = 実装あり、C = CC 自動継承。
PreCompact hook 3-way decision API (v2.1.99)
付加価値: A: 実装あり(hooks/hooks.json PreCompact エントリ、Phase 44.13 で確認済み)
CC 2.1.99 で PreCompact フックが "block" / "allow" / "defer" の 3-way decision API に対応した。 それまでは block / allow の 2 択のみで、「後で判断」の選択肢がなかった。
Harness での活用:
- Breezing Worker が cc:WIP 状態のとき compaction を
"block"し、WIP 完了後に"allow"するパターンが安全に実装できる hooks/hooks.jsonの PreCompact ハンドラはbin/harness pre-compact経由で dirty Plans.md を pathspec 限定 auto-checkpoint し、通常は compact 続行(commit 失敗またはprecompactAutoCommit: falseのみ block)"defer"はヘッドレス環境での条件付き延期に活用予定(現在は block/allow の 2-way を使用)
ユーザー体験の改善:
- 今まで: WIP 中の compaction を防ぐには
blockしかなく、長時間 Worker では不要な compaction 抑止が続く問題があった - 今後:
deferで「今はダメだが resume 後に再評価」を指示でき、Worker 完了と同時に compaction が適切に走る
ENABLE_PROMPT_CACHING_1H opt-in (v2.1.108)
付加価値: A: 実装あり(scripts/enable-1h-cache.sh、Phase 44.6.1 で実装済み)
CC 2.1.108 で ENABLE_PROMPT_CACHING_1H=1 環境変数による 1 時間 prompt cache TTL が追加された。 デフォルトの 5 分 TTL では 30 分超のセッションでキャッシュミスが頻発しコスト増大していた。
Harness での活用:
scripts/enable-1h-cache.shを実行するとenv.localにENABLE_PROMPT_CACHING_1H=1を idempotent に追記skills/breezing/SKILL.mdとskills/harness-loop/SKILL.mdの開始前推奨として記載docs/long-running-harness.mdに選択基準テーブル(セッション 30 分超なら 1h cache)を追加
ユーザー体験の改善:
- 今まで: 長時間 Breezing セッションで cache miss が増え、同じ CLAUDE.md や hooks.json が繰り返し課金されていた
- 今後: 1h TTL でキャッシュヒット率が大幅向上。長時間タスクのコストを削減できる
/undo (rewind alias) (v2.1.108)
付加価値: A: 実装あり(.claude/rules/commit-safety.md、Phase 44.7.1 で実装済み)
CC 2.1.108 で /rewind のエイリアスとして /undo が追加された。セッション内の直前ツール呼び出しを取り消す。
Harness での活用:
.claude/rules/commit-safety.mdに/undoの動作定義・利用制約・禁止パターンを明記- Worker / Reviewer が自律的に
/undoを実行する禁止条件(git commit 後の取り消しはgit revertを使う)を文書化 - commit 済みの変更を間違えて
/undoで消すリスクを防止
ユーザー体験の改善:
- 今まで:
/rewindと/undoの使い分けが曖昧で、エージェントが誤用するリスクがあった - 今後: Harness ルールで「
/undo= セッション内ファイル変更の取り消し」「commit 後はgit revert」と明確に分離
PermissionRequest updatedInput / additionalContext (v2.1.110)
付加価値: A: 実装あり(go/internal/guardrail/cc2110_regression_test.go、Phase 44.3.1 で実装済み)
CC 2.1.110 で PermissionRequest フックに updatedInput と additionalContext フィールドが追加・整備された。 updatedInput で CC が再評価した入力を渡し、setMode: dontAsk で mode 変更後も deny ルールが再適用される。
Harness での活用:
go/internal/guardrail/cc2110_regression_test.goに 3 グループのリグレッションテストを追加updatedInput+setMode→ deny ルール(R01, R02, R06)が再評価後も適用されることを検証additionalContextが JSON round-trip で保持されることを確認(R09 警告パス)- Bash bypass ベクター(
;,&&,||, サブシェル等)の検出強化
helpers.goのhasSudo()をシェルメタキャラクタを含むコンテキストにも対応
ユーザー体験の改善:
- 今まで: CC が入力を更新した後、guardrail の deny が再評価されない抜け穴が理論的に存在した
- 今後:
updatedInput後も R01-R13 全ルールが再適用され、guardrail の完全性が保証される
/recap と built-in slash command discovery (v2.1.108)
付加価値: C: CC 自動継承(Harness 側変更不要)
CC 2.1.108 で /recap コマンドが追加され、resume 前にセッション内容を要約して確認できるようになった。 built-in slash command の Skill tool 経由呼び出しも同バージョンで実現。
Harness での活用:
/recapは長時間の--resume時にセッション記憶を確認する手順としてskills/session-memory/SKILL.mdに記載- CC 本体の機能として自動利用可能。Harness 側の実装変更は不要
EnterWorktree path 引数 / stale worktree 自動クリーンアップ (v2.1.105)
付加価値: A: 実装あり(scripts/reenter-worktree.sh、Phase 44.7.1 で実装済み)
CC 2.1.105 で EnterWorktree フックに worktree パスが引数として渡されるようになった。 それまでは worktree パスをスクリプト内で自力特定する必要があった。
Harness での活用:
scripts/reenter-worktree.shで EnterWorktree パス引数を活用した worktree 再入ヘルパーを実装- worktree 登録確認と
worktree-info.json照合を含む安全な再入フロー - Breezing の Worker が一時停止後に正しい worktree に再入できることを保証
ユーザー体験の改善:
- 今まで: Worker の worktree 再入は環境依存の worktree パス特定が必要で不安定だった
- 今後: フックから直接パスを受け取り、worktree-info.json との照合で確実に正しいコンテキストに再入