Skip to content

sessionhost: codex trust-dialog frame is mistaken for a ready composer (skip_trust_setup fail-closed hole) #553

Description

@proboscis

症状

codex の workspace-trust dialog frame(› 1. Yes, continue)を sessionhost の launch ready 判定が composer と誤認して受理しうる。has-idle-prompt(markers.hy)は \n› 一致のみで menu 選択 marker を排除せず、detect-dialog に codex trust 検出が無い。

期待

trust dialog が見えている間は idle 判定されない。事前 trust 失敗 / skip_trust_setup 経路では prompt をメニューへ paste せず fail-closed(typed error)で落ちる。auto-accept はしない(trust はセキュリティ裁定 — sessionhost の方針は per-kind pre-launch の事前 trust)。

再現 / 証拠

  • verbatim fixture packages/doeff-agents/tests/data/ready_screens/codex_trust_dialog.txt に対し has-idle-prompt = True / legacy gate regex((?!\d+\.[ \t]) 先読み)= False — 実測 divergence。
  • 通常経路で到達しないのは impls/codex.hy の pre-launch trust(config.toml 書き)が先回りしているため。launch.hyskip_trust_setup param で素通し可能。
  • 登記: ADR-DOE-AGENTS-008 problem fact 5(PR ADR-DOE-AGENTS-008: unify readiness physics into single homes #552)。parity 検定(test_ready_physics_single_home.py)は本件解消まで trust frame を対象外にしている — 修正時に parity へ組み込むこと。

設計上の注意

blocking dialog(dismiss せず fail-closed)という第 3 区分が要る可能性(detect-dialog の語彙は dialog→dismiss-keys 前提)。monitor 経路の has-idle-prompt 意味論(policy.hy の solicitation/menu 判定)を壊さないよう、launch gate 側の判定にのみ menu 排他を導入するのが有力。結合核級 — frontier ルート推奨。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions