Repository navigation
feat(computer-use): #500 S5-c-2 PR-5 Windows の preflight と dispatch で interlock の拒否を有効化する - #819
Conversation
… interlock の拒否を有効化する Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
🗺️ PR Walkthrough Note Windows の preflight と dispatch で interlock 拒否を有効化し、危険な操作には ticket を発行せず、dispatch 時にも入力送信前に再評価します。拒否理由は受領書と Main の結果に対応づけ、判定できない場合は既存の V1 処理へ進みます。 Changed files (14)
Reviewed by vibe-editor-reviewer — head |
There was a problem hiding this comment.
✅ Code review
Tip
LGTM — actionable issues were not found.
確認内容
- ✅ 変更箇所と関連するコード経路を確認
- ✅ 独立した差分レビュー(Claude)を確認
- ✅ リードが指定した重点ファイルの精査(Claude)を確認
レビュー所感
固定 HEAD を照合し、Windows の拒否判定、ticket・取消し境界、入力前の既存ガード、Main の結果分類を確認しました。対象差分に起因する重大な不具合は確認できませんでした。実行環境がないため、検証は静的確認に限ります。
🛡️ blockingな指摘はありません。bot側の安全設定により、merge-relevantなAPPROVEではなくCOMMENTとして投稿します。
Review coverage & tooling
- Files: 12 reviewed (+867 / -18)
- Full file bodies included: 0 / 12
- Reviewer roles: numeric_consistency (deterministic), codex_deep (gpt-6.1-sol), claude_peer (claude-opus-5-5, fixed-diff only, partial), claude_specialist (claude-opus-5-5, fixed-diff only, partial)
Reviewed by vibe-editor-reviewer — head 5929a99
…止める、インストーラー語の凍結、fixture の木の照合、INV-3 の本体固定 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…live で固定する Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
✅ Code review
Tip
LGTM — actionable issues were not found.
確認内容
- ✅ 変更箇所と関連するコード経路を確認
- ✅ 独立した差分レビュー(Claude)を確認
- ✅ リードが指定した重点ファイルの精査(Claude)を確認
レビュー所感
固定HEADと全対象差分を確認し、拒否時のticket無効化、入力前の再評価、取消し・入力競合、Main側の結果分類を追跡しました。重大な退行を裏付ける具体的な欠陥は確認されませんでした。実行検証は行っていません。
🛡️ blockingな指摘はありません。bot側の安全設定により、merge-relevantなAPPROVEではなくCOMMENTとして投稿します。
Review coverage & tooling
- Files: 14 reviewed (+1389 / -23)
- Full file bodies included: 0 / 14
- Reviewer roles: numeric_consistency (deterministic), codex_deep (gpt-6.1-sol), claude_peer (claude-opus-5-5, fixed-diff only, partial), claude_specialist (claude-opus-5-5, fixed-diff only, partial)
Reviewed by vibe-editor-reviewer — head 3d1c565
…tCursorPos の対照を足す Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
✅ Code review
Tip
LGTM — actionable issues were not found.
確認内容
- ✅ 変更箇所と関連するコード経路を確認
- ✅ 独立した差分レビュー(Claude)を確認
- ✅ リードが指定した重点ファイルの精査(Claude)を確認
レビュー所感
全5差分チャンクを確認し、拒否時の ticket 無効化、入力前の再評価、取消し・フォーカス変化、Main の結果分類を追跡しました。既存ガードと受領書の契約は維持されており、今回導入された重大な不具合は確認できませんでした。実行検証は行っていません。
🛡️ blockingな指摘はありません。bot側の安全設定により、merge-relevantなAPPROVEではなくCOMMENTとして投稿します。
Review coverage & tooling
- Files: 14 reviewed (+1465 / -23)
- Full file bodies included: 0 / 14
- Reviewer roles: numeric_consistency (deterministic), codex_deep (gpt-6.1-sol), claude_peer (claude-opus-5-5, fixed-diff only, partial), claude_specialist (claude-opus-5-5, fixed-diff only, partial)
Reviewed by vibe-editor-reviewer — head e30cd63
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
✅ Code review
Tip
LGTM — actionable issues were not found.
確認内容
- ✅ 変更箇所と関連するコード経路を確認
- ✅ 独立した差分レビュー(Claude)を確認
- ✅ リードが指定した重点ファイルの精査(Claude)を確認
レビュー所感
全差分と関連コードを確認し、ticket の失効、入力前の拒否、取消し・フォーカス変更、Main の結果分類を重点的に追跡しました。本PRで導入された重大な不具合は確認できませんでした。実行検証は利用できないため、判断は静的解析とテスト内容の確認に基づきます。
🛡️ blockingな指摘はありません。bot側の安全設定により、merge-relevantなAPPROVEではなくCOMMENTとして投稿します。
Review coverage & tooling
- Files: 14 reviewed (+1496 / -23)
- Full file bodies included: 0 / 14
- Reviewer roles: numeric_consistency (deterministic), codex_deep (gpt-6-astra), claude_peer (claude-opus-5-5, fixed-diff only, partial), claude_specialist (claude-opus-5-5, fixed-diff only, partial)
Reviewed by vibe-editor-reviewer — head ebf3056
マージ前の確認(PR-5 の E2E と遅延)fixture の journey(1001〜1010、1201〜1202)この PC でも CI でも流せないことを確かめました。
そのため、PR-5 のビルドと PR-5 より前のビルドを journey で比べる作業は、署名済みのパッケージを使った人の受入(S9a)に引き継ぎます。 代わりに測ったもの(実物の窓での評価時間)
macOS への影響新しい 3 つのコード( 🤖 Generated with Claude Code |
概要
#500 S5-c-2 の最後の PR(PR-5)です。Windows の preflight と dispatch で、同期入口(interlock)の拒否を有効にします。前提の PR-1(#816)、PR-2(#817)、PR-4(#815)は merge 済みです。PR-3(#818、Explorer の実ファイル名の取得)はレビュー中で、この PR は PR-3 のコードに依存しません。
変更(native)
kWindowsInterlockRulesetを追加しました。Windows には承認経路がないので、download_open と file_manager_open はどちらも false です。WindowsInterlockRefusal(session, metadata, kind)を追加しました。評価に加えて、判定なしになった理由ごとの件数をOutputDebugStringAに出します(出すのは enum だけです)。HandleWindowsPreflight:ValidateWindowsDispatchBindingの後、slot.Issueの前で評価します。blockedまたはtakeoverの受領書を返します。NativePreflightRefusalAllowedを通します。通らない組はdenied/native_preflight_invalidにします。issued=falseで呼びます。DispatchWindowsAction: binding の検証の直後、入力 API(input_api_attempts、SetCursorPos、SendInput、semantic action)より前で、もう一度評価します。DispatchCode()(shell_surface_blocked/execution_trigger_blocked/approval_not_enabled)とaccepted:falseを返し、入力は 1 回も送りません。WindowsClickOpens()を読み直すので、preflight から dispatch までの間の入力も再評価で反映されます。DispatchCode()を足しました。理由と 1 対 1 で対応し、判定なしのときは空です。変更(Main)
classifyComputerUseNativeDispatchFailureは、上の 3 つのコードをNATIVE_PREFLIGHT_REFUSALSの同じ行の result に写します。execution trigger はpaused、それ以外はrejectedです(オーナー判断どおり)。rejectedのままです。パーサ、表、controller は変えていません。変えていないもの(INV-3)
eligibility.json、各版、attest、list_targetsの適格性は変えていません。source 契約で固定しました。V1 で新しく拒否される語
オーナー判断で、受け入れることになっている語です。
computer-use-windows-interlock-vocabulary.test.tsで固定しました。テスト(RED の確認付き)
issued=falseで 1 回呼ばれること、判定なしでは ordinary ticket が出ること、表に無い組はdeniedになることを確かめます。binding の失敗、replay、session がない、不正な action のときは、評価を呼ばないことも確かめます。computer-use-windows-dispatch-interlock-seam.test.ts): 拒否のときは理由コードとaccepted:falseを返し、呼ばれる順が [validate, interlock] で入力が 0 回であることを確かめます。判定なしなら V1 に進むことも確かめます。DispatchCode()の対応と、上の V1 の journey を確かめます。rejectedのままであることを確かめます。computer-use-windows/computer-use-native)は 344 件が通り、tsc と prettier も通りました。host のビルドも成功しています。留意点
dispatchApprovedは、同じ分類関数を共有しています。macOS の host が今回の 3 つのコードを返す経路があるかどうかは、レビューで確かめます。Refs #500
🤖 Generated with Claude Code