[{"data":1,"prerenderedAt":312},["ShallowReactive",2],{"content-/igo-rules-story-lesson-and-review-gate":3,"all-pages-for-dir":289,"related-/igo-rules-story-lesson-and-review-gate":290,"og-image-/igo-rules-story-lesson-and-review-gate":311},{"id":4,"title":5,"body":6,"category":267,"concepts":268,"description":269,"extension":270,"meta":271,"navigation":272,"ogImage":268,"path":273,"project_name":274,"published":275,"publishedAt":276,"seo":277,"source":278,"stem":279,"tags":280,"todo":268,"unpublished":275,"updatedAt":268,"__hash__":288},"pages/2026-10/2026-10-15/igo-rules-story-lesson-and-review-gate.md","囲碁のルールをストーリー版講座にした1日：日本囲碁規約で裏取りした計画書から13講の公開設定、Codexレビューゲートの差分上限の見直しまで",{"type":7,"value":8,"toc":255},"minimark",[9,13,18,22,25,28,38,41,45,48,51,55,58,61,64,67,81,84,87,90,93,97,100,103,106,109,112,115,118,122,125,128,131,143,146,216,223,226,229,232,235,252],[10,11,12],"h1",{"id":12},"囲碁のルールをストーリー版講座にした1日",[14,15,17],"h2",{"id":16},"_1本のポストから計画書へ","1本のポストから計画書へ",[19,20,21],"p",{},"朝8時前、囲碁のルールについてのXのポストを Claude Code に貼った。\nこれを、動く図で進むストーリー版の講座にできないか、という相談である。",[19,23,24],{},"まず x-search で、ポスト本文と返信、引用を集めさせた。\n引用は45件あった。\n同時に、eurekapu-nuxt4 のストーリー版のレイアウトをサブエージェントに調べさせた。\nポストの主張は、日本囲碁規約などの一次資料に当てて裏を取らせた。",[19,26,27],{},"計画書は Codex のレビューに回した。",[29,30,31,35],"ul",{},[32,33,34],"li",{},"1回目は3点。どれも事実関係か、採点の仕様の誤りだった",[32,36,37],{},"再レビューで1点。セキになった石の目も、日本式では地にならない（規約第八条）",[19,39,40],{},"どちらも妥当なので直させて、承認が出た。",[14,42,44],{"id":43},"決裁6件とeurekapu-用の作り直し","決裁6件と、eurekapu 用の作り直し",[19,46,47],{},"計画書は HTML にして、決めてほしい6件の選択フォームを付けた。\nChrome で開かせて、6件に答えた。\n講座の置き場は eurekapu の5本目にした。\nXのポストは、コンテンツの中では出典を明かさない。",[19,49,50],{},"置き場が決まったので、eurekapu 側の規約に合わせて計画書を書き直させた。\nCodex にもう一度見せると、今度は駄目詰めの話が出てきた。\n独立した2つの生き石のあいだに駄目が残っているだけで、セキと誤判定してしまう、という指摘である。\n妥当なので、駄目詰めの工程を足させた。\n判定は「着手可」になり、引き継ぎのプロンプトをダウンロードフォルダに書き出させた。",[14,52,54],{"id":53},"_13講153ステップの実装","13講153ステップの実装",[19,56,57],{},"8時半ごろ、新しいセッションに引き継ぎのファイルを渡した。\n最初に、使っているモデルが計画書に書いた実行モデル（Opus 5.5）と一致することを確かめさせた。",[19,59,60],{},"Phase 0 は材料の照合である。\n計画書に挙げたアカウントの投稿を、X の原文と1件ずつ照合させた。\n19件中18件の原文が取れ、残る1件は該当する投稿が見つからなかった。\n規約は全文と逐条解説、死活例7-1まで確認させた。",[19,62,63],{},"Phase 1 は採点エンジンで、テスト23件が通った。\nコミット前の Codex レビューで high の指摘が1件出た。\n説明と実装が食い違っていて、UI で連の1点だけを指定すると採点が止まる。\nClaude Code に重要度を判定し直させても high だったので、直させた。",[19,65,66],{},"Phase 2 は盤面の sim と描画部品である。\ndev で全ステップを送らせ、自由対局も採点まで通させると、細かい崩れがいくつか見つかった。",[29,68,69,72,75,78],{},[32,70,71],{},"取られた石の薄い残像が、盤を変えない操作でも消えていた",[32,73,74],{},"採点表に、講座本文の table のスタイルが被っていた",[32,76,77],{},"上端の座標の文字が、石に隠れていた",[32,79,80],{},"「−0」という表記が出ていた",[19,82,83],{},"採点表は、本文のスタイルが class のない table にだけ当たると分かり、表に class を付けさせた。\nPhase 2 のコミットでも Codex は high を付けたが、Claude Code の判定し直しでは medium だった。\n純碁の講はまだ書いていない。\nただ、これから必ず通る経路で、直すのは1行だったので直させた。",[19,85,86],{},"Phase 3〜4 で第2部から第4部の台本を書かせ、13講すべてが検査を通った。\n合計153ステップになった。\n検証は3体のサブエージェントに並列で振った（ルール検証1体、画面確認2体）。",[19,88,89],{},"ルール検証では、数字の不一致と規約の誤引用は0件、指摘は「中」5件と「低」8件だった。\n「手入れ」の盤面例は作り直しになった。\n上辺の黒1子を放置すると取られて半目負けに逆転し、自分の地の中に1手入れれば、黒32、白24で黒の1目半勝ちになる。\nこの数字はエンジンで確かめさせてから台本に入れた。",[19,91,92],{},"画面確認では、前半6講の PC 幅で74ステップ中74件が台本どおりだった。\nスマホ幅では、最後の台詞が盤に隠れ、盤の下の説明が切れていた。\n直したら、今度は PC 幅で採点表が縦に積まれてしまい、横並びに戻させた。\n最終的に、PC 幅で153ステップすべてが台本どおりに表示され、テストは51件通過、コンソールのエラーは0件になった。\nコミットは 3b0214f5、cb5a0ede、4dc397e5、2ebe8ef9 の4件である。",[14,94,96],{"id":95},"公開okと新しい区分の名前","公開OKと、新しい区分の名前",[19,98,99],{},"できあがりを見て、公開でOKと伝えた。\n迷ったのは講座一覧の分類である。\nコーディングではないので、一般教養のような区分を作りたかった。\nただ、一般教養だと上から目線すぎる。\n雑学でいいのか、とも考えたが、もう少し遊び要素を入れたかった。\nコンピュータのしくみの講座も、そこに入れたい。",[19,101,102],{},"候補を出してもらって選んだのが「なるほど研究室」である。\n説明文は「囲碁のルール、コンピュータのしくみ。分かりづらいと言われるものを、動く図にさわりながら1つずつ解きほぐす」になった。\n一覧には、囲碁（公開）とコンピュータ（ドラフトのまま）が並んだ。\n本文のキャッシュは、dev だけ無効にする方を選んだ。",[19,104,105],{},"規則の原文も見てほしいと頼んでいた。\n中国ルールの原文（中国围棋协会の公式サイト）をサブエージェントに調べさせると、第9条に「セキの駄目は双方で半分ずつ」と書いてあった。\nエンジンは駄目を誰にも数えていなかったので、中国式の点数を条文どおりに直させた。\n勝ち負けの差は変わらない。\nここまでを 40682a2c でコミットした。\n本番デプロイはまだしていない。",[14,107,108],{"id":108},"管理者でも見られないページ",[19,110,111],{},"午後、本番のコンピュータ講座が管理者でログインしても見られないことに気づいた。\n以後の講も、管理者なら見られるようにしてほしいと頼んだ。",[19,113,114],{},"調べさせると、本番は524（タイムアウト）を返していた。\nAPI は管理者で正常に返り、第16〜18講だけが503になっていた。\n中身は「Worker exceeded resource limits」、Cloudflare の無料枠の CPU 時間超過である。\ndraft の経路が重いのかと調べを進めたが、原因は17:04に別セッションが本番デプロイした直後の一時的な失敗だった。\n管理者でログインした Chrome で開き直すと全18講が開けた。\nコードは変えていない。",[19,116,117],{},"続けて、音声がないステップに「音声なし」のタグを付けてもらった。\nほかのストーリー版でもそうしている。\n囲碁では各ステップの番号の横に「音声なし」が出た。\nR2 に音声がない場合（404）の判定も、1本だけ一時的に隠して確かめさせた。\nコンピュータ講座の音声は、Mac に生成を頼むつもりだった。\n前日に出した依頼の返信は期限切れになっていたが、Mac 側を SSH で見ると合成済みの音声が残っていた。\nそれを取り込ませると1,836本で、全件の SHA-256 が一致し、全18講が「音声あり」になった。\ndev で鳴らすために手元で作った MP3 は、2,842本、186.4 MiB だった。\nR2 の残りは今朝の時点で約0.23 GB なので、上げるかどうかはまだ決めていない。",[14,119,121],{"id":120},"ゲートが1万行で止まった","ゲートが「1万行」で止まった",[19,123,124],{},"同じ日、別のセッションで、別の講座の改善計画を 8ef56952 でコミットしていた。\n120ファイルで、計画書や図と並んで旧動画37本の書き起こしが入っていた。\nこのとき、コミット前の Codex レビューのゲートが「差分が上限の1万行を超えた」と出していた。",[19,126,127],{},"差分のほとんどが書き起こしなら、レビューしても意味がない。\n実装だけをレビューするように、ゲートをもう少し制御できないかと頼んだ。",[19,129,130],{},"1回目の改修では、書き起こしも計画書も「資料」として、レビューの対象からも行数の上限の計算からも外れた。\nそこで待ったをかけた。\n書き起こしはいいが、計画書はレビュー対象にした方がよくないか。",[19,132,133,134,138,139,142],{},"言いかけて、一度引っかかった。\n計画書は必ずマークダウンになっているのか。\nHTML だけの計画書もある、という答えだった。\n外す ",[135,136,137],"code",{},".html"," は ",[135,140,141],{},".md"," から pandoc で作った複製なので、外しても抜けにはならない、という説明も付いていた。\nマークダウンから作っているなら大丈夫か、と受け取って、計画書は残す形に決めた。",[19,144,145],{},"最終的な線引きは次のとおりである。",[147,148,149,162],"table",{},[150,151,152],"thead",{},[153,154,155,159],"tr",{},[156,157,158],"th",{},"memo/ の下のファイル",[156,160,161],{},"扱い",[163,164,165,176,191,207],"tbody",{},[153,166,167,173],{},[168,169,170,172],"td",{},[135,171,141],{},"（計画書）",[168,174,175],{},"レビューに残す",[153,177,178,188],{},[168,179,180,183,184,187],{},[135,181,182],{},".txt"," ",[135,185,186],{},".srt","（書き起こし）",[168,189,190],{},"外す",[153,192,193,205],{},[168,194,195,183,198,183,201,204],{},[135,196,197],{},".json",[135,199,200],{},".tsv",[135,202,203],{},".csv","（データ）",[168,206,190],{},[153,208,209,214],{},[168,210,211,213],{},[135,212,137],{},"（pandoc の生成物）",[168,215,190],{},[19,217,218,219,222],{},"改修は ",[135,220,221],{},"~/.claude"," に f505169 と b89a522 でコミットし、push まで済ませた。\nb89a522 のコミット時の Codex レビューは指摘なしで通った。",[14,224,225],{"id":225},"夕方の確認",[19,227,228],{},"16時台、別のセッションでコンピュータ講座の絵コンテを進めていた。\nこのセッションは何から始まって何をやっていたのか、進捗は計画書に入っているのかと聞いた。\n聞くまで、計画書は更新されていなかった。\n§9 と Phase 3 に追記させたが、コミットはまだである。",[14,230,231],{"id":231},"振り返り",[19,233,234],{},"囲碁の計画書は、着手前の Codex のレビューで3回指摘を受け、そのたびに直した。\nセキの目の扱いも、駄目詰めの抜けも、そこで見つかった。\n書き起こしの山をゲートから外す改修で計画書まで一緒に外れかけたのは、その同じ日だった。",[29,236,237,240],{},[32,238,239],{},"囲碁の採点は、セキの扱いで食い違いが出た。日本は第八条、中国は第9条の条文に当てて直した",[32,241,242,243,245,246,248,249,251],{},"ゲートから外すのは、読んでもレビューにならないものだけにした。書き起こし、データ、",[135,244,141],{}," から作った ",[135,247,137],{}," は外し、計画書の ",[135,250,141],{}," は残した",[19,253,254],{},"残っているのは、囲碁講座の本番デプロイと、コンピュータ講座の MP3 を R2 に上げるかどうかの判断である。\nHTML だけで書いた計画書は、この線引きでは外れる側に入る。\nそこは今回は詰めていない。",{"title":256,"searchDepth":257,"depth":257,"links":258},"",2,[259,260,261,262,263,264,265,266],{"id":16,"depth":257,"text":17},{"id":43,"depth":257,"text":44},{"id":53,"depth":257,"text":54},{"id":95,"depth":257,"text":96},{"id":108,"depth":257,"text":108},{"id":120,"depth":257,"text":121},{"id":225,"depth":257,"text":225},{"id":231,"depth":257,"text":231},"dev",null,"Xのポストを起点に、囲碁のルールを動く盤面で解説するストーリー版講座を計画から実装、公開設定まで進めた記録。Codexにセキと駄目詰めの判定の誤りを指摘された計画書、13講153ステップの実装、講座一覧の新しい区分、コミット前レビューゲートで書き起こしを外し計画書を残した判断まで。","md",{},true,"/igo-rules-story-lesson-and-review-gate","eurekapu-nuxt4",false,"2026-10-15T00:00:00.000Z",{"title":5,"description":269},"make-diary","2026-10/2026-10-15/igo-rules-story-lesson-and-review-gate",[281,282,283,284,285,286,287],"囲碁","ストーリー版講座","Claude Code","Codex","コミットゲート","日本囲碁規約","計画書","nP585DEVrwXucqm-FNa58v0FH3t7_3I_xAOjOomPc_I",[],[291,295,299,303,307],{"title":292,"path":293,"publishedAt":294},"台湾の外銷訂単CSVが止まったので経済部の新聞稿xlsxを予備経路にした（韓国品目別旬報の欠けとコミットゲートの誤検知も直す）","/taiwan-export-orders-fallback-and-secret-scan-false-positive","2026-10-13T00:00:00.000Z",{"title":296,"path":297,"publishedAt":298},"Claude Code の日記生成コマンドの閉ループ化と Workers 移行、2本の計画を見送った記録","/make-diary-closed-loop-plans-dropped","2026-10-10T00:00:00.000Z",{"title":300,"path":301,"publishedAt":302},"Excel講座キーボードショートカット章のフィードバック修正：計画書と引き継ぎから、置換ダイアログと結合セルの再現まで","/excel-course-keyboard-shortcut-feedback-fixes","2026-10-03T00:00:00.000Z",{"title":304,"path":305,"publishedAt":306},"連結会計シミュレーターの結果をExcelの連結精算表ブックに書き出す計画：13年つなぐとエンジンは2年目で止まった","/consolidation-simulator-excel-export-plan","2026-09-21T00:00:00.000Z",{"title":308,"path":309,"publishedAt":310},"後回しにした理由を探したら、そんな記録はどこにもなかった","/course-restart-and-tax-plan","2026-09-13T00:00:00.000Z","https://log.eurekapu.com/og/blog/igo-rules-story-lesson-and-review-gate.png?v=2026-10-15T00%3A00%3A00.000Z&title=%E5%9B%B2%E7%A2%81%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%AB%E3%82%92%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AA%E3%83%BC%E7%89%88%E8%AC%9B%E5%BA%A7%E3%81%AB%E3%81%97%E3%81%9F1%E6%97%A5%EF%BC%9A%E6%97%A5%E6%9C%AC%E5%9B%B2%E7%A2%81%E8%A6%8F%E7%B4%84%E3%81%A7%E8%A3%8F%E5%8F%96%E3%82%8A%E3%81%97%E3%81%9F%E8%A8%88%E7%94%BB%E6%9B%B8%E3%81%8B%E3%82%8913%E8%AC%9B%E3%81%AE%E5%85%AC%E9%96%8B%E8%A8%AD%E5%AE%9A%E3%80%81Codex%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%82%B2%E3%83%BC%E3%83%88%E3%81%AE%E5%B7%AE%E5%88%86%E4%B8%8A%E9%99%90%E3%81%AE%E8%A6%8B%E7%9B%B4%E3%81%97%E3%81%BE%E3%81%A7&author=Kei%20Komatsu&sig=de1fd2ef5dacc9c6",1792550157039]