Arash Phase 0 — 課金バケツ実測(実行可能チェックリスト)

vault-native=この保管庫がそのまま正典(別途 repo 正典を持たない一次資料)。CurePit/pit/ の Phase 0 を立てるならこのノートを canon に指す。地図は arash、全体設計は Arash/DOSSIER.md本ノートは文書(着火・実測の実行はしない)。 Phase 0 を実際に走らせるのは別途・人間トリガー。

Arash の全設計は未検証の岩盤に乗る。Phase 0 はそれを反証可能な形で検める最優先ゲート(不変条件#10)。 手順の羅列でなく決定木として据える。

(a) 反証可能な命題(岩盤)

「Channels/ライブセッション経由の重いタスクは、対話プール(current/weekly)を消費し、従量/クレジット(extra)を動かさない」。

  • 何を観測したら岩盤が崩れるか:extra が増えたら崩壊(クレジット側を食っている=目的Aと逆)。

(b) pass/fail を分ける観測(バケツ判定表)

current(5h)weeklyextra判定
減る減る$0 のまま確定(対話プール消費=岩盤成立)
動かない動かない増える否定(クレジット消費)
両方動く/どれも動かない 等⚠️ 判定表外=まず計測器を疑う(下記注記)

(c) 分岐判断

  • 確定 → 一号弾 spike(arash-first-bullet-note)へ。いずれ基盤(arash-infra-note)。
  • 否定 → 撤退 or 再設計(Channels 路線の是非を DOSSIER §7「判定」に従い全面再考)。

(d) t0 ベースライン手順(着火前・安い観測を先に)

着火前に3バケツを timestamp 付きで記録(後から測り直せない)。

  1. date -u +%FT%TZ を控える(t0)。
  2. usage を読む(StatusLine1 と同じ計測器を流用):
    • エンドポイント:GET https://api.anthropic.com/api/oauth/usage
    • トークンの所在~/.claude/.credentials.jsonclaudeAiOauth.accessTokenパス参照のみ。実トークン値は本ノートに貼らない)。
    • 参照実装:~/.claude/statusline.py(current/weekly/extra を既に解釈している)。
  3. current / weekly / extra の3値を t0 の行として記録。
  4. 重いタスクを1回。完了後に t1 を同手順で記録 → (b) の判定表に当てる。

一行注記(必須)extra 行=従量/超過 は推定であり未確認。Phase 0 で異常な動き(対話プールも extra も 動かない/両方動く等、判定表に乗らない結果)が出たら、まず計測器(usage API 解釈)を疑う。計測器の独立検証は 行わない=Phase 0 自体が安い観測ゆえ、異常時の立ち返り先として残すに留める

手順順(計測器検証の前段は挟まない)

t0 ベースライン記録 → Phase 0.1 素セッションで対話プール切り分け(Channels を立てる前)→ Phase 0.2 Channels 最小構成で再確認 → Phase 0.3 OAuth 生存時間の並行観測。

合格条件(DOSSIER §7 PoC + Phase 0 固有)

  1. スマホ1メッセージで確認不要タスクを実行し、使い捨てブランチにコミット・成否通知。
  2. Settings > Usage(または usage API)で対話プールを消費
  3. OAuth が外出窓を無人生存(再認証要求なしで2発目が通る)。
  4. 自分以外の送信者を弾く(sender gating)。
  • Phase 0 固有:(b) 判定表で 確定(current/weekly が動き extra が $0)。

正直な注記

usage API は非公式・未文書化/usage コマンドが内部利用するものと同一)。将来変更で壊れ得る。 extra 行=従量/超過の指標と推定、要実測確認(上記「異常時の立ち返り先」を参照)。