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

必須動作

  1. host は harness request を一回だけ受信し、request の callbackId を検証して、同じ値を response に設定する。
  2. host UI で人間レビュー結果を確認・入力できる。
  3. response は reviewer identifier、direct read 確認、structured result 確認、phase approval 分離、pass | fail | blocked、findings を渡せる。
  4. author context、correlation、attestation の固定値は host 側で当回 invocation から再構築し、caller JSON・環境変数・一時ファイル由来の証跡を harness へ渡さない。
  5. response 送信後は callbackId を無効化し、同じ callbackId の再送、別 callbackId、期限切れ response を拒否する。
  6. 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 を明示します。

View original on GitHub ↗

1 Comment

github-actions[bot] contributor · 7 days ago

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

  • request: spec-phase-human-review-request
  • response: spec-phase-human-review-response

Required behavior

  1. The host receives the harness request only once, validates the request's callbackId, and sets the same value in the response.
  2. The human review result can be confirmed and entered in the host UI.
  3. The response can provide the reviewer identifier, confirmation of direct reading, confirmation of the structured result, separation of phase approval, pass | fail | blocked, and findings.
  4. Fixed values for author context, correlation, and attestation must be reconstructed by the host from the current invocation, and evidence originating from caller JSON, environment variables, or temporary files must not be passed to the harness.
  5. After sending the response, the callbackId must be invalidated, and resubmissions using the same callbackId, different callbackIds, and expired responses must be rejected.
  6. Normal terminal execution without callback capability must remain fail-closed with human-handoff-unavailable.

Acceptance criteria

  • When npm run review:spec-phase -- --phase design ... is run, a review request appears in the host UI.
  • When a human submits PASS, gateStatus: "pass" is produced.
  • Duplicate responses using the same callbackId, responses using a different callbackId, and expired responses are rejected.
  • Normal terminal execution without a host callback stops with human-handoff-unavailable.

Safety

This feature does not automatically approve human review. Runtime isolation is set to not-applicable-human, and the residual risk runtime-isolation-unverified-human is explicitly stated.

<!-- codex-issue-translator -->