囲碁のルールをストーリー版講座にした1日:日本囲碁規約で裏取りした計画書から13講の公開設定、Codexレビューゲートの差分上限の見直しまで

開発eurekapu-nuxt4

囲碁のルールをストーリー版講座にした1日

1本のポストから計画書へ

朝8時前、囲碁のルールについてのXのポストを Claude Code に貼った。 これを、動く図で進むストーリー版の講座にできないか、という相談である。

まず x-search で、ポスト本文と返信、引用を集めさせた。 引用は45件あった。 同時に、eurekapu-nuxt4 のストーリー版のレイアウトをサブエージェントに調べさせた。 ポストの主張は、日本囲碁規約などの一次資料に当てて裏を取らせた。

計画書は Codex のレビューに回した。

  • 1回目は3点。どれも事実関係か、採点の仕様の誤りだった
  • 再レビューで1点。セキになった石の目も、日本式では地にならない(規約第八条)

どちらも妥当なので直させて、承認が出た。

決裁6件と、eurekapu 用の作り直し

計画書は HTML にして、決めてほしい6件の選択フォームを付けた。 Chrome で開かせて、6件に答えた。 講座の置き場は eurekapu の5本目にした。 Xのポストは、コンテンツの中では出典を明かさない。

置き場が決まったので、eurekapu 側の規約に合わせて計画書を書き直させた。 Codex にもう一度見せると、今度は駄目詰めの話が出てきた。 独立した2つの生き石のあいだに駄目が残っているだけで、セキと誤判定してしまう、という指摘である。 妥当なので、駄目詰めの工程を足させた。 判定は「着手可」になり、引き継ぎのプロンプトをダウンロードフォルダに書き出させた。

13講153ステップの実装

8時半ごろ、新しいセッションに引き継ぎのファイルを渡した。 最初に、使っているモデルが計画書に書いた実行モデル(Opus 5.5)と一致することを確かめさせた。

Phase 0 は材料の照合である。 計画書に挙げたアカウントの投稿を、X の原文と1件ずつ照合させた。 19件中18件の原文が取れ、残る1件は該当する投稿が見つからなかった。 規約は全文と逐条解説、死活例7-1まで確認させた。

Phase 1 は採点エンジンで、テスト23件が通った。 コミット前の Codex レビューで high の指摘が1件出た。 説明と実装が食い違っていて、UI で連の1点だけを指定すると採点が止まる。 Claude Code に重要度を判定し直させても high だったので、直させた。

Phase 2 は盤面の sim と描画部品である。 dev で全ステップを送らせ、自由対局も採点まで通させると、細かい崩れがいくつか見つかった。

  • 取られた石の薄い残像が、盤を変えない操作でも消えていた
  • 採点表に、講座本文の table のスタイルが被っていた
  • 上端の座標の文字が、石に隠れていた
  • 「−0」という表記が出ていた

採点表は、本文のスタイルが class のない table にだけ当たると分かり、表に class を付けさせた。 Phase 2 のコミットでも Codex は high を付けたが、Claude Code の判定し直しでは medium だった。 純碁の講はまだ書いていない。 ただ、これから必ず通る経路で、直すのは1行だったので直させた。

Phase 3〜4 で第2部から第4部の台本を書かせ、13講すべてが検査を通った。 合計153ステップになった。 検証は3体のサブエージェントに並列で振った(ルール検証1体、画面確認2体)。

ルール検証では、数字の不一致と規約の誤引用は0件、指摘は「中」5件と「低」8件だった。 「手入れ」の盤面例は作り直しになった。 上辺の黒1子を放置すると取られて半目負けに逆転し、自分の地の中に1手入れれば、黒32、白24で黒の1目半勝ちになる。 この数字はエンジンで確かめさせてから台本に入れた。

画面確認では、前半6講の PC 幅で74ステップ中74件が台本どおりだった。 スマホ幅では、最後の台詞が盤に隠れ、盤の下の説明が切れていた。 直したら、今度は PC 幅で採点表が縦に積まれてしまい、横並びに戻させた。 最終的に、PC 幅で153ステップすべてが台本どおりに表示され、テストは51件通過、コンソールのエラーは0件になった。 コミットは 3b0214f5、cb5a0ede、4dc397e5、2ebe8ef9 の4件である。

公開OKと、新しい区分の名前

できあがりを見て、公開でOKと伝えた。 迷ったのは講座一覧の分類である。 コーディングではないので、一般教養のような区分を作りたかった。 ただ、一般教養だと上から目線すぎる。 雑学でいいのか、とも考えたが、もう少し遊び要素を入れたかった。 コンピュータのしくみの講座も、そこに入れたい。

候補を出してもらって選んだのが「なるほど研究室」である。 説明文は「囲碁のルール、コンピュータのしくみ。分かりづらいと言われるものを、動く図にさわりながら1つずつ解きほぐす」になった。 一覧には、囲碁(公開)とコンピュータ(ドラフトのまま)が並んだ。 本文のキャッシュは、dev だけ無効にする方を選んだ。

規則の原文も見てほしいと頼んでいた。 中国ルールの原文(中国围棋协会の公式サイト)をサブエージェントに調べさせると、第9条に「セキの駄目は双方で半分ずつ」と書いてあった。 エンジンは駄目を誰にも数えていなかったので、中国式の点数を条文どおりに直させた。 勝ち負けの差は変わらない。 ここまでを 40682a2c でコミットした。 本番デプロイはまだしていない。

管理者でも見られないページ

午後、本番のコンピュータ講座が管理者でログインしても見られないことに気づいた。 以後の講も、管理者なら見られるようにしてほしいと頼んだ。

調べさせると、本番は524(タイムアウト)を返していた。 API は管理者で正常に返り、第16〜18講だけが503になっていた。 中身は「Worker exceeded resource limits」、Cloudflare の無料枠の CPU 時間超過である。 draft の経路が重いのかと調べを進めたが、原因は17:04に別セッションが本番デプロイした直後の一時的な失敗だった。 管理者でログインした Chrome で開き直すと全18講が開けた。 コードは変えていない。

続けて、音声がないステップに「音声なし」のタグを付けてもらった。 ほかのストーリー版でもそうしている。 囲碁では各ステップの番号の横に「音声なし」が出た。 R2 に音声がない場合(404)の判定も、1本だけ一時的に隠して確かめさせた。 コンピュータ講座の音声は、Mac に生成を頼むつもりだった。 前日に出した依頼の返信は期限切れになっていたが、Mac 側を SSH で見ると合成済みの音声が残っていた。 それを取り込ませると1,836本で、全件の SHA-256 が一致し、全18講が「音声あり」になった。 dev で鳴らすために手元で作った MP3 は、2,842本、186.4 MiB だった。 R2 の残りは今朝の時点で約0.23 GB なので、上げるかどうかはまだ決めていない。

ゲートが「1万行」で止まった

同じ日、別のセッションで、別の講座の改善計画を 8ef56952 でコミットしていた。 120ファイルで、計画書や図と並んで旧動画37本の書き起こしが入っていた。 このとき、コミット前の Codex レビューのゲートが「差分が上限の1万行を超えた」と出していた。

差分のほとんどが書き起こしなら、レビューしても意味がない。 実装だけをレビューするように、ゲートをもう少し制御できないかと頼んだ。

1回目の改修では、書き起こしも計画書も「資料」として、レビューの対象からも行数の上限の計算からも外れた。 そこで待ったをかけた。 書き起こしはいいが、計画書はレビュー対象にした方がよくないか。

言いかけて、一度引っかかった。 計画書は必ずマークダウンになっているのか。 HTML だけの計画書もある、という答えだった。 外す .html は .md から pandoc で作った複製なので、外しても抜けにはならない、という説明も付いていた。 マークダウンから作っているなら大丈夫か、と受け取って、計画書は残す形に決めた。

最終的な線引きは次のとおりである。

memo/ の下のファイル扱い
.md(計画書)レビューに残す
.txt .srt(書き起こし)外す
.json .tsv .csv(データ)外す
.html(pandoc の生成物)外す

改修は ~/.claude に f505169 と b89a522 でコミットし、push まで済ませた。 b89a522 のコミット時の Codex レビューは指摘なしで通った。

夕方の確認

16時台、別のセッションでコンピュータ講座の絵コンテを進めていた。 このセッションは何から始まって何をやっていたのか、進捗は計画書に入っているのかと聞いた。 聞くまで、計画書は更新されていなかった。 §9 と Phase 3 に追記させたが、コミットはまだである。

振り返り

囲碁の計画書は、着手前の Codex のレビューで3回指摘を受け、そのたびに直した。 セキの目の扱いも、駄目詰めの抜けも、そこで見つかった。 書き起こしの山をゲートから外す改修で計画書まで一緒に外れかけたのは、その同じ日だった。

  • 囲碁の採点は、セキの扱いで食い違いが出た。日本は第八条、中国は第9条の条文に当てて直した
  • ゲートから外すのは、読んでもレビューにならないものだけにした。書き起こし、データ、.md から作った .html は外し、計画書の .md は残した

残っているのは、囲碁講座の本番デプロイと、コンピュータ講座の MP3 を R2 に上げるかどうかの判断である。 HTML だけで書いた計画書は、この線引きでは外れる側に入る。 そこは今回は詰めていない。

#囲碁#ストーリー版講座#Claude Code#Codex#コミットゲート#日本囲碁規約#計画書