Feature request: host-managed one-time human review callback for Spec Phase gates
Open 💬 1 comment Opened Aug 21, 2026 by y-esumi-lab
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
背景
Spec Phase の independent review では、human fallback を品質ゲートとして安全に扱うため、Desktop host が一回限りの callback を提供する必要があります。現行の caller JSON、環境変数、OS 一時ファイルによる証跡注入は caller-controlled であり、受理できません。
要望
Codex Desktop host に、review harness と接続する host-managed IPC bridge と確認 UI を追加してください。
プロトコル
- request:
spec-phase-human-review-request - response:
spec-phase-human-review-response
必須動作
- host は harness request を一回だけ受信し、request の
callbackIdを検証して、同じ値を response に設定する。 - host UI で人間レビュー結果を確認・入力できる。
- response は reviewer identifier、direct read 確認、structured result 確認、phase approval 分離、
pass | fail | blocked、findings を渡せる。 - author context、correlation、attestation の固定値は host 側で当回 invocation から再構築し、caller JSON・環境変数・一時ファイル由来の証跡を harness へ渡さない。
- response 送信後は callbackId を無効化し、同じ callbackId の再送、別 callbackId、期限切れ response を拒否する。
- callback capability がない通常端末実行は
human-handoff-unavailableで fail-closed を維持する。
受入条件
npm run review:spec-phase -- --phase design ...の実行時に host UI へレビュー要求が表示される。- 人間が PASS を送信すると
gateStatus: "pass"になる。 - 同一 callbackId の二重応答、異なる callbackId、期限切れ応答が拒否される。
- host callback なしの通常端末実行は
human-handoff-unavailableで停止する。
安全性
この機能は human review を自動承認するものではありません。runtime isolation は not-applicable-human とし、残存リスク runtime-isolation-unverified-human を明示します。
1 Comment
English translation:
Background
For independent review in the Spec Phase, the Desktop host must provide a one-time callback so that human fallback can be handled safely as a quality gate. The current methods of injecting evidence through caller JSON, environment variables, and OS temporary files are caller-controlled and cannot be accepted.
Request
Please add a host-managed IPC bridge and confirmation UI to the Codex Desktop host that connect to the review harness.
Protocol
spec-phase-human-review-requestspec-phase-human-review-responseRequired behavior
callbackId, and sets the same value in the response.pass | fail | blocked, and findings.human-handoff-unavailable.Acceptance criteria
npm run review:spec-phase -- --phase design ...is run, a review request appears in the host UI.gateStatus: "pass"is produced.human-handoff-unavailable.Safety
This feature does not automatically approve human review. Runtime isolation is set to
not-applicable-human, and the residual riskruntime-isolation-unverified-humanis explicitly stated.<!-- codex-issue-translator -->