Skip to content

docs: design issue 444 n1 input preconditions - #445

Merged
kappaseijin4claude merged 1 commit into
mainfrom
docs/issue-444-n1-input-preconditions
Sep 13, 2026
Merged

docs: design issue 444 n1 input preconditions#445
kappaseijin4claude merged 1 commit into
mainfrom
docs/issue-444-n1-input-preconditions

Conversation

@kappaseijin4claude

Copy link
Copy Markdown
Collaborator

概要

Issue #444 の設計である。gate runner が N1 の native Claude を、プロンプトを投入できる画面まで進めるための前提を定める。
文書は docs/decisions/2026-09-13T151535_issue-444-n1-input-preconditions.md の 1 本だけで、実装は別 PR(agmsg_programmer_claude)で行う。

Refs #444 #434 #407 #395

断定

# 論点 決定
1 事前書込の JSON 形 $GATE_CLAUDE_CONFIG/.claude.jsonhasCompletedOnboarding: truetheme: "dark"projects.<GATE_REPO>.hasTrustDialogAccepted: true の 3 つだけを merge して書く。原子的に書き、読み戻して確かめる。fresh と resume の起動直前に毎回行う
2 token の受け渡し runner は環境変数 CLAUDE_CODE_OAUTH_TOKEN だけを見る。ファイルを読まず、argv にも載せず、継承させるだけ。ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKEN は unset する。token が無ければ launcher を起動せず auth_token_absent。記録するのは present か absent かだけ
3 準備完了の検出 pty.raw から ANSI を除いた全文で、? for shortcuts を正に観測し、かつ Select login methodQuick safety check を一度も観測していないときだけ準備完了とする。30 秒で timeout、CLI 版が未確認なら unknown。阻害画面を突破するキー入力は送らない

補足:

  • 値と文字列は verifier T4〜T6 の実測(Claude Code 2.1.268、120x40)を正本にした。そのため pilot-pty.py に 120x40 の端末サイズ設定を加える(現状は未設定。grep 0 件、同じファイルでの正の対照あり)
  • 準備完了の判定には、権限モードの表示(manual mode on)を使わない。gate の --settings で表示が変わりうるため

未確認の点(native smoke で判明する)

  • T6 で .claude.json を置いたパスは、verifier の報告に明記されていない。パスが違えば阻害画面が出るので、unknown で止まる。誤ったまま先へは進まない
  • gate の --settings を渡したときの画面

試験要件

fixture 試験 N1P-01〜15 を定めた(§7.1)。実 token は使わず、合成値で行う。
主な対照は次のとおり。

  • 阻害画面の後に準備完了の表示を出す fake(キー入力なしで unknown、prompt 0 回)
  • token の漏洩検査(合成 token を artifact 全体で検索して 0 件。正の対照つき)
  • .claude.json が symlink の場合と、RUN_ROOT の外を指す場合

README への影響

無。gate harness は開発・受入用の内部ツールである。

🤖 Generated with Claude Code

https://claude.ai/code/session_01QCtgi8wVJDRaMwXHZmkHqT

Refs #444 #434 #407 #395

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E1ve5ae7r5n43cAzFGXycK
@kappaseijin4claude
kappaseijin4claude merged commit ff00d63 into main Sep 13, 2026
25 checks passed
@kappaseijin4claude
kappaseijin4claude deleted the docs/issue-444-n1-input-preconditions branch September 13, 2026 06:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants