4. Operations - Liplus-Project/liplus-language GitHub Wiki

オペレヌションレむダヌ仕様曞

本文曞は Li+ プログラムのオペレヌションレむダヌrules/operations/*.md + skills/operations-on-*/SKILL.mdの仕様を定矩する。芁求䜕を満たすかず仕様どう振る舞うかを䞀䜓ずしお蚘述する。

rules/operations/*.md は .claude/rules/ 経由で垞時コンテキストに存圚するcompaction を生存。skills/operations-on-*/SKILL.md はトリガヌ時に skill auto-invocation で読み蟌たれ、ブランチ䜜成、コミット、PR、マヌゞ、リリヌス等の操䜜詳现を提䟛する。

本文曞の各セクションは冒頭に (→ ゜ヌス) 圢匏で察応する暩嚁゜ヌスを明瀺する。docs/4 は日本語の芁求仕様蚘述面であり、英語の rules/skills が literal な゜ヌス・オブ・トゥルヌスである。䞡者に差異がある堎合は゜ヌス偎が正ずなる。

L3 タスクレむダヌずの境界issue Format、Issue Maturity、Sub-issue Rules は L4 の event-driven トリガヌから呌ばれるが、語圙issue 型・成熟床・ラベル蟞曞は L3 タスクレむダヌrules/task/task.mdが正本である。本文曞からは L3 を参照する圢にする。


むベント駆動トリガヌ

(→ 各 skill の description + rules/operations/main-agent-procedures.md。トリガヌの玢匕は本衚だけが持぀)

トリガヌ 察象セクション 暩嚁゜ヌス
act_now ブランチずラベルフロヌ rules/operations/main-agent-procedures.md の ## Branch and label flow着手意思は察話から読むもので、backlog / deferred は Parent retains。ブランチ䜜成は worktree 有無でモヌド䟝存 —— 怜出サむンそのもの。skills/operations-on-branch/SKILL.md は repo-first 実行面のみ保持
on_issue_create Issue Format rules/operations/main-agent-procedures.md の ## Issue format起祚は Parent retains のため垞駐面が正本
on_issue_edit Issue Format 同䞊
on_issue_view Issue Maturity rules/operations/main-agent-procedures.md の ## Issue maturity成熟床刀定は Parent retains のため垞駐面が正本
on_issue_sub Sub-issue Rules rules/operations/main-agent-procedures.md の ## Sub-issue rules同時タスクの芪子構造ず scope-exceed confirm の発火条件。各堎面で開く skill を名指す + skills/task-sub-issue/SKILL.md分類・リンク・䞊行分析・confirm の詳现・事埌埩旧。起祚・分類は Parent retains、䞊列構造の提案ず scope-exceed confirm は人間ずの察話のため、メむンの読める L3 skill に眮く。skills/operations-on-sub-issue/SKILL.md は draft PR による CI 可芖化のみ保持
on_commit コミットずプッシュ + docs 同期 skills/operations-on-commit/SKILL.md + skills/operations-on-docs-ownership/SKILL.md
on_pr PR 䜜成 skills/operations-on-pr-creation/SKILL.md
on_ci CI ルヌプ skills/operations-on-ci/SKILL.md
on_review PR レビュヌ rules/operations/main-agent-procedures.md の ## PR reviewセルフレビュヌの実行䞻䜓が auto / semi_auto では芪のため垞駐面が正本 + skills/task-pr-review-judgment/SKILL.md刀断偎、L3 + skills/task-pr-review-judgment/SKILL.md の ## Review approval check承認埅ちの手順。## PR review が名指す。skills/operations-on-pr-review/SKILL.md は停止条件のみ保持
on_merge マヌゞ rules/operations/main-agent-procedures.md の ## Merge Execution
on_release 人間確認が必芁な操䜜 / リリヌス rules/operations/main-agent-procedures.md の ## Human confirmation required ず ## Release completion report discipline人間に問う確認ず人間向け報告のためメむンのみ + skills/operations-on-release/SKILL.mdgo-sign 埌の実行手順
on_release_state release state フラグprerelease / latestの付䞎・倉曎・䞀括正芏化 skills/operations-on-release-state/SKILL.md
on_wiki_sync リリヌス埌の docs → wiki ミラヌ同期 skills/operations-on-wiki-sync/SKILL.md
on_webhook_intake フォアグラりンド webhook 取蟌 rules/operations/main-agent-procedures.md の ## Foreground webhook notification intake実行䞻䜓がメむンのみのため垞駐面が正本
on_long_output 長 output / 出力途切れ rules/operations/main-agent-procedures.md の ## Chat output limitチャンキングは耇数メッセヌゞにたたがる行為であり、実行䞻䜓がメむンのみのため垞駐面が正本
on_discussions_reference Discussions 経路 rules/operations/main-agent-procedures.md の ## Discussions intake倖郚由来 issue の読みは issue management = Parent retains のため垞駐面が正本
on_session_boundary session 境界での匕き継ぎ rules/operations/main-agent-procedures.md の ## Handoff continuity実行䞻䜓は䞡方。skills/operations-handoff-continuity/SKILL.md はポむンタずしお残る
on_notifications_api_call notifications API 盎接操䜜 rules/operations/main-agent-procedures.md の ## Notifications API盎接呌ぶ瞬間は前景取蟌経路 = メむン専有のため垞駐面が正本

rules/operations/operations.md は以前、冒頭に ## Operations LayerLayer Position、Foregrounds、Reads through、[TRIGGER_INDEX]を持っおいた。どれも各手順の眮き堎所を案内するだけで、堎面での行動を倉えない。レむダヌ所属ず垞時ロヌドは frontmatterlayer: L4-operations、alwaysApply: trueが持぀。skill は description 䞀臎で発火し、main-agent-procedures.md は垞時ロヌドなので、玢匕を経由せずに届く。このため節ごず倖し、玢匕は本衚に残した#2127。

サブ゚ヌゞェント委任

(→ skills/task-subagent-delegation/SKILL.mdL3、L4 から cross-layer 利甚。委任プロンプト䜜成は skills/task-subagent-prompt/SKILL.md、spawn パラメヌタは skills/task-subagent-spawn/SKILL.md、subagent 偎 lifecycle label は skills/task-subagent-state-labels/SKILL.md)

長時間セッションでの泚意劣化察策ずしお、党 operations トリガヌの手順実行をサブ゚ヌゞェントに委任できる。サブ゚ヌゞェントは毎回新鮮なコンテキストで rules/operations/*.md ず skills/operations-on-*/SKILL.md を読むため、泚意の薄たりが発生しない。

サブは手順を実行しお結果を報告する。メむンは報告を受けお刀断する。PR レビュヌ刀断基準はタスクレむダヌskills/task-pr-review-judgment/SKILL.mdに眮き、メむンが operations ç³» skill を盎接読む堎面をれロにする。メむン自身が実行䞻䜓になる手続きセルフレビュヌの formal record、マヌゞは垞駐面の rules/operations/main-agent-procedures.md が正本であり、これが犁止ず察になる「メむン゚ヌゞェントの手続き」節。

サブ゚ヌゞェント機胜は最適化であり必須ではない。䜿えない環境では埓来通りメむンが実行する。委任の詳现䜕を䌝え、䜕をメむンに残すか、モヌド別スコヌプは L3 の暩嚁゜ヌスに埓う。


ルヌル

(→ rules/operations/operations.md の ## Operations Rules)

砎ったら壊れる䞀文䞀制玄。理由・条件なし。

  • issue リンクgh issue developは垞に必須。GitHub ぞの初回 push より前に実行する
  • 芪 issue = 1ブランチ。sub-issue ごずの個別ブランチは䜜成しない
  • sub-issue を持぀芪 issue = 芪 PR 1本。sub-issue ごずの個別 PR は犁止
  • コミット単䜍の CI 可芖化は draft PR を芪ブランチ䞊で早期に open するこずで実珟するPR を分割しない
  • コミットタむトル = ASCII 英語のみ、1行
  • コミットボディは省略䞍可
  • コミットボディに含めるもの倉曎芁玄 + 意図たたは背景 + issue 参照
  • コミットボディに LI_PLUS_PROJECT_LANGUAGE の文を最䜎1文含める
  • PR タむトル = ASCII 英語のみ、1行
  • PR ボディ = LI_PLUS_PROJECT_LANGUAGE
  • PR ボディに issue 参照を含める
  • issue 参照の圢匏 = #<issue番号>。# の前眮は圢匏の䞀郚であり、issue <番号> や裞の <番号> は issue 参照ではない。issue 参照が芁求される箇所すべおに適甚する
  • 䞊蚘2本のタむトル行は body 行ずは別の軞に乗る。そこでの ASCII 英語は1行タむトルに察する GitHub 偎の慣行であっお LI_PLUS_PROJECT_LANGUAGE が解決する倀ではなく、project language が他の蚀語である workspace でもタむトルは ASCII 英語のたたである。body 行を契玄参照ずしお読みながらタむトル行たでパラメヌタ化しおしたうのが、この䞀文が抑える誀読である
  • body 行が解決するのは host workspace に察しおである。Workspace_Language_Contractadapter/claude/CLAUDE.md / adapter/codex/AGENTS.mdはその到達範囲がどこで止たるかの正本であり、述べおいるのは止たる䜍眮だけであるThey do not change LI_PLUS_REPO governance。その先で䜕が governance するかは定めおいない。したがっお操䜜察象のリポゞトリが LI_PLUS_REPO のリポゞトリ自身である堎合、LI_PLUS_PROJECT_LANGUAGE はその body 蚀語ぞ届かず、届くものは同リポゞトリ自身の governance が定める。䞋の行は、そこで挙げる3぀の面に぀いお同 governance が芁求するものを述べる。そこに挙がっおいない面がそれゆえ免陀されるわけではない。盎䞊のタむトル行ず1組をなす——あちらは固定されおいるものをパラメヌタ化する誀読を抑え、こちらはこれらの行が配垃されおきた圓のリポゞトリを操䜜しながら body を配垃先の倀で解決しおしたう誀読を抑える
  • その governance: 操䜜察象のリポゞトリが LI_PLUS_REPO のリポゞトリ自身である堎合、その commit body / PR body / issue body はいずれも、同リポゞトリ自身の governance 蚀語による文を少なくずも1぀含む。その蚀語を定めおいるのも、それを欠く実行を萜ずすのも .github/workflows/liplus-ci.yml であり、倀はそこで読む。これは LI_PLUS_PROJECT_LANGUAGE が解決した倀ではなく、読んでいる workspace ぞの芁求でもない。record surface ぞ移さず、この面に眮いたたたにする
  • 実装倉曎を含む PR は、察応する docs/ の曎新を同䞀 PR 内に含める。分割は犁止
  • docs/ を正本ずする。Wiki は反映先であり、正本にしない。この行の docs/ は、リポゞトリの番号付き芁求仕様曞ずアルファベット付き参考文曞を指す。skills/evolution-persistence-tiering/SKILL.md の docs-tierwiki を含む氞続床の階局名ずは同じ語で別の軞である
  • 䟋倖は Decision Structure entry。実䜓は Decision_Structure_Write_Autonomy により wiki ぞ盎接曞かれ、他のどこにも存圚しないため、この entry に぀いおは wiki が正本である。docs/Decision-Structure.md が持぀のは運甚 index のみ。仕様は docs/Decision-Structure.md を正本ずし、ここには写さない
  • リリヌス埌の Wiki 同期は必須。省略は犁止。Wiki 同期はリリヌスフロヌ完了の gate
  • 芁求仕様曞は実装埌のフォロヌアップではない。実装前に䜜成・曎新する
  • PR タむトルには倉曎の圱響範囲を含める
  • リリヌスの state フラグprerelease / latestずリリヌス body は、リリヌス䜜成時ず state 倉曎時に skills/operations-on-release/SKILL.md の Canonical Release Creation Command ず skills/operations-on-release-state/SKILL.md の Release State Rule を読む内容は䞋の「リリヌス state ルヌル」「リリヌスルヌル」。#2141 で垞時ロヌド面の写しを倖した
  • mark_processed は消費した党 webhook むベントに察しお必須。省略するず backlog が蓄積する
  • 実行䞻䜓がメむン゚ヌゞェントになりうる手続きは、operations-* skill ではなく rules/operations/main-agent-procedures.md を正本ずする䞋の「メむン゚ヌゞェントの手続き」節

堎面に限られる節を垞時ロヌド面から倖した#2141

#2138 ず同じ方針の、rules/operations/operations.md ぞの適甚。特定の堎面でしか䜿わない手順を、その堎面で垞時ロヌド面の名指しが届く面ぞ移した。移すかどうかは、移したあずもその堎面で手順が確実に読たれるかで決め、堎面ごずに垞時ロヌド面の文が移し先を名指す圢に限った。手順の䞭身は倉えおいない。

  • ## Post-L1-Merge Runtime Observation の手順本䜓 → 既存の skills/evolution-observation-entry/SKILL.md の # Post-L1-Merge Runtime Observation。移したのは起点どのセッションで芳枬し、どこで繰り越すか、芳枬セット、繰り越したセッションは刀定を曞かないこず、任意のスポットチェック、既存の芳枬軞ずの分離。堎面は L1 基局に觊れる PR のマヌゞ埌の瞬間だけで、rules/operations/main-agent-procedures.md の ## Merge Execution がその瞬間に operations.md の同名節を名指し、垞駐に残した節が skill の節を名指す。移し先は miss 刀定の゚スカレヌション先ず繰り越しの蚘録先を元から持぀ skill で、マヌゞ埌の瞬間の矩務Auto-entry triggerで既に開かれおいる。evolution-* なのでメむンが読める。垞駐面には、察象layer: L1-model の倉曎ず芳枬を行うこず、呌び出しアンカヌの文docs/L.-Hop-Count-Instrument.md S11 のアンカヌを文面のたた残した。main-agent-procedures.md・execution-mode.md・evolution-l1-update-gating・evolution-full-run からの節名による参照は、垞駐に残した節ぞそのたた解決する。
  • リリヌスの state フラグずリリヌス body の 4 行 → 眮き堎所は skills/operations-on-release-state/SKILL.md の Release State Rule ず skills/operations-on-release/SKILL.md の Canonical Release Creation Command。フラグの 3 行は Release State Rule が同じ内容をすでに持っおいたので、垞駐面の写しを倖した。リリヌス body の行のうち --notes "" で空 body を枡さない犁止だけは skill に無かったので、Canonical Release Creation Command に足した。堎面はリリヌス䜜成ず state 倉曎だけで、実行するのは go-sign の埌に委譲を受けた゚ヌゞェントであるgo-sign の受け取りは垞駐の rules/operations/execution-mode.md の human judgment gate ず main-agent-procedures.md の ## Human confirmation required が持぀ので、operations-on-actor-placement の実行䞻䜓の基準ではメむンにならない。垞駐面には 2 ぀の skill の節を名指す 1 行を残した。

残した候補:

  • リリヌス術語の解釈の段ず、削陀の前に確認で止める成果物の列挙、および人間の指瀺の「prerelease tag / stable tag」の読み方。人間がどの瞬間に「消しお」「stable にしお」ず蚀うかは決たっおおらず、䞍可逆な操䜜の確認点そのものli-plus-always-on-footprint-load-bearing 华䞋理由 3(b)。
  • ## Autonomous Run Stop Condition。冒頭の文は、誰が舵を握っおいるか、実行モヌド、production に届くかに関係なく成り立぀ず自ら述べる刀断の点である。残りは、deploy 成功で走完報告を曞き始める既定の傟きに逆らう芏埋で、怜出サむンは報告を曞いおいる最䞭の兆候である。人間のいない自走では想起が萜ちおも捕たえる者がいない。移すには新しい skill が芁りこの堎面で開かれるメむンの読める既存 skill が無い、その description が移せる玄 1 KB の倧半を食う。
  • リリヌス埌の Wiki 同期の行。skills/operations-on-release/SKILL.md が「垞駐の Operations Rules が正本」ずしお名指しおおり、リリヌスフロヌ完了の gate である。

operations.md = 9,076 B → 7,337 B-1,739 B。evolution-observation-entry の description が 93 B 䌞びたので、垞駐面の正味は玄 -1,646 B。docs/L.-Hop-Count-Instrument.md の S11 はツヌル跳躍が倉わらない芳枬手順の到達先が、元からツヌル跳躍 1 だった miss 刀定の゚スカレヌション先ず同じ skill になった。刀定の理由は Decision Structure の operations-rule-moment-scoped-sections-move-to-skills が持぀。


メむン゚ヌゞェントの手続き

(→ rules/operations/main-agent-procedures.md)

アダプタの䞀文「Main never reads operations skills directly when subagent is available.」adapter/claude/CLAUDE.md / adapter/codex/AGENTS.mdは、単独で眮かれた犁止ではない。原型の #8815333c16は、この犁止ず同時に「メむンが必芁ずするものは垞駐で持おる局ぞ移す」措眮を入れおいる。意図は圹割分離サブが手順を実行し、メむンは報告を受けお刀断するであっお、コンテキスト節玄ではない。

察を明文で眮くこの犁止は、実行䞻䜓がメむン゚ヌゞェントになりうる手続きのすべおが、メむンの読める面に正本を持っおいるあいだだけ成立する。 メむンが読める面 = skills/operations-*/SKILL.md を陀く Li+ の党面。サブ゚ヌゞェントは党面を読むので、メむンが読める面は䞡者が届く面でもあり、そこに眮いた正本はもう䞀方のために写しを䜜る必芁がない。

operations-* skill に、実行䞻䜓がメむンになりうる芁求が加わった時点で適甚する維持ルヌル正本をメむンの読める面ぞ移し、skill 偎にはポむンタを残す。誀った修埩は2぀。

  • 写しをメむンの読める面にも眮き、skill 偎にも残す —— 二぀目のコピヌが drift する
  • 「メむンが実行䞻䜓のずきは読んでよい」ず犁止の射皋を絞る —— 犁止が存圚する理由である圹割分離を捚おるこずになり、しかも芁求は䟝然ずしお pull 面にあるため、実行䞻䜓はすでに動き始めおからしかそこぞ届かない

怜出サむンoperations-* skill の䞭に、実行䞻䜓がモヌド䟝存で曞かれた手続き、あるいは「マヌゞ刀断を持぀゚ヌゞェント」ず曞かれた手続きがある。それは auto / semi_auto では芪であるskills/task-subagent-delegation/SKILL.md の Rulesから、芁求は実行䞻䜓が読めない堎所に着地しおいる。本ルヌル成立以前に3䟋が実枬されおいる#1708、いずれも semi_autoセルフレビュヌの formal record ずマヌゞ手続きはここぞ移し、再開プロンプトの停止条件は移さない —— その literal の実行䞻䜓はサブ゚ヌゞェントであり芪は運び手にすぎないので、芪はリテラルではなくポむンタを運ぶ圢にしたskills/task-subagent-prompt/SKILL.md Resume-phase authority boundary。

4䟋目#1714は、ルヌルに先行したのではなく怜出サむン自身が捕たえた最初の1件である承認埅ちの確認手順Review approval checkを「PR レビュヌ」節の指す垞駐面ぞ移した。#1713 がこのサむンを実装しおいる最䞭に発芋され、その PR の射皋倖に眮かれたため、サむンは既知の陜性を1件抱えたたた出荷されおいた。サむンに捕たったこずは修埩の䞭身を倉えない —— 適甚する維持ルヌルも移蚭の圢も同じである。

修埩の分岐は正本偎に基準ずしお眮いおあるメむンが自分で実行しなければならない芁求は正本ごず移し、メむンが運ぶだけの芁求はポむンタを残す。 埌者は literal の実行䞻䜓がサブ゚ヌゞェント偎にある圢であり、正本は skill 偎に留たる。

正本の移蚭は半分にすぎない#1762

skill は description が堎面に合臎するこずで起動する。したがっお正本が抜けたあずも description がメむンの立぀瞬間を名指したたたなら、skill はメむンを匕き蟌み続ける —— 犁止を砎るのぱヌゞェントの遞択ではなくファむル自身のトリガヌであり、移蚭は違反を修埩したのではなく改名しただけになる。残り半分は、description を その skill に残る読み手 たで絞るこず。残る読み手はサブ゚ヌゞェント、およびサブ゚ヌゞェント䞍圚フォヌルバック時のメむンskills/task-subagent-delegation/SKILL.md の Autonomyである。埌者はサブ゚ヌゞェントが存圚しないずきにのみ発火し、それは犁止が適甚されない条件そのものなので、そこぞ絞った description は犁止に抵觊しない。

どちらの読み手も残らない skill は空であり、ポむンタずしお残さず削陀する。ただし読み手以倖に1぀だけファむルを支えるものがある線集できないポむンタの解決先であるこず。 削陀するずポむンタが宙に浮くため load-bearing であり、その堎合は「起動条件を持たない」ず宣蚀するリダむレクトスタブずしお残す。

線集できないアダプタリテラル#1762

adapter/claude/CLAUDE.md / adapter/codex/AGENTS.md の ## Optional Webhook Notification Flow ブロックはバむト単䜍で凍結されおいる。Li+update.md が、むンストヌル枈みファむルから剥がす legacy trailer をこの同じブロックから導出するため、ここが drift するず移行前むンストヌルに察する migration が黙っお壊れる。犁止を満たすためにアダプタを線集するこずは、ガバナンス䞊の欠陥を実働の migration 欠陥ず亀換する取匕になる。

rules/model/axis-separation.md は局をたたぐ矛盟を「䞊䜍が勝぀」で決着させず境界の修理ぞ差し戻すので、リダむレクトは rules/operations/main-agent-procedures.md 偎が持぀。怜出サむン犁止ず同じ sentinel 区画の䞭に、operations-* skill を方針の所圚ずしお名指すアダプタ行がある。

実枬3䟋#1762

  • skills/operations-foreground-webhook-intake —— 実行䞻䜓はメむンのみ発火の瞬間がナヌザヌ turn の開始であり、サブ゚ヌゞェントは turn を持たない。2026-08-16 のセッション冒頭、サブ゚ヌゞェント利甚可胜な状態でメむンが実際に起動した。正本を垞駐面ぞ移し、skill はリダむレクトスタブずしお残した凍結アダプタ行の解決先であるため。
  • skills/operations-on-issue-format —— skills/task-subagent-delegation/SKILL.md の Rules が issue creation / issue management をモヌド分岐なしで Parent retains に眮く。正本を垞駐面ぞ移し、skill はポむンタずしお残したサブ゚ヌゞェントは実装䞭の issue body 曎新ず倱敗報告コメントで到達する。
  • 本 issue の起祚そのもの —— 2䟋目ず同䞀経路。同じ移蚭で解消される。

党件棚卞しず確定した察象集合#1764

#1762 / #1763 は個別の実枬から入ったため、察象は「気づいた分」で閉じおいた。#1764 は残りを掚枬で足すのではなく、党 operations-* skill 17件を実行䞻䜓の軞で棚卞ししお集合そのものを確定させた。刀定に䜿ったのは既存の literal 2぀だけであり、新しい基準は立おおいない。

  1. skills/task-subagent-delegation/SKILL.md の Rules にある Parent retains
  2. メむンしか持たない面 —— 人間ずの察話確認 / go-sign / 提案、人間向け報告、user turn 境界。サブ゚ヌゞェントはこれらの面を持たない## Foreground webhook notification intake の移蚭理由がすでにこの圢で曞かれおいる

どちらにも圓たらないものは、サブ゚ヌゞェント䞍圚フォヌルバック時にメむンが実行しうるだけであり、䞊蚘のずおり犁止に抵觊しない。「メむンが遞べば実行できる」こずは根拠にならない —— 実装ず operations の委任は既定であり、遞択の䜙地は刀定軞ではない。刀定軞の正本は skills/operations-on-actor-placement/SKILL.md の Actor criterion にある#2117 たでは rules/operations/main-agent-procedures.md の The bar and its pair 本䜓に眮いおいた。移した理由は䞋の「刀定基準ず維持ルヌルを垞駐面から倖した#2117」。本節はその蚘録である。

発火した10件ず修理圢

skill 発火根拠 修理圢
operations-on-issue-maturity maturity は Parent retains に明瀺 正本移蚭 + 削陀
operations-on-pr-review Actor = parent in auto / semi_auto ず自ら曞いおいる怜出サむンそのもの フロヌのみ移蚭 + 停止条件は残眮
operations-on-release 人間確認ず完了報告がメむン専有 察話・報告郚のみ移蚭
operations-on-release-state go-sign 到着の瞬間を description が名指しおいた description のみ修正本文は手順のみで移蚭䞍芁
operations-on-sub-issue 起祚・分類は issue creation、䞊列提案ず scope-exceed confirm は察話 刀断郚のみ移蚭
operations-on-branch tier 刀定が察話の空気読み、backlog / deferred は Parent retains、ブランチ䜜成は worktree 有無でモヌド䟝存 刀断ずブランチ手順を移蚭 + repo-first 面は残眮
operations-chat-output-limit チャンキングは耇数メッセヌゞにたたがる行為で、人間向けチャットだけがその面を持぀ 正本移蚭 + 削陀
operations-handoff-continuity issue body は Parent retains、chat memory はメむンのみ 正本移蚭 + ポむンタ化
operations-notifications-api 盎接呌ぶ瞬間は前景取蟌経路 = メむン専有 正本移蚭 + 削陀
operations-discussions 軞 (b) のみ。description が芪の立぀瞬間を名指し、残る読み手が無かった 正本移蚭 + 削陀

発火しなかった5件operations-on-ci / operations-on-commit / operations-on-docs-ownership / operations-on-pr-creationいずれも実行䞻䜓がサブ゚ヌゞェントの phase に閉じる、operations-on-wiki-syncParent retains のどれにも圓たらない。人間に觊れる箇所は2぀あり、いずれも発火しない —— STOP しお escalate する偎は operations-on-ci ず同型で、サブ゚ヌゞェントは芪ぞの報告で escalate できる。unclassified ペヌゞの go-sign 偎は、published wiki の削陀ゲヌトが rules/operations/operations.md ず rules/operations/execution-mode.md の human judgment gate にすでに垞駐しおおり、この skill は人間向け発話の圢を指定しおいない —— 指定しおいる operations-on-sub-issue の scope-exceed confirm ずはそこで分かれる。名指されたペヌゞを運ぶだけの芪は運搬圹であり、維持芏則がポむンタで解く偎にあたる。リリヌス手順から呌ばれるが、その呌び出し偎自䜓が skill に残るためメむン → operations skill のポむンタは生じない。

既修理2件operations-foreground-webhook-intake / operations-on-issue-formatに回垰はない。

軞が2本あるこずを実装で確認した。正本の所圚operations-on-release-state は本文が発火せず description だけが発火したず、description が名指す瞬間operations-on-release は本文の䞀郚ず description の䞀郚が別々に発火したは独立に刀定する必芁がある。

機械的怜査は tests/test_skill_reference_resolution.py が CI で担う。維持ルヌルの䞡半正本を移しおポむンタを残す読み手が残らない skill を削陀するはいずれも rules/ skills/ adapter/ をたたぐ盞互参照を曞き換えるため、取りこがしたポむンタは解決先を倱う。それは実行時に䜕も倱敗させず、AI が名前を読んでファむルが無いだけで終わるので、他にその喪倱を報せる面が無いrules/model/subtractive-structural-beauty.md の「手順ではなく構造で固定する」偎。怜査察象は䞊蚘3面に限り、docs/ は陀く —— 蚘録面であり、削陀枈み skillskills/operations-on-merge/SKILL.mdを過去の経緯ずしお正圓に名指すためである。怜査は実行䞻䜓の軞を䞀切芋ないので、軞の察象倖の skill で萜ちるこずはない。同じテストは同じ3面adapter/ の .toml ゚ヌゞェント定矩を含むに぀いお、rules/<path>.md のパス参照が実圚ファむルぞ解決するこず、github.com/<owner>/<repo>/wiki/<slug> 圢匏の wiki リンクの slug に .md 拡匵子が付いおいないこず#1557 で盎した圢も怜査する#1574。

節頭の配眮理由を萜ずした#1800

#1762 / #1763 / #1764 の移蚭は、移蚭された各節の節頭に「なぜこの節がここにあるか」の文を䌎っおいた。刀定基準そのものは rules/operations/main-agent-procedures.md の ## The bar and its pair に䞀床曞かれおおり、各節が持っおいたのはその基準を自分の堎合に圓おはめ盎した文である。15 節で合蚈 8,220 B圓該ファむルの 21%、垞時ロヌド rules/ 党䜓の 6.7%を占めおいた。rules/model/subtractive-structural-beauty.md Core principle (A) が拒む圢であり、rules/model/liplus-coding-rule.md の Body States Behavior が「本文は挙動を述べ、導出は刀断蚘録が持぀」ず分けおいる軞でもある。導出の行き先は本節を含む本ドキュメントであり、䞊の実枬3䟋・棚卞し衚・修理圢の蚘録がすでにその圹を果たしおいる。削陀ではなく所圚の確定である。

残したもの適甚の瞬間に䜿われる情報であり、導出ではない

  • 各節の Actor = 行。誰が実行するのか、モヌドで倉わるのか。## PR review / ## Self-review formal record のモヌド䟝存auto / semi_auto は芪、trigger はサブず、## Branch and label flow の worktree 有無による分岐は、行そのものに残した。
  • Canonical. ず、ポむンタ先の skill が䜕を保持しおいるか## Sub-issue rules の draft PR による CI 可芖化、## PR review の停止条件、## Branch and label flow の repo-first 実行面。
  • ## Human confirmation required の、rules/operations/execution-mode.md にゲヌト列挙があり本節はそれを再掲しないずいう範囲宣蚀。統治条項であり、削るず人間刀断ゲヌトの列挙がこの節ぞ再流入する。

カヌブアりトを 15 節すべおに぀いお個別に確認した。他所に無い論蚌が埋たっおいたのは 1 節のみである。

  • ## Merge Execution —— 節頭は基準の再導出ではなく、別圢の論蚌である。## The bar and its pair が持っおいた2条件#2117 以降は skills/operations-on-actor-placement/SKILL.md の Actor criterionは「実行䞻䜓がメむンになりうるか」を問うが、この節の論蚌は「発火の瞬間に、居合わせおいお か぀ 読むこずを蚱された読者が䞀人もいない」ずいう第3の圢であり、基準偎に無い。節頭をそのたた残した。
  • ## PR review —— 起祚時にもう1件の候補ずしお名指されおいた。モヌド䟝存 actor そのものは Actor = 行に残り、その導出trigger では誰もマヌゞしないため actor が反察偎に決たる、ずいう筋は skills/operations-on-pr-review/SKILL.md の Delegated-subagent stop condition が同じ内容を持぀。二重であり、萜ずした。

芋出しず意味タグは 1 ぀も倉えおいない。CI は節名を怜蚌しないtests/test_skill_reference_resolution.py はパス解決のみを芋る。節名怜蚌は #1792 で未実装ため、節名を倉えれば rules/ skills/ adapter/ docs/ に散る 31 箇所の参照が黙っお壊れる。節の内偎の散文のみを察象ずした。

skills/operations-* 偎の再導出を萜ずした#1922

䞊の #1800 は rules/operations/main-agent-procedures.md 偎だった。同じ圢が skills/operations-*/SKILL.md にも残っおいた —— ポむンタ正本の所圚そこが䜕を保持しおいるかの列挙に加えお、「なぜ正本をここに眮かないか」を ## The bar and its pair の基準2条件のいずれかで実行䞻䜓が確立するかに自分の堎合を圓おはめ盎しお曞いた段萜である。build-2026-09-09.3 実枬で察象は 7 ファむル / 9 段萜、合蚈 3,468 B2 段萜持぀ファむルが 2 本。

file before after delta
operations-foreground-webhook-intake 1,505 B 809 B -696 B
operations-handoff-continuity 1,339 B 896 B -443 B
operations-on-branch 1,913 B 1,425 B -488 B
operations-on-issue-format 1,461 B 926 B -535 B
operations-on-pr-review 3,154 B 2,710 B -444 B
operations-on-release 4,184 B 3,718 B -466 B
operations-on-sub-issue 2,133 B 1,737 B -396 B

9 段萜すべおを個別にカヌブアりト確認した。他所に無い論蚌は 1 件も無く、9 件ずも萜ずした。

  • operations-foreground-webhook-intake の 2 段萜起祚時にコヌディネヌタが「萜ずせる候補」ず留保しおいた「なぜファむルを削陀しないか」を含むは、## The bar and its pair 末尟の byte-frozen アダプタ literal の段萜Li+update.md が legacy trailer をそこから導出するくだりを含むず literal で同旚だった。起祚時コメントで確認枈み。
  • operations-handoff-continuity / operations-on-branch / operations-on-issue-format / operations-on-sub-issue の各1段萜は、いずれも Parent retains の圓おはめ盎し。main-agent-procedures.md 偎の察応する節は #1800 で既に同型の文を萜ずしおおり、skill 偎だけがその論蚌の写しを残しおいた。
  • operations-on-pr-review の1段萜は ## The bar and its pair の「One shape resolves the other way」がすでに skills/task-subagent-prompt/SKILL.md Resume-phase authority boundary を䟋瀺ずしお名指しおおり、二重だった。ポむンタが持っおいた「正本が䜕を保持するか」の列挙self-review mandate / review basis / self-review procedure / mode-specific human gate / follow-throughは文ずしお残した。
  • operations-on-release の2段萜のうち、Human Confirmation Required 偎は末尟の䞀文「確認はこの手続きに先行する」ずいう実行順序の事実だけを残し、導出郚分のみ萜ずした。Release Completion Report Discipline 偎は導出のみで残す実行順序情報が無く、段萜ごず萜ずした。

芋出し・意味タグは倉曎しおいないgit diff -U0 -- skills/ | grep -E '^[+-](#|<[a-z])' は空。description frontmatter は察象倖倉曎しおいない。

tests/test_skill_reference_resolution.py = 2 passed / 158 subtests passed。ロヌカル党件 python -m pytest tests/ = 237 passed / 776 subtests passed。

刀定基準ず維持ルヌルを垞駐面から倖した#2117

rules/operations/main-agent-procedures.md は垞時ロヌドされる面で、#2117 の時点で 33,592 B あった。節ごずに文を読み、識別線rules/model/liplus-coding-rule.md の Body States Behaviorその文を読む者の行いが倉わるかを圓おた。メむンが運甚の堎面で䜕をするかを決めおいない文は 3 か所だった。

  • ## The bar and its pair の刀定基準ず維持ルヌル3,525 B → 864 B。「実行䞻䜓がメむンになりうる」の 2 条件、「移蚭は半分にすぎない」の埌半description の絞り蟌み、リダむレクトスタブ、誀った修埩 2 ぀、怜出サむン、運び手にはポむンタを残す分岐、線集できないアダプタリテラル。読むのは operations-* skill に新しい芁求を曞き加えるずき、぀たり Li+ の source を線集する゚ヌゞェントだけで、メむンの運甚堎面issue、PR、マヌゞ、webhook 取蟌などでは䞀床も䜿われない。実行に䜿う手順なので、それを䜿う堎面で読たれる面である skills/operations-on-actor-placement/SKILL.mddescription が䞊の堎面を名指すぞ、文面のたた移した。垞駐面には、犁止ず察の文察は「メむンの読める面に正本がある間だけ犁止が成立する」、メむンの読める面の定矩、凍結ブロックから正本ぞ向かう案内、skill ぞの 1 行のポむンタだけを残した。rules/operations/operations.md の Operations Rules 末尟の 1 文は、同じ skill を盎接名指すようにした。
  • ## Position256 B。Layer = ず Load timing = は frontmatterlayer: L4-operations、alwaysApply: trueず同じ内容で、「実行䞻䜓がメむンになりうる手続きを垞駐面に眮く」は The bar and its pair の察が述べおいる。読み手の行いを倉えず、他に残る所圚があるため、節ごず倖した。
  • ## Foreground webhook notification intake の Preconditions:197 B。github-webhook-mcp >= v0.11.3 ず MCP サヌバヌの登録堎所は、webhook 取蟌の堎面でメむンが䜕をするかを決めず、配信を蚭定する偎の前提である。adapter/claude/hooks-settings.md の mcp_tool entry behavior ず docs/B.-Configuration.md の LI_PLUS_WEBHOOK_DELIVERY の節が同じ内容を持぀ので、それらに残した。Codex 偎の凍結ブロックは芁件の所圚ずしお adapter/codex/hooks-config.md を名指すため、同ファむルの mcp_tool webhook entry 節に芁件の 1 段萜を远蚘した#2117 第3ラりンド。not connected が毎タヌン出るずきの扱い実害のないノむズは、読み手の行いを決めるので垞駐面に残した。

倖しおいないもの。Canonical. ず、ポむンタ先の skill が䜕を保持しおいるかの行は、#1800 が適甚の瞬間に䜿われる情報ずしお残すず刀断した行であり、その刀断を芆す枬定が無いので觊っおいない。Actor = 行、所有刀定 step 2 の残存制限ず「step 2 を䜜成に狭め戻さない」犁止読みでは捕たらない型の欠萜を実枬が差し戻した文。measurement-caught-what-read-based-removal-test-missedも残した。

参照は、skills/operations-foreground-webhook-intake/SKILL.md の非削陀の根拠の指し先skills/operations-on-actor-placement/SKILL.md の Maintenance rule ぞず、tests/test_skill_reference_resolution.py の docstring が指す維持ルヌルの所圚を陀いお倉えおいない。The bar and its pair の節名は残るので、skills/task-pr-review-judgment/SKILL.md / skills/task-subagent-prompt/SKILL.md / skills/operations-foreground-webhook-intake/SKILL.md / tests/test_skill_reference_resolution.py の参照はそのたた解決する。

main-agent-procedures.md = 33,592 B → 30,476 B-3,116 B。新しい skill の description358 Bが skill 䞀芧に垞駐で加わるので、垞駐面の正味は玄 -2,750 B。刀定の理由は Decision Structure の main-agent-procedures-carry-behavior-only が持぀。

堎面に限られる手順を skill ぞ移した#2138

#2117 が理由だけの文を倖したのに続く二段目。垞時ロヌドの rules/operations/main-agent-procedures.md から、特定の堎面でしか䜿わない手順を、その堎面で読たれるメむンの読める skill ぞ移した。移すかどうかは、移したあずもその堎面で手順が確実に読たれるかで決めた。確実に読たれる条件は、堎面ごずに垞時ロヌド面の名指しが skill の節を指しおいるこずで、skill の自動起動の想起には頌らないli-plus-always-on-footprint-load-bearing の华䞋理由に圓たらない圢。

  • ## Sub-issue rules の手順本䜓 → 新蚭の skills/task-sub-issue/SKILL.mdL3。芪子 issue 構造は rules/task/task.md が L3 の前景に眮く語圙。移したのは、䜜業単䜍の定矩ず sub-issue / sibling の分類リトマス、sub-issue の API、䞊行競合分析、scope-exceed confirm の閟倀・同期集合の carve-out・confirm の圢・literal に圓たらない発火の犁止・PR レビュヌ時の発火の华䞋、per-sub-issue PR の事埌埩旧。垞駐面には、同時タスクの芪子構造耇数タスクの堎面そのものが発火条件で、名指す面が他に無いず、scope-exceed confirm の発火条件サブ゚ヌゞェントが自分の commit 前に怜出する。skill の起動に頌るず怜出が萜ちるを文面のたた残し、各堎面で skill を開くこずを 1 文で名指した。
  • ## Review approval check → 既存の skills/task-pr-review-judgment/SKILL.md の ## Review approval check。堎面はセルフレビュヌ pass 埌に人間ゲヌトが立぀ずきsemi_auto の minor / major、trigger の党 PRだけで、垞駐の ## PR review がその 2 か所で skill の節を名指す。セルフレビュヌ自䜓がこの skill を開いおおり、確認手順が読むレビュヌ決定を刀断するのも同じ skill である。## Merge Execution の Post-merge moment の蚀及も skill を指すようにした。

残した候補:

  • ## Human confirmation required。停止語、force push、branch 削陀はどの瞬間にも来る。リリヌス郚分は 1 行で、䞍可逆な操䜜の確認点そのものなので、明瀺の冗長性の偎に眮くli-plus-always-on-footprint-load-bearing 华䞋理由 3(b)。
  • ## Release completion report discipline。人間向けの完了報告で go-sign の催促に流れる既定の傟きに逆らう芏埋で、怜出サむンが瀺すずおり、曞いおいる最䞭に自分では気づかない型の逞脱を止める。手順を探しに行く堎面ではなく、曞きながら効いおいる必芁があるので、skill に移すず想起に䟝存する。加えお、メむンが読める L4 の skill の眮き堎が無いoperations-* はメむンが読めない。
  • ## Notifications API。盎接呌ぶ堎面を名指す垞時ロヌドの文が無く、移すず届く経路が description の想起だけになる。450 B 皋床で、新しい skill の description が削枛分の倧半を食う。
  • ## Discussions intake。倖郚由来の issue を読む堎面は issue に着手するたびに来るその堎面での挙動は ## Branch and label flow の担圓者確認が持぀。玄 360 B で、移す利埗が description の費甚を䞋回る。
  • ## Foreground webhook notification intake。毎タヌンの冒頭に䜿う。

main-agent-procedures.md = 30,446 B → 27,054 B-3,392 B。新蚭 skill の description317 Bが skill 䞀芧に垞駐で加わり、task-pr-review-judgment の description が 109 B 䌞びたので、垞駐面の正味は玄 -2,966 B。docs/L.-Hop-Count-Instrument.md では S4 の confirm 詳现たでの経路がツヌル跳躍 1 ぀増える理由は同ファむル S4 の远蚘。ほかのシナリオは倉わらない。刀定の理由は Decision Structure の main-agent-procedures-moment-scoped-procedures-move-to-skills が持぀。


自走 (autonomous run) の停止条件

(→ rules/operations/operations.md の ## Autonomous Run Stop Condition)

静的怜蚌TS check、unit test、CIは runtime の正しさを立蚌しない。subrequest 䞊限、IPC、rate limit、schema migration の副䜜甚などの runtime 経路は静的怜蚌ずは別軞に存圚し、緑のチェックが報せるのは静的軞を通ったこずだけで、runtime 軞に぀いおは䜕も報せない。これは CI ず実機の察が存圚する限り成り立ち、誰が舵を握っおいるか、実行モヌドが䜕か、その走行が production に到達するかどうかには䟝存しない。runtime 軞を閉じるのは走っおいる系の芳枬だけである。

節名になっおいる停止条件は、この䞀般則の適甚䟋の䞀぀であっお射皋ではない。AI が人間の介圚なしに走る堎合倜間、semi_auto / auto モヌドで deploy たで到達するケヌス、「deploy 成功」は停止条件にならない。

production に到達する自走では、以䞋を最終ステップずしお必ず実行する

  • deploy 完了埌、production log を最䜎 5 分芳枬する
  • cron 駆動のワヌクでは、「deploy 完了」ずは「deploy コマンドが exit 0 で終わった時点」ではなく「deploy 埌の最初の cron 呚回が log で芳枬できた時点」を指す
  • ホストの logs surfaceブラりザの dashboard、wrangler tail、同等の CLIを䜿う。事前付䞎枈みのブラりザ暩限は、人間監芖䞋のセッションのために留保するのではなく、自走䞭に積極的に掻甚する

アンチパタヌン「human が朝に確認するから、自走の post-deploy 芳枬は䞍芁」。怜出タむミングの利埗倜間怜出 vs 朝怜出こそ自走が提䟛すべき䟡倀であり、芳枬を省略するずその䟡倀を攟棄するこずになる。

停止条件が誀適甚されおいる兆候

  • deploy 成功の瞬間に走完サマリを曞き始めおいる
  • 自走自身が verify する前に「人間が芋おくれる」を理由にしおいる
  • dashboard / log アクセス暩限が事前付䞎されおいるのに自走䞭に未䜿甚
  • 走完報告が cron interval 1 呚分より短い時間で提出されおいる

L1 マヌゞ埌のランタむム芳枬

(→ 察象ず呌び出しアンカヌは rules/operations/operations.md の ## Post-L1-Merge Runtime Observation、起点・芳枬セット・繰り越しは skills/evolution-observation-entry/SKILL.md の # Post-L1-Merge Runtime Observation#2141 で移した)

L1 基局の倉曎layer: L1-model frontmatter を持぀ファむル。通垞は rules/model/*には、倉曎された芏則が実行時文脈に茉った時点で短窓の芳枬を行う。䞊の自走停止条件ず察をなす芳枬であり、こちらの芳枬察象は芏則適甚の瞬間における AI の内郚刀断挙動である䞊の post-deploy 芳枬が远うのは倖郚プロセスの出力。芳枬軞は別だが、名目䞊の予算は同じ 5 分。

呌び出しアンカヌは rules/operations/main-agent-procedures.md の ## Merge Execution がマヌゞの瞬間に名指す。その瞬間が各モヌドで䜕であるかは同節の Post-merge moment が定める本曞「マヌゞ」の「マヌゞ埌の瞬間」。この手続きの実行䞻䜓はどのモヌドでもメむン゚ヌゞェントであり、operations ç³» skill はメむンには発火しないので、アンカヌをそこに眮くず読み手を玠通りする。

起点 = 倉曎された芏則を実行時文脈に茉せた最初のセッションであり、~5 分の予算はそのセッションの内偎で䜿う。マヌゞ埌の瞬間䞊蚘 Post-merge momentを持぀セッションがそれを茉せおいる堎合Li+ ゜ヌスを main で走らせおいる workspaceは、その瞬間に䞋の芳枬セットをそのたた走らせる。茉せおいない堎合タグに同期した workspaceは、そのセッションは芳枬せず繰り越す —— その PR の memory/self-evolution-observation.md ゚ントリの notes に繰り越しを蚘録し゚ントリが無い PR ではマヌゞ枈み PR ぞのコメントずしお蚘録する。skills/evolution-observation-entry/SKILL.md、芏則を茉せた最初のセッションで芳枬を取っお、繰り越しを蚘録した堎所に結果を远蚘する。

そのセッションの内偎で ~5 分以内に実斜する芳枬セット

  1. トリガヌサンプル倉曎された芏則を読み、その芏則が適甚の瞬間に発火すべき代衚的プロンプトを 1 ぀䞎える。発火を確認する。実行時文脈に芏則が茉っおいなければここで止たり、䞊の起点に埓っお繰り越す。
  2. self-eval ゚ントリ3-5 行の刀定fire / partial / missを memory/self-evaluation_log.md に曞く。miss 刀定は skills/evolution-observation-entry/SKILL.md の 2 週間サむクルぞ即座に゚スカレヌトする。

繰り越したセッションは刀定を曞かない。

任意best-effort

  • 5 軞ゲヌトのスポットチェック倉曎が觊れたゲヌト軞で刀断圢成を 1-2 件通す。特定の軞に觊れない倉曎ではスキップする。

既存の芳枬軞ずの分離

  • skills/evolution-l1-update-gating/SKILL.md の長期芳枬 = マヌゞ前の閟倀ゲヌト。起祚時点で適甚する
  • memory/self-evolution-observation.md の 2 週間サむクル = マヌゞ埌の長窓。持続的な regression の怜出に甚いる。䞊の繰り越し notes はこの゚ントリに盞乗りするだけで、expires / verdict lifecycle は動かさない
  • brake 1skills/evolution-parallel-agent-eval= マヌゞ前ゲヌト。本芳枬はマヌゞ埌であり、別軞

責務

条件→行動。省略䞍可。AI が条件を刀断し、条件に合臎したら必ず実行する。

ブランチずラベルフロヌ

(→ 正本は rules/operations/main-agent-procedures.md の ## Branch and label flow。着手意思は察話の空気から読むもので、サブ゚ヌゞェントは察話面を持たない。backlog / deferred は non-state lifecycle label = Parent retains。ブランチ䜜成自䜓も worktree 利甚の有無で実行䞻䜓が倉わる。skills/operations-on-branch/SKILL.md はポむンタを持぀)

着手意思は察話の空気から刀断する。チェックリストで確認しない。䞍明瞭な堎合は機械的にではなく、感じをもっお聞く。

タむミング ラベル ブランチ
NOW今やる in-progress 䜜成する
SOON近いうち backlog 䜜成しない
SOMEDAYい぀か deferred 䜜成しない

䞊衚が決めるのはどの tier に圓たるかであり、in-progress 遷移が䜕で構成されるかではない。その遷移はラベル単䜓であり、skills/task-subagent-state-labels/SKILL.md Work start が正本であるタスクレむダヌ仕様曞「actor 軞issue assignee」。

ラむフサむクルラベルは「い぀着手するか」、成熟床ラベルは「どこたで収束したか」。ラむフサむクルラベルを成熟床の代甚にしない。

空気読みは timing tier 刀定NOW / SOON / SOMEDAYにのみ適甚する。label 付䞎は tier 結果からの決定的な写像であり、空気読みの二床目を䌎わない。tier が決たればラベルは䞊衚に埓っお機械的に付䞎する。

trigger mode でも issue の䜜成・本文曎新ずブランチ準備は埅たない。人間トリガヌの察象は実装開始ず PR レビュヌである。

ブランチ䜜成

(→ 正本は rules/operations/main-agent-procedures.md の ## Branch and label flow。skills/operations-on-branch/SKILL.md はポむンタを持぀)

gh issue develop は芪 issue のみに察しお実行する。sub-issue子・孫・ は芪ブランチ䞊でコミットする。芪ブランチは gh issue develop で芪 issue にリンクされるため、そのブランチからの PR マヌゞは芪を自動クロヌズする。これは single parent PR flow埌述「sub-issue ルヌル」参照の䞋では意図通りの挙動である。芪 PR 1本のマヌゞは党 sub-issue 完了埌に行われるため、芪の自動クロヌズもそのタむミングで正しく発火する。

sub-issue ごずに芪ブランチ䞊で個別 PR を䜜る運甚は犁止する。最初の PR が merge された時点で、残りの sub-issue が未完了のたた芪が自動クロヌズされるためである。独立ブランチ・独立 PR が必芁な単䜍は sub-issue ではなく sibling issue ずしお切る。

issue に着手する前ブランチ䜜成ず委譲の前に author ず Assignees 欄を読むgh issue view {issue_number} -R {owner}/{repo} --json author,assignees,body,comments。author の login が github-actions[bot] たたは app/github-actionsDiscussions の botの issue は、人間の明瀺的な go が出るたで着手しない。認蚌䞭の gh actor 以倖のアカりントが入っおいお、そのアカりントから issue を匕き継いだこずを瀺す handoff record珟担圓を蚘した本文亀代コメントが無ければ、その issue は「取られおいる」ず読み、着手しない。進めたいずきは先にその盞手か人間に確認する。in-progress が付いおいなくおも同じで、「assigned だが in-progress 無し」も取られおいる扱いずする。自分のアカりントが入っおいるこずは、自分が珟担圓である根拠にならない——1぀のアカりントを耇数のセッションが䜿いうる。その堎合は handoff record ずセッション間の調敎面で珟担圓を確かめおから刀断する。

ブランチ䜜成前にロヌカルずリモヌトの存圚確認を行う。リモヌトに既存ブランチがある堎合、埌からリンクは匵れない。

# 存圚確認
local:  git branch --list {branch-name}
remote: gh api repos/{owner}/{repo}/branches/{branch-name}  # 404 = not exists

# ブランチ䜜成 + issue リンク
gh issue develop {issue_number} -R {owner}/{repo} --name {session-branch} --base main

ブランチ䜜成は assignee 手順を持たない。actor 軞が発火するのは芪の委譲の瞬間であり、ブランチ䜜成の時点でも in-progress 遷移の時点でもないタスクレむダヌ仕様曞「actor 軞issue assignee」 skills/task-subagent-delegation/SKILL.md ルヌル、フィヌルドの読み方は skills/task-subagent-state-labels/SKILL.md Actor axis。

ロヌカル゚ラヌ時の察凊gh issue develop がロヌカルで倱敗しおもGitHub 偎では成功する堎合がある。リンク枈みブランチを確認しおから刀断する。

gh api graphql -f query='{ repository(owner:"{owner}",name:"{repo}") { issue(number:{number}) { linkedBranches { nodes { ref { name } } } } } }'

リンク枈みならそのブランチを䜿甚する。リンクなしならリトラむたたは人間に゚スカレヌションする。

sub-issue ルヌル

(→ 発火条件同時タスクの芪子構造、scope-exceed confirm の発火は rules/operations/main-agent-procedures.md の ## Sub-issue rules、手順本䜓は skills/task-sub-issue/SKILL.md。skills/operations-on-sub-issue/SKILL.md はポむンタを持぀。芪子 PR 制玄は rules/operations/operations.md)

sub-issue は AI が远跡する䜜業単䜍。粒床ではなく責務で分ける。

sub-issue か sibling issue かの分類リトマス

問い「この単䜍は芪の atomic deliverable を壊さず独立に ship できるか」

答え 分類 運甹
Yes独立 ship 可 sibling issue 芪子ではなく独立 issue ずしお立おる。各 issue が自前のブランチず PR を持぀
No芪ず䞀䜓で初めお意味を持぀ 正圓な sub-issue 芪ブランチ䞊でコミットし、芪 PR 1本に合流させる

独立に ship できるなら sub-issue にする意味がない。「sub-issue ごずに別 PR で独立に出したい」ず感じた時点で、それは元々 sibling issue にすべき単䜍だったずいうシグナルである。PR を分割するのではなく、分類を芋盎す。

single parent PR フロヌ本筋、#919 原蚭蚈

sub-issue を持぀芪 issue は、以䞋の構造で運甚する

  • å…š sub-issue のコミットを1本の芪ブランチに蓄積する
  • 芪ブランチに察する PR は芪 issue あたり1本だけ、main ぞ向けお䜜成する
  • sub-issue はその1本の PR の䞭で凊理される
  • コミット単䜍の CI を芋たい堎合は、最初のコミット push 盎埌に芪 PR を draft で open する。pull_request.synchronize によっお以降の push ごずに CI が走り、PR を分割せずに per-commit CI が埗られる
  • 芪 PR の ready for reviewgh pr ready {pr}は党 sub-issue 完了ず PR 本文の確定埌に行う
  • merge は党 sub-issue 完了埌に1回だけ行う
  • parent auto-close はこの構造䞋では正しく働く芪 PR の merge は最埌のむベントであり、その時点で党 sub-issue は既に closed になっおいる

sub-issue ごずに個別 PR を䜜る運甚は犁止する。芪ブランチ䞊で耇数 PR を連続 merge するず、最初の merge で芪が自動クロヌズされ、残りの sub-issue が未完のたた芪が閉じる事故が発生する芳枬: github-webhook-mcp#198 / PR #203。

䞊列性ず分類

同䞀セッション内で耇数のタスクを䞊行で扱う堎合は、独立 issue の䞊列䜜成ではなく芪子構造芪 issue + sub-issueにする。耇数 ready issue のファむル重耇分析は target files で刀定する。

重耇 刀断
なし 䞊列安党。䞊列 sub-issue 構造を人間に提案
郚分重耇 共有ファむルぞの倉曎を統合 sub-issue に分離しお提案
統合 sub-issue 䞊列 sub-issue 完了埌に盎列実行䟝存順序あり

target files が issue body に無い堎合は、purpose ず premise から掚定する。

ドキュメント同期ず芁求仕様の責務

(→ skills/operations-on-docs-ownership/SKILL.md)

配垃向けプロゞェクトでは、最䜎限の docs/ ずしお芁求仕様曞を持぀。新芏・小芏暡プロゞェクトではたず1ファむルの芁求仕様曞を䜜ればよい。芏暡が倧きい堎合は分割しおよい。

実装を始める前に、察応する芁求仕様曞を先に䜜成たたは曎新する。挙動倉曎・バグ修正・仕様倉曎では、たず芁求仕様曞の該圓箇所を倉曎し、コヌドずテストはその仕様差分を実装・怜蚌するために曎新する。

Li+ の挙動や運甚ルヌルに効く刀断は、番号付き芁求仕様曞1–9ず察応するプログラムファむルぞ固定する。補助メモや実隓ログを残しおもよいが、それを正本にしない。芁求仕様曞は可読性が向䞊する堎合に分割しおよい。

specLi+*.mdたたは動䜜コヌドを倉曎するコミットでは、docs/ に察応する曎新があるか確認する。未曎新であれば push 前に远加する。別 PR ぞの分離は犁止。

Li+ リポゞトリの tests/** に曞く散文docstring / コメントが述べおよいのは、その test が芳枬したこずず、詊隓しおいる䞻匵の正本の圚り凊たでである。芏範はそこで述べず、必芁なら正本rules/** / skills/**を指す。振る舞いに぀いおの蚘述は芳枬条件を䌎い、条件を越えお読める語permanently / always / never / anyは萜ずすか条件を䜵蚘する。test の意図説明・再珟手順・先䟋参照は察象倖。背景ず経緯は進化レむダヌ仕様曞の Evolution Loop 節にある。

同期が必芁な集合のメンバヌを 1 ぀線集するずきは、線集の前埌で grep-sweep を pair で実行する。線集前に所属する集合党䜓を grep しお党メンバヌを列挙し蚘憶ではなく列挙から線集察象を確定、線集埌に同集合を再 grep しお旧圢のメンバヌが残っおいないこずを確認する。兞型的な集合 = docs mirror 同期察象docs/ ずその wiki mirror/ parity å…š blockclaude CLAUDE.md ⇔ codex AGENTS.md 等/ 同䞀芏範文の党出珟箇所。

PR タむトルの良い䟋・悪い䟋

# bad:  fix(config): negative duration handling
# good: fix(config): treat negative durations as below-minimum rather than error

コミットずプッシュ

(→ skills/operations-on-commit/SKILL.md)

プラむマリは git push。git が䜿えない環境では GitHub API フォヌルバックblob/tree/commit/ref 䜜成を䜿う。耇数ファむル時は tree 䜜成埌にファむル数を怜蚌し、枛少しおいた堎合はコミット䞭止する。

# プラむマリ
git push origin {session-branch}:{target-branch}

# フォヌルバック単䞀ファむル
gh api repos/{owner}/{repo}/contents/{path}  # PUT base64 sha

# フォヌルバック耇数ファむル
1. create blobs: gh api .../git/blobs  # per file
2. create tree:  gh api .../git/trees  # verify count after
3. create commit: gh api .../git/commits
4. update ref:   gh api .../git/refs/heads/{branch}

PR 䜜成

(→ skills/operations-on-pr-creation/SKILL.md)

芪 issue あたり PR は1本䞊の「single parent PR フロヌ」参照。sub-issue を持぀芪 issue では、すべおの sub-issue ず芪自身を1぀の PR の merge で閉じる。sub-issue ごずの個別 PR は犁止する。

draft PR の早期 openオプション、per-commit CI 甚

sub-issue を持぀芪 issue では、最初のコミットを push した盎埌に芪 PR を draft で open しおよい。

gh pr create --draft -R {owner}/{repo} --base main --head {session-branch} ...

以降の push ごずに pull_request.synchronize で CI が走り、PR を分割せずコミット単䜍の CI 可芖化が埗られる。党 sub-issue 完了ず PR body 確定埌に gh pr ready {pr} で ready for review に切り替える。draft PR の早期 open は必須ではなく、長期化する芪䜜業のための利䟿機胜である。

PR body 圢匏

issue ごずのブロック圢匏で蚘述する。クロヌズさせる issuesub-issue ず芪 issue の䞡方は Closes #xxx で参照する。各ブロックに2〜3行の芁玄を曞く。詳现は issue を参照。deferred・open のたた残す子 issue は含めない。

single parent PR flow 䞋では、芪 issue も sub-issue ず同じく Closes #xxx で参照する。芪 PR は最終 merge 1回で芪ず党 sub-issue を同時に閉じるため、芪をクロヌズしない理由がない。

Part of #xxx は、珟圚の PR が最終芪 PR ではない堎合にのみ䜿う䟋別の芪 issue に察しお明瀺的に deferred な残郚を先行 merge するケヌス。canonical な single parent PR flow では Part of は登堎しない。

GitHub の自動クロヌズキヌワヌド公匏リストclose / closes / closed / fix / fixes / fixed / resolve / resolves / resolved。Refs はクロヌズキヌワヌドではなく自動クロヌズしない。マヌゞ時にクロヌズさせたい issue には Refs を䜿わない。

PR 䜜成埌

  1. 実行䞭の GitHub CLI 認蚌 actor を PR の assignee に self-assign する

    gh pr edit {pr} -R {owner}/{repo} --add-assignee "@me"
    

    目的issue 偎の assignee は PR ゚ンティティに自動継承されないため、PR の Assignees フィヌルドに実行䞭の認蚌 actor を明瀺し「この PR は AI が owner」ずいう UI 䞊の trail を残す。 メカニズム泚蚘GitHub は --add-reviewer の自己指定を silent に拒吊するが、--add-assignee による PR author 自身の assignee 远加は蚱可される2026-04-20 に PR #1099 で empirical 怜蚌枈。 スコヌプassignee self-assign は UI trail のためであり、正匏な self-review 蚘録rules/operations/main-agent-procedures.md の ## Self-review formal record、「PR レビュヌ」節にも日本語での蚘述があるを眮き換えるものではない。

  2. CI ルヌプぞ即座に移行する。人間の指瀺は䞍芁。

  3. マヌゞの実行者は党モヌドで AI に統䞀されおいる「マヌゞ」節参照。GitHub の auto-merge 機胜ぞの䞀般的な委譲は廃止されおいるが、trigger モヌドでは䟋倖ずしお PR 䜜成時点で --auto --squash を有効化する䞋蚘「モヌド別の PR auto-merge ポリシヌ」参照。

モヌド別の PR auto-merge ポリシヌ

(→ rules/operations/operations.md の PR auto-merge policy is mode-specific)

PR 䜜成時の gh pr merge --auto --squash 付䞎は実行モヌドで振る舞いが異なる。䞀埋ではない。

モヌド auto-merge 付䞎 根拠
trigger PR 䜜成時点で gh pr merge {pr} --auto --squash を必須で有効化する 承認 gate は人間レビュヌが担う。auto-merge は承認が入った瞬間に自動でマヌゞするだけで、毎回「merge strategy どれ」ず確認する埀埩を省く
semi_auto minor / major PR には --auto を付けない人間レビュヌが gate。patch PR はセルフレビュヌ pass → AI が盎接 mergeauto-merge 䞍芁 minor / major は人間レビュヌ必須のため、auto-merge で承認即マヌゞしおも意味がない。patch は即マヌゞで十分
auto repo 蚭定の "Allow auto-merge" を意図的に無効化する。gh pr merge --auto が enablePullRequestAutoMerge 暩限䞍足で蹎られるのは蚭蚈通り repo-level auto-merge が有効だず CI pass 時点で GitHub が自動マヌゞし、parent AI のセルフレビュヌを飛ばす抜け道になる。Parent AI がセルフレビュヌ埌に手動 gh pr merge {pr} --squash を実行する

auto モヌドで --auto --squash が拒吊された堎合、それは蚭定挏れではなく意図された状態である。「auto-merge を有効化するこずを提案」しおはならない。Li+config.md の察象リポゞトリの _EXE_MODE䟋: USER_REPO1_EXE_MODE / LI_PLUS_REPO_EXE_MODEを確認しおからモヌド分岐する。

subagent に PR 䜜成を delegate する堎合、parent は delegation prompt 内に mode 刀定結果ず auto-merge 指瀺を literal で泚入するsubagent は parent の memory を読たない。

CI ルヌプ

(→ skills/operations-on-ci/SKILL.md)

CI ルヌプは PR 䜜成ずは独立したタスクである。PR 䜜成埌たたは修正リコミット埌に開始する。

step 1: 最新コミット SHA 取埗

gh pr view {pr} -R {owner}/{repo} --json headRefOid --jq '.headRefOid'

step 2: 党チェックランの完了を埅機

webhook 経由を優先する。

mcp__github-webhook-mcp が利甚可胜な堎合

  • get_pending_status を60秒間隔でポヌリング
  • check_run たたは workflow_run の pending があれば list_pending_events → get_event で SHA 䞀臎を確認workflow_run は head_sha で照合→ mark_processed
  • 党チェックランず workflow run が完了するたで収集

利甚䞍可の堎合

gh api repos/{owner}/{repo}/commits/{sha}/check-runs --jq '.check_runs[] | {name,status,conclusion}'

党おの status=="completed" になるたで sleep で繰り返す。

step 3: 結論刀定

  • CI FAIL = いずれかの conclusion=="failure"
  • CI PASS = 党お conclusion が success / skipped / neutral

CI PASS → PR レビュヌぞ移行。 CI FAIL → 修正しおリコミットCI ルヌプを step 1 から再開。ルヌプ安党閟倀3回を超えた堎合は issue コメントに倖郚化し、人間に委ねる。

PR レビュヌ

(→ 正本は rules/operations/main-agent-procedures.md の ## PR review。実行䞻䜓が auto / semi_auto では芪、trigger ではサブ゚ヌゞェントずいうモヌド䟝存であり、skills/operations-on-actor-placement/SKILL.md の Maintenance rule が名指す怜出サむンそのものにあたる。刀断基準は skills/task-pr-review-judgment/SKILL.mdL3、停止条件は skills/operations-on-pr-review/SKILL.md

AI セルフレビュヌは党モヌドtrigger / semi_auto / autoで必ず実行する。 マヌゞ前のセルフレビュヌ省略は仕様違反である。セルフレビュヌが先に走り、必芁に応じお人間レビュヌがその䞊に重ねられる眮き換えではない。

レビュヌの基準は repository state first である。issue 本文、リンク枈みブランチの差分、PR 本文、CI 結果を読む。ロヌカルで動いたこずだけではレビュヌ完了にしない。

セルフレビュヌ手順党モヌド共通

実行䞻䜓は auto / semi_auto では芪、trigger ではサブ゚ヌゞェントskills/task-subagent-delegation/SKILL.md のルヌル。前二者ではそれはマヌゞする゚ヌゞェント自身である。trigger ではマヌゞする゚ヌゞェントが居ない「マヌゞ」節参照ため、実行䞻䜓は反察偎から固定される——サブ゚ヌゞェントのセルフレビュヌは自身の停止点より手前に入り、その埌に PR 䞊に立぀ものは無い。

その䞻䜓が PR diff を issue 芁件ず照合しおレビュヌする刀断基準は L3 の skills/task-pr-review-judgment/SKILL.md。

  • セルフレビュヌ pass → formal review record 投皿䞋蚘→ モヌド別の人間ゲヌトぞ。
  • セルフレビュヌ fail → 修正しおリコミットCI ルヌプ再開。

委譲されたサブ゚ヌゞェントの停止条件モヌドで割る

→ skills/operations-on-pr-review/SKILL.md の Delegated-subagent stop condition。この literal の実行䞻䜓はサブ゚ヌゞェントであり、芪は委任時の運搬圹にすぎないため、正本は skill 偎に残る

auto / semi_autoPR open + CI green で停止する。サブ゚ヌゞェントはセルフレビュヌを実行も投皿もせず、そこで報告しお終える。

この停止点には2回以䞊到達し、䞊の文蚀がそのすべおの停止条件である。

  • 1回目 = issue の倉曎を実装し終えた時点。以降、芪は rules/evolution/initiator-autonomy.md Merge brake の定める䜍眮で brake 1 を走らせるPR が L1 Model Layer ゜ヌスに觊れる堎合も同じ 1 本。
  • 2回目 = brake のあるラりンドの評䟡者コメントが PR に茉った状態でこのサブ゚ヌゞェントを再開し、それが指摘を裁き、受入 / 华䞋ずその理由を同じスレッドぞのコメントずしお投皿し、受け入れた分をプッシュした時点。再び CI green に到達したずころでこのパスが終わる。䜕も受け入れなかった堎合は新しいコミットなしで同じ点に到達するが、裁定コメントは同じく投皿される。
  • 3回目以降 = 芪が次のラりンドを開いた各ラりンドの末尟。埀埩に䞊限は無く、ラりンドをどこで終えるかは skills/evolution-parallel-agent-eval/SKILL.md Procedure の step 8Round boundaryが持぀。芪は内容を監督せず、ラりンドの開閉ず、同じ指摘の再発を人間ぞ䞊げるこずだけを行う。

指摘の裁定は停止ず停止のあいだで起き、再開したサブ゚ヌゞェントのものであっお芪のものではないrules/evolution/initiator-autonomy.md Merge brake の Adjudication actor。芪は最埌の停止の埌にセルフレビュヌしおマヌゞする。brake の䜍眮そのものはここに再掲しない日本語偎の解説は進化レむダヌ仕様曞「実行モヌド」節にある。

triggerPR open + auto-merge enabled + CI green + self-review posted + awaiting human review で停止する。セルフレビュヌは党モヌドで人間ゲヌトに先行し、このモヌドではその実行䞻䜓がサブ゚ヌゞェント自身であるため、停止点より手前に入る。マヌゞは人間の承認埌に GitHub auto-merge が発火するので、サブ゚ヌゞェントのセッションはその前に終わる。

停止条件の正本は䞊蚘の skill 偎であり、他の面もそこを指しおいる。呚囲のフロヌセルフレビュヌ必須・レビュヌ基準・手順・モヌド別人間ゲヌト・持ち越し項目の follow-throughの正本は垞駐面にある。本節はその日本語での芁求蚘述であっお二぀目の正本ではない本曞冒頭のずおり、差異があれば英語の゜ヌス偎が正。

セルフレビュヌの formal record 投皿党モヌド、必須

→ 正本は rules/operations/main-agent-procedures.md の ## Self-review formal record。実行䞻䜓は auto / semi_auto では芪であり、芪は operations ç³» skill を読たないため、正本は垞駐面に眮かれおいる。#1764 で呚囲のセルフレビュヌフロヌ自䜓も同じ垞駐面ぞ移り、䞡者は隣接する

内郚のセルフレビュヌが pass した埌、AI は結果を GitHub 䞊の正匏な PR review ずしお必ず投皿する

gh pr review {pr} -R {owner}/{repo} --comment --body "<セルフレビュヌ結果の芁玄>"

目的は PR の Reviews タブに audit trail を残し、AI レビュヌ蚘録を PR 䜜者属性から分離するこず。 実装メカニズムの泚蚘GitHub は --add-reviewer による self-assignment を silent に拒吊する。PR author が自己レビュヌ蚘録を残す唯䞀の手段は gh pr review --comment2026-04-20 に PR #1095 で empirical 怜蚌枈。 body には以䞋を含める受け入れ条件の照合結果、scope deviationある堎合、workspace 偎の deferred 項目ある堎合。「マヌゞ」の Post-merge moment はここから読む、次ステップ想定䟋trigger / semi_auto の minor-major では「人間レビュヌ埅ち」。

モヌド別の人間ゲヌトセルフレビュヌ pass 埌

execution_mode == auto人間ゲヌトなし。セルフレビュヌ pass → マヌゞぞ移行。

execution_mode == semi_autoタむプ連動の人間ゲヌト。

  • patch → 人間ゲヌトなし。セルフレビュヌ pass → マヌゞぞ移行。
  • minor / major → セルフレビュヌ pass 埌に人間確認が必芁手順は䞋蚘「承認埅ちの確認手順」。

バヌゞョン皮別の刀断軞はリリヌス時ず同じ「バヌゞョン皮別」節参照。AI は PR 䜜成時点でタむプを提案し、刀断が曖昧な堎合は安党偎minorに寄せお人間に確認する。

Per-PR exceptioncontent-based axis は rules/operations/execution-mode.md の semi_auto mode: が正本である。人間ゲヌトを waive する前にそちらを読むこず。ここには再掲しない——過去に写しを眮いた結果、埌から正本にだけ入った修正が写しに届かず、waive の読みがマヌゞゲヌトの面で正本より広いたた残った。二぀目のコピヌが drift する。

execution_mode == trigger党 PR で人間確認が必芁。セルフレビュヌ pass 埌に䞋蚘「承認埅ちの確認手順」を実斜する。

承認埅ちの確認手順Review approval check

→ 正本は skills/task-pr-review-judgment/SKILL.md の ## Review approval check#2138 で垞駐面から移した。䞊蚘「メむン゚ヌゞェントの手続き」の #2138 の項。この埅ちに立぀実行䞻䜓は、ゲヌトを持぀どのモヌドでも芪である —— semi_auto ではゲヌトそのものが芪のものskills/task-subagent-delegation/SKILL.md Rules の Parent retains: ... review judgment、および「実行モヌド」の Mode matrix が人間チェックを minor / major に眮くであり、trigger では委譲サブ゚ヌゞェントが awaiting human review で既に停止しおいる#1715 で確定ため承認はそのセッションが終わった埌に来る。どのモヌドでもここにサブ゚ヌゞェントは立たないので、メむンの読める面に眮いた正本ひず぀で䞡方を賄える。芪は operations ç³» skill を読たないため、正本はメむンの読める面にある#1714 では垞駐面、#2138 以降は task-* skill。#1708 が名指しした3経路ず同䞀クラスの4件目であり、怜出サむンが先行ではなく自分で捕たえた最初の1件#1714

semi_auto の minor / major ず trigger の党 PR で、セルフレビュヌ pass の埌に走る。auto は人間ゲヌトを持たないためここには到達しない。

webhook 経由を優先する。

mcp__github-webhook-mcp が利甚可胜な堎合

  • get_pending_status を60秒間隔でポヌリング
  • pull_request_review の pending があれば list_pending_events → get_event で圓該 PR を確認 → mark_processed

利甚䞍可の堎合

  • 人間がレビュヌ完了を通知するたで埅機ポヌリングしない
  • 通知を受けたら確認
gh pr view {pr} -R {owner}/{repo} --json reviewDecision --jq '.reviewDecision'

ここで読むのはレビュヌ刀断の入力であっお刀断そのものではない。APPROVED ず CHANGES_REQUESTED が䜕を解攟するかは L3 の skills/task-pr-review-judgment/SKILL.md が正本であるタスクレむダヌ仕様曞「PR レビュヌ刀断」節。APPROVED の先のマヌゞ経路はモヌド別で「マヌゞ」節にある。

deferred 項目の follow-through

セルフレビュヌ蚘録は項目を「PR scope 倖」ずしお正圓に deferred 化するこずがある䟋workspace memory のクリヌンアップ、フォロヌアップ issue 起祚、docs-only フォロヌアップ。deferred は ignore ず同矩ではない

  • workspace 偎の deferralmemory 線集、ロヌカル蚭定倉曎は、どのモヌドでもメむン゚ヌゞェントが、マヌゞ埌の瞬間䞋蚘「マヌゞ」の Post-merge momentに実行する。その瞬間より埌ぞ先送りしない
  • repo 偎の deferralフォロヌアップ issue、関係ない掃陀の別 PRは merge 前に file しおおく。merge しおから埌远いで䜜るず流れる
  • 人間の APPROVED コメントに「〜したんだよね」「did you also do X?」のような確認文が埋め蟌たれおいる堎合、それは承認条件の䞀郚であり small talk ではない。远加 gate ずしお扱い、同䞀セッション内で応答する

merge は閉じ括匧ではない。deferred 項目の handoff たで完了しお初めお閉じる。

マヌゞ

(→ rules/operations/main-agent-procedures.md の ## Merge Execution。#1708 以前は skills/operations-on-merge/SKILL.md が正本だったが、その skill が発火すべき瞬間に、居合わせおいお か぀ 読むこずを蚱された読者が䞀人もいなかった。auto / semi_auto でそこに立぀のは芪であり、芪は operations ç³» skill を読たない。trigger ではゲヌトが開くのは委譲サブ゚ヌゞェントのセッションが終わった埌でありskills/operations-on-pr-review/SKILL.md Delegated-subagent stop condition、invoke する䞻䜓がそもそも居ない。ポむンタ化ではなく削陀しお垞駐面ぞ移した。trigger の merge 実行䞻䜓がどちらであるかを確定させる必芁はない——そこに立぀のがどの゚ヌゞェントであれ、rules/** は invoke を芁さずロヌドされるため、眮き換えた skill より到達性は高い。その埌 #1715 がこの問いを確定させた——マヌゞは GitHub ぞの handoff であり、そこに立぀゚ヌゞェントは居ない䞋蚘「マヌゞ」。削陀の根拠はそれに圱響されず、それが「確定に䟝存しない」ずいうこずである)

マヌゞの実行者は党モヌドtrigger / semi_auto / autoで AI に統䞀されおいる。 ただしこれは actor 軞の話であり、その「AI の行為」が䜕であるかはモヌドで異なる。行為を actor から読み取ったこずが #1715 たで続いた゜ヌスの割れであり、trigger で誰がマヌゞするかの読みで4面が2察2に割れおいた。

  • semi_auto / auto = 盎接マヌゞ。すべおの前提条件セルフレビュヌ、モヌド別の人間ゲヌト、䞋蚘のマヌゞ可胜状態チェックが揃った時点で、AI が gh pr merge--auto なしを実行する。
  • trigger = handoff。AI の行為は PR 䜜成時点で GitHub auto-mergegh pr merge --autoを有効化するこずであり、マヌゞ自䜓は人間の承認を受けお GitHub が発火させる。承認の瞬間にマヌゞコマンドを実行する䞻䜓は居ないし、そこに立っおいる䞻䜓もそもそも居ない「委譲されたサブ゚ヌゞェントの停止条件」節参照。

モヌド分岐の authoritative は operations.md PR auto-merge policy。

マヌゞ前のマヌゞ可胜状態確認盎接マヌゞ経路のみ

trigger では auto-merge を armed のたた GitHub がマヌゞ可胜になるのを埅぀状態で PR が眮かれ、確認に立぀䞻䜓が居ないため、この節は盎接マヌゞ経路の手続きである。

gh pr view {pr} -R {owner}/{repo} --json mergeStateStatus --jq '.mergeStateStatus'
  • CLEAN → そのたたマヌゞぞ進む。
  • BEHIND → gh pr update-branch {pr} -R {owner}/{repo} で解消し、CI ルヌプを step 1 から再開。
  • CONFLICTING → 非砎壊的な取り蟌み gh pr update-branch {pr} -R {owner}/{repo} を詊行。成功なら CI ルヌプを step 1 から再開。マヌゞ競合で倱敗した堎合は issue コメント → 人間に゚スカレヌション。rebase + force push にフォヌルバックしない。force push は無条件の human 刀断ゲヌト項目埌述の「人間確認が必芁な操䜜」であり、AI 偎で進められる経路が残らない。
  • BLOCKED / UNKNOWN → 埅機しお再確認GitHub が蚈算䞭の可胜性。

マヌゞ戊略党モヌド共通

既定のマヌゞ戊略は squashリポゞトリの慣䟋に埓う。盎接マヌゞ経路では AI が以䞋を実行する。

gh pr merge {pr} -R {owner}/{repo} --squash

trigger の handoff 経路では、同じ戊略が PR 䜜成時点の --auto --squash 有効化で固定される。

AI が squash 以倖を遞ぶ必芁があるず刀断した堎合のみ人間に確認するpause しお確認。

PR 本文に Closes #xxx が含たれおいるず、マヌゞ時にプラットフォヌムが issue を自動クロヌズするRefs はクロヌズキヌワヌドではないため自動クロヌズしない。

マヌゞ埌の瞬間Post-merge moment

マヌゞ盎埌に眮かれた矩務 —— 䞋蚘の issue reopen、L1 マヌゞ埌のランタむム芳枬、「PR レビュヌ」の deferred 項目の follow-through のうち workspace 偎の deferral、自己進化 PR の observation ゚ントリの自動蚘入skills/evolution-observation-entry/SKILL.md の Auto-entry trigger —— が発火する瞬間を、モヌドごずに1぀に定める。実行䞻䜓はどのモヌドでもメむン゚ヌゞェントである。

  • auto / semi_auto = 芪自身のマヌゞの盎埌、マヌゞしたセッションの䞭。
  • trigger = マヌゞの瞬間に立぀゚ヌゞェントが居ないため、メむン゚ヌゞェントがマヌゞを最初に芳枬したタヌンをその瞬間ずする。そのタヌンがどのセッションに来おもよい。芳枬の経路は、承認埅ちの確認手順、フォアグラりンド webhook 取蟌の項目、その他 PR がマヌゞ枈みであるこずを瀺す読み取りのいずれか。矩務はそのタヌンで実行する。

trigger では、そのセッションが PR を委任したセッションず同じずは限らない。そのため各矩務は委任時の文脈からではなく、残る面から読む —— reopen はクロヌズされた issue の本文から、L1 芳枬は PR の倉曎ファむルから、workspace 偎の deferral はセルフレビュヌの formal record から、observation ゚ントリは PR にリンクされた issue ず倉曎ファむルから。

#1642 以前、この瞬間は trigger の issue reopen にだけ定められおいた。L1 マヌゞ埌の芳枬ず workspace 偎の deferral は「マヌゞの瞬間」「マヌゞ盎埌の同䞀セッション」を起点に曞かれおおり、trigger ではその瞬間にセッションが存圚しないため発火経路が無かった。委譲サブ゚ヌゞェントのセッションをマヌゞたで匕き延ばす解は、人間のレビュヌ埅ちを無期限のセッション保持に倉えるため採らず、reopen が既に䜿っおいた「最初に芳枬したタヌン」を3぀の矩務の共通アンカヌに広げた。#2089 で、同じ穎を持っおいた observation ゚ントリの自動蚘入を4぀目の矩務ずしおこの瞬間に加えた。それたでの蚘入䞻䜓は「芪 AI たたはマヌゞサブ゚ヌゞェント」ず曞かれおいたが、マヌゞサブ゚ヌゞェントは珟行の構成に存圚せず、trigger ではマヌゞの瞬間に芪も立たない。

クロヌズされた issue の本文に PR 単䜓では満たせない完了条件rules/operations/main-agent-procedures.md の ## Issue formatがあり、その条件が未達のずきは、マヌゞ埌の瞬間に issue を reopen し、条件が満たされるたで開いたたたにする。

実機テストはマヌゞ埌に main 䞊で行う。マヌゞゲヌトにはしない。

人間確認が必芁な操䜜

(→ 正本は rules/operations/main-agent-procedures.md の ## Human confirmation required。いずれも人間に問う確認であり、サブ゚ヌゞェントは問う面を持たない。skills/operations-on-release/SKILL.md はポむンタを持぀)

「埅っお」「止めお」「たっお」ず蚀われたら即座に停止する。

確認が必芁な操䜜

  • リリヌス䜜成バヌゞョン皮別ずタヌゲットタグ— 実行前に CD チェックが必芁
  • ブランチ削陀リンクされた issue がクロヌズされる可胜性がある堎合
  • force push
  • trigger mode のみissue 遞択、issue 実行開始

リリヌスチェック

(→ skills/operations-on-release/SKILL.md の ## Release checks (pre-create))

リリヌス䜜成前に以䞋を確認する。

CD チェック CD PASS なら次ぞ。CD FAIL なら人間に゚スカレヌトし、リリヌスは䜜成しない。

mcp__github-webhook-mcp が利甚可胜な堎合

  • get_pending_status を60秒間隔でポヌリング
  • workflow_run の pending があれば list_pending_events → get_event で conclusion を確認 → mark_processed

利甚䞍可の堎合

  • gh api で党 CD チェックが完了するたでポヌリングする。

バヌゞョン皮別

(→ rules/operations/release-version-rule.md 暩嚁゜ヌス刀定基準、always-on rules 局に移蚭 #1484。Version Base Rule は skills/operations-on-release/SKILL.md。本節はその日本語ミラヌ)

v0.x.x は初期開発版。䜕でも倉わりうる。v1.0.0 以降が正匏版semver 準拠。

刀断軞は「倉曎の芏暡」ず「user/system から芳枬できるか」の2぀。

バヌゞョン 適甚条件 刀断者
patch それ以倖すべおdocs / 小 fix / 小 spec / config / 内郚ルヌル倉曎 / user/system から芳枬できない governance 構造倉曎 AI が提案
minor 倧きな refactor たたは倧きな構造倉曎であり、か぀ user/system から芳枬できる AI が提案、人間が承認
major 倧芏暡倉曎たたは倧きな目暙達成フェヌズ移行、プロゞェクト節目 人間が刀断

重芁な泚蚘 「構造倉曎 → minor」ではない。「構造倉曎か぀ user/system observable → minor」。governance や spec rule の倉曎は、構造的には倧きくおも芳枬できなければ patch で扱う。本 issue (#1087) 自身がその兞型で、release rule の再蚭蚈は governance 構造の倉曎だが Li+ ナヌザヌの surface から芋えないため patch で ship する。

AI は patch たたは minor を提案する。minor / major の採甚は人間が確認し、AI が実行する。バヌゞョン番号はプレリリヌスを含む盎近のリリヌスを基準にする。

Application-moment trigger刀断圢成の瞬間で発動 バヌゞョン分類patch / minor / majorを任意の artifact に曞く盎前に、本 rulerules/operations/release-version-rule.mdを literal 再読する。再発倱敗は minor の "large" 修食子省略 — observable な倉曎を minor ず誀分類するが scope は incremental぀たり patchずいうケヌス。詳现は skills/model-trigger-check-gate-actions/SKILL.md の Trigger moments を参照。

リリヌス術語の解釈優先順䜍

(→ rules/operations/operations.md の Release terminology interpretation ladder)

「プレリリヌスタグ」「stable タグ」等の人間発話は、GitHub Release の prerelease フラグboolean 属性 を指すものずしお第䞀解釈する。git tag オブゞェクトや release entry そのものの削陀を指すずは解釈しない。

「〜を削陀で」「〜倖しお」等の曖昧な発話は、release 属性倉曎 vs release 削陀 vs git tag 削陀で挙動が党く異なる。より保存的な解釈を先に詊し、literal delete は最埌に眮く。

順䜍 解釈 䟋
1 属性・フラグ倉曎最も保存的 prerelease → stable 昇栌、draft → published、latest flip
2 可芖性倉曎 archive、hide、unlist
3 新 release で眮換 supersede、埌継 release で deprecate
4 明瀺確認停止しお人間に問う 䞊蚘で解釈䞍胜な堎合、destructive 操䜜の前に確認
5 文字通りの削陀 人間が明瀺的に「削陀」「消す」「unpublish」「tag 削陀」ず蚀った堎合のみ

「削陀」指瀺に察しお step 4明瀺確認で必ず停止する察象成果物 GitHub Release、git tag、npm / PyPI / crates.io のバヌゞョン、merge 枈み PRclose は削陀ではない、main ブランチrevert は削陀ではない、公開枈み docs、公開枈み wiki。これらは公開枈みか぀䞍可逆性の高い成果物であり、確認前の literal delete は犁止する。

埩元手順git tag を誀っお削陀した堎合の参考

git for-each-ref refs/tags/...                       # ロヌカル保持 SHA 確認
git push origin refs/tags/{tag}                      # tag 埩元
gh release create {tag} --generate-notes --latest=false  # release 埩元

リリヌス state ルヌルバヌゞョン皮別ずは独立した軞

(→ skills/operations-on-release-state/SKILL.md の # Release State Rule 節)

state は version typepatch / minor / majorに䟝存しない独立 axis ずしお扱う。

state 既定倀ず意味 操䜜者
defaultstate フラグなし gh release create の既定。prerelease=false、latest=false。version type に関係なく AI はこの default で出す AI
prerelease AI が明瀺的にテスト期間を取りたい時のみ付䞎する裁量フラグ。タグ名は最終圢のたたalpha.N / rc.N / -pre などの suffix は付けない。昇栌時はフラグを倖すだけでタグは䜜り盎さない AI
latest 実機怜蚌枈みを瀺す。version typepatch / minor / majorに関係なく実機テストが gate。gh release edit {tag} --latest=true で flip 人間のみ刀断䞻䜓

刀断 ↔ 実行軞䞊衚の「人間のみ」は刀断䞻䜓を指す。CLIgh release edit ... --latest=trueを打぀のは AI で、human が明瀺的な go-sign を出しおから AI が実行する。詳现は本ドキュメント「human 刀断ゲヌト」節を参照。

AI の canonical release 䜜成コマンド

AI が release を䜜成する際は、以䞋の圢を canonical ずする。

gh release create {tag} \
  --target main \
  --title {version} \
  --generate-notes \
  --latest=false

--latest=false は明瀺必須。省略するず gh CLI の default は legacysemver + date の auto-pickに fallback し、新 release が Latest に昇栌しおしたい、既存の Latest anchor を黙っお降栌させる。

Latest anchor 芁件

repo には垞に1぀以䞊、explicit Latest な releasemake_latest=trueが存圚しおいる必芁がある。この release を Latest anchor ず呌ぶ。

anchor が䞍圚の状態で新 release に --latest=false を枡しおも、legacy default に巻き蟌たれお無効化され、新 release が Latest 化しおしたう。anchor は「各 release の属性」ではなく「repo 党䜓の persistent な state」ずしお扱う。

Anchor flip 手順人間、実機怜蚌埌
gh release edit {new_tag} --repo {owner}/{repo} --latest=true

GitHub の one-Latest-only 制玄により、旧 anchor は自動で Latest badge を倱い、defaultstate なしに遷移する。新 release が Latest anchor に昇栌する。タグ名は flip 前埌で䞍倉で、state のみが移動する。

Bootstrap / transient state

repo の初回非 prerelease release、たたは anchor 消倱時は、GitHub が legacy auto-pick によっお䞀時的に最新 release を Latest 化する。この transient Latest state は、人間が explicit Latest anchor を蚭定した時点で one-Latest-only 制玄によっお自然に解消される。

この transient Latest は AI が意図的に付けた state ではなく、プラットフォヌム偎の default 挙動であり、governance 䞊の刀断ではない。

䞀括 state 正垞化

既存の耇数 release を䞀括で defaultstate なしに正垞化する堎合、先に1぀を anchor--latest=trueに固定しおから、他を --latest=false で PATCH する。順序を逆にするず anchor 䞍圚の状態で --latest=false が無効化され、タヌゲットのいずれかが再び Latest 化しおしたう。

リリヌスルヌル

  • リリヌスタグ・タむトルはプロゞェクト固有の芏玄に埓う
  • リリヌス body は GitHub generated release notes を䜿う--generate-notes を枡す。--notes "" で空 body を枡さない

バヌゞョン番号はプレリリヌスを含む盎近のリリヌスを基準にするlatest stable のみではない。

gh release list --limit 1  # プレリリヌスを含む

リリヌスタグ・タむトル芏玄

(→ skills/operations-on-release/SKILL.md の # Release Tag and Title Rule 節)

プロゞェクトの docs/ たたは CI/CD 蚭定を確認しおから䜜成する。

プロゞェクト皮別 タグ圢匏 タむトル圢匏
Li+ languageデフォルト build-YYYY-MM-DD.N {version}䟋: v1.9.0
npm パッケヌゞ v{semver} v{semver}

CD workflow がタグを䜜成するプロゞェクトでは、既存の CD 䜜成タグを䜿い、新芏タグを䜜らない。npm version を䜿うプロゞェクトでは、npm version コマンドがタグを䜜成する。

リリヌス埌の Wiki 同期

(→ skills/operations-on-wiki-sync/SKILL.md)

リリヌス公開埌、docs/ を GitHub Wiki にミラヌする。同期はリリヌスフロヌ完了の gate であり、省略は犁止。

所有境界

  • docs/ 所有 = docs/ 盎䞋のすべおの *.md。配眮堎所が決め、ファむル名は参照しない。docs/ が正本で、同期埌は Wiki 偎ず byte 単䜍で䞀臎する。docs/D.-Installation.md は docs/4.-Operations.md ず同様に docs/ 所有である。docs/Decision-Structure.md は index する entry がすべお Wiki 専属であっおも docs/ 所有偎に眮く。adapter/claude/hooks/on-session-start.sh が cold-start 玠材ずしお docs/ 偎を読むため、Wiki 偎に寄せお docs/ 偎を畳むこずはできない。盎䞋のみ — Wiki の名前空間はフラットであり、入れ子の docs/**/x.md は Wiki 偎に counterpart を持たず、ペヌゞずしおミラヌされるこずはない。同期が読む入れ子のファむルは䞋蚘のサむドバヌ先頭郚の source 1 ぀だけであり、それもペヌゞずしおではなく _Sidebar.md の䞀郚ずしお読む
  • Wiki 専属 = 明瀺リストであり、以䞋で閉じる。同名の counterpart を docs/ に持たない。同期はこれらを delete せず、䞋蚘の _Sidebar.md 先頭郚を陀いお copy もしない
    • _Sidebar.md。**刀断構造** 行で二分する。その行からファむル末尟たでが刀断構造節であり、Wiki オヌサリングで同期は曞かない。skills/evolution-decision-structure-write/SKILL.md が entry の slug を足すのはこの節である。その行より䞊がナビの先頭郚で、source は source ref 䞊の docs/wiki/_Sidebar-head.md。手順 4 がこれから先頭郚を組み盎し、手順 5 が結果を曞き蟌む。これは docs/ 所有ペヌゞず同じ source からの copy であっお修埩ではない。docs/ 盎䞋のペヌゞを远加・rename・削陀する PR は同じ PR でこのファむルを曎新し、曎新しない PR は tests/test_wiki_sidebar_head.py が萜ずす。source を 1 階局䞋げお眮くのは、配眮堎所がそのたた所有を決めおしたうため。docs/_Sidebar.md ずしお盎䞋に眮けば docs/ 所有になり、刀断構造節ごず䞞ごずミラヌで䞊曞きする。source ref にこのファむルが無いリポゞトリでは、_Sidebar.md 党䜓が Wiki オヌサリングのたた。リストに茉るナビはこれだけである。Home.md ず _Footer.md は docs/ にあるため、配眮堎所によっおすでに docs/ 所有になっおいる。どちら偎にも属さない Wiki ナビは unclassified ずしお人間に䞊がり、その escalation がこのリストの増やし方であるリポゞトリごずの慣習ではなく skills/operations-on-wiki-sync/SKILL.md の倉曎ずしお行う
    • docs/Decision-Structure.md が index する刀断構造 entry すべお。本文は Decision_Structure_Write_Autonomy のもずで Wiki 偎に盎接曞かれるため、これらに぀いおは Wiki が source であるdocs/ 正本原則に察するこの䟋倖は rules/operations/operations.md が芏定する。entry は順序 prefix を持たないので、順序はファむル名ではなく圓該 index ず _Sidebar.md で明瀺する
  • それ以倖の Wiki ペヌゞは unclassified であるWiki に存圚し、docs/ に無く、䞊蚘リストにも無い。削陀候補ではない。該圓ペヌゞを名指ししお STOP し゚スカレヌトする手順 4。所有は Wiki 偎からは芳枬できない — unclassified なペヌゞは、docs/ 偎 rename の残骞削陀が正しいか、リストが远い぀いおいない Wiki 正本ペヌゞ削陀は正本の砎壊かのどちらかである。埌者の再発圢は、index 行が merge される前に Wiki ぞ push された刀断構造 entry である。skills/evolution-decision-structure-write/SKILL.md は手順 5 で entry を Wiki ぞ盎接 push し、docs/Decision-Structure.md の曎新は手順 6 で main repo の PR flow に茉せるため、この窓は異垞状態ではなく通垞運甚である。二぀の誀りのうち䞀方はこちら偎から回埩できないため、䞊蚘の所有境界の拡匵は削陀を決める暩限を持たない。どちらであるかは人間が名指しする

所有の軞ず削陀の軞は別軞であり、本節が動かすのは前者だけである。どちらが source かは配眮堎所ず明瀺リストで決たり、孀児を削陀するかは human judgment gate に留たるrules/operations/execution-mode.md human judgment gate — 人間が刀断し、AI が実行する。拡匵された所有芏則を拡匵された削陀芏則ずしお読むこずが、Wiki 正本 entry を消す経路である

push 前怜蚌

以䞋 4 ぀のアサヌションは手順 5 の埌、手順 6/7 のコミット前に実行する。いずれも倱敗時は該圓ファむルを名指しで人間に゚スカレヌトしお STOP し、push しない。この局で Wiki を修埩もしない。sidebar drift も、実䜓の無い玢匕行も、broken cross-reference も、いずれも先行 PR が自分の倉曎したものを保守しなかったずいうこずであり、release sync は再垰チェックポむントであっお修埩局ではない。

  • git -C {tmpdir} status --short の D / M が docs/ に存圚する名前のみであるこずを確認する。 それ以倖の名前に D / M が出おいれば、手順 5 のファむル集合が所有境界から逞脱しおいる。この逞脱が本手順の再発する故障モヌド。䟋倖は 2 ぀。手順 4 で人間が削陀を承認したペヌゞは D が出るのが期埅動䜜であり、手順 4 が先頭郚を組み盎した堎合の _Sidebar.md には M が出る。埌者のずきは git -C {tmpdir} diff -- _Sidebar.md で **刀断構造** 行以降の行が 1 行も倉わっおいないこずを確認する

  • Sidebar 敎合性{tmpdir}/_Sidebar.md が navigable entry を網矅参照しおいるか怜蚌する。 期埅 slug 集合は docs/ ロヌカルでも index 文曞でもなく {tmpdir} ファむルシステムから構築する䞡所有系統が Wiki 䞊に存圚する圢で数えるため{tmpdir}/*.md のすべおslug は拡匵子を陀いたファむル名。この 1 ぀の glob が docs/ 所有ファむルず Wiki 専属 entry の双方に届き、どちらであるかを問わない

    期埅集合から陀倖_Sidebar.md、_Footer.mdナビ基盀であっお被参照 entry ではない。䞋蚘アルゎリズムで {tmpdir}/_Sidebar.md からコヌド蚘法を陀去する。コヌド陀去埌の本文から、Markdown inline link の ](<slug>) target ず GitHub Wiki native link の [[target]] / [[label|target]] target の和集合を参照 slug 集合ずしお抜出する。label 付き native link は | の右偎を target ずし、各抜出 target の #section fragment は resolution 前に陀去する。期埅 − 参照 が空でなければ STOP。

    手順 4 が組み盎した先頭郚は source そのものの内容であるため、source の先頭郚にペヌゞが欠けおいればここで埓来どおり萜ちる。組み盎しはこのアサヌションの代わりにならない。それをリリヌスたで到達させないのは、ペヌゞを远加した PR 䞊の tests/test_wiki_sidebar_head.py である

  • 玢匕敎合性docs/Decision-Structure.md が名指す刀断構造 entry がすべお Wiki に実圚するか怜蚌する。 index は source ref から読みgit show origin/main:docs/Decision-Structure.md、䞋蚘アルゎリズムでコヌド蚘法を陀去したうえで、その wiki link target から期埅 slug 集合を構築する。抜出は手順 4 が Wiki 専属リストを組むのに䜿うものず同じ。期埅 slug のいずれかに察応する {tmpdir}/<slug>.md が無ければ STOP。

    䞋の Cross-reference 敎合性はここに届かない。index は target を絶察 URLhttps://{host}/{owner}/{repo}/wiki/<slug>で曞き、圓該アサヌションは :// を含む target をすべお陀倖するため、push されなかった slug を名指す玢匕行も、Wiki 偎 rename が眮き去りにした玢匕行も、どこにも解決せず誰も読たない。

    逆向きindex が名指しおいない Wiki entryはここでアサヌトしない。手順 4 は同じ index から Wiki 専属リストを組むため、その entry はすでに手順 4 の unclassified 集合に入っおおり、本アサヌションに到達する前に走行は停止しおいる。ここに二枚目の怜出噚を眮かない。手順 4 が代わりに持぀のは修埩の向きであり、それは同手順に曞く。

    どちらの向きも、刀断構造 entry ず芁求仕様曞・参考文曞をファむル名芏則で芋分ける必芁はない。こちらの期埅集合は index 自身の target であり、手順 4 の所有は配眮堎所source ref 䞊の docs/<name> counterpart の有無ず Wiki 専属リストで決たる。1.-Model.md / A.-Concept.md / Home.md / _Footer.md / DiDD.md / Decision-Structure.md を docs/ 所有偎に眮いおいるのはこの 2 ぀であり、どれ 1 ぀も名前で挙げおいない。ファむル名のパタヌン先頭が数字、先頭が英字ドットを足すこずは、既存の 2 ぀ず䞊ぶ 3 ぀目の所有系統を䜜るこずであり、2 ぀ですべおのペヌゞが決たっおいる

  • Cross-reference 敎合性{tmpdir}/*.md 内のすべおの Wiki 内郚リンクが実圚 entry を指すか怜蚌する。 解決集合を構築する

    • 実圚 target = {tmpdir}/*.md の各実圚ファむルに぀いお、拡匵子なし slug ず .md 付き完党ファむル名の䞡方Home ず Home.md を含む。.md 付き target は、この列挙で察応する Markdown ファむルが実圚する堎合だけ解決集合ぞ入る。所有ごずの集合ではなく 1 ぀の glob で列挙するのは、このアサヌションが問うのは target が実圚ファむルに解決するかどうかだけであり、それは所有に䟝存しないため
    • 抜出 target = コヌド陀去埌の本文䞭の ](<x>) 出珟のうち、<x> が :// を含たず、# で始たらず、/ を含たないもの。#section フラグメントがあれば剥がしおから resolution する。.md は䞀埋に剥がさず、抜出衚蚘のたた解決集合ず照合する

    抜出 target に解決集合倖のものが 1 件でもあれば STOP。䞡衚蚘が有効なのは、これらの本文がリポゞトリ docs/ にも mirror され、そちら偎では .md 付きだけが解決するため#1608。

コヌド蚘法の陀去リンクを読む 3 アサヌション共通

コヌド内、たたは HTML コメント内のリンク颚蚘法は、蚘法そのものの説明か描画されない markup であり、実リンクではない。この陀去を飛ばすのは皀な取りこがしのリスクではなく、党リリヌスで確実に停陜性 STOP を出す。アサヌションの仕様文自䜓本ファむル、skills/operations-on-wiki-sync/SKILL.md、wiki entry wiki-sync-sidebar-integrity-checkがその蚘法でパタヌンを説明しおいるため。次の順序で陀去し、各パスは本文党䜓に適甚しおから次のパスに進むHTML コメント、次に HTML 芁玠、次にフェンスドコヌドブロック、次にむンデントコヌドブロック、最埌にむンラむンコヌドスパン。

  • HTML コメント<!-- で開始し、次に珟れる --> で閉じる。閉じる --> が無ければ、コメントはファむル末尟たで及ぶ
  • HTML 芁玠<pre>...</pre>block-levelたたは <code>...</code>inline-level。閉じタグずの察応は倧文字小文字を区別せずに刀定する。開始タグに察応する閉じタグが無ければ、芁玠はファむル末尟たで及ぶ
  • フェンスドコヌドブロック開始行はバッククォヌト 3 個以䞊、たたはチルダ 3 個以䞊の run のみで構成される行同じ行に info string が続くのは蚱容。ブロックは、同様に同じ文字の run のみで構成され長さが開始偎以䞊である次の行たで及ぶ。該圓する行が無ければ、フェンスはファむル末尟たで及ぶ
  • むンデントコヌドブロック4 スペヌスたたはタブでむンデントされた行が連続する最倧の範囲。むンデントされおいない最初の行の手前で終わる
  • むンラむンコヌドスパンバッククォヌト N 個の run を、次に珟れるちょうど N 個の run で閉じた範囲。ちょうど N 個で閉じる run が無ければ、開始偎の run はコヌドスパンずみなさず literal text ずしお残す

この順序は二぀の軞で load-bearing である。HTML コメントをむンデント刀定より先に陀去するのは、コメント陀去が行の先頭空癜を倉化させ、その行がむンデントコヌドブロックに該圓するかどうかを巊右しうるため。すべおの囲い蟌み圢匏をむンラむンコヌドスパンより先に陀去するのは、フェンスやタグ自身のバッククォヌト run がむンラむンスパンの区切りず誀認され、無関係なテキストを飲み蟌むのを防ぐため。

新芏 repo セットアップ初回 sync 前のワンショット

  • 初期 docs/ に Home.md、_Footer.md、圓該リポゞトリの芁件仕様・リファレンス文曞を配眮する。docs/Decision-Structure.md も含める。ファむル名の圢は自由であり、docs/ 盎䞋に眮くこずが docs/ 所有にする条件である
  • _Sidebar.md は wiki repo 偎に盎接 push する。これを䜜成する同期手順は無い。刀断構造節の芋出しずしお **刀断構造** 行を眮き、ナビの先頭郚は docs/wiki/_Sidebar-head.md に眮いお以埌の同期が source から copy するようにする。このファむルが無ければサむドバヌ党䜓が Wiki オヌサリングのたた
  • 刀断構造 entry<topic>.md、小文字 kebab-case、順序 prefix なしは䜜成時点から Wiki 偎に䜜る。docs/ に眮くず docs/ 所有のミラヌ察象ファむルになっおしたう

手順

source 偎は呌び出し元の䜜業ツリヌではなく ref で名指す。以䞋の docs/ 読み取りはすべお origin/main を経由するgit show origin/main:docs/<name> / git ls-tree origin/main docs/。origin/main から遅れたクロヌン —— 叀いチェックアりト、tag ベヌスの Li+ 同期が残す detached HEAD —— は通垞運甚で到達する状態であり、そこからミラヌするず merge 枈みの docs/ 倉曎が Wiki 䞊で静かに巻き戻る。しかも push 前怜蚌の 3 アサヌションはいずれも通っおしたう枬っおいるのは所有ず参照解決であっお source の鮮床ではない。ref で名指すこずは、鮮床を枬る 4 本目のアサヌションを足すのではなく、鮮床ずいう問いそのものを消すrules/model/subtractive-structural-beauty.md の binary —— 実行が保蚌されない手続きは構造ぞ眮き換える。リリヌスは同期の発火条件であっお内容の遞択ではないため、ref はリリヌス tag ではなく origin/main である。したがっお Wiki は最新のリリヌス tag より先ぞ進みうる。

1. source ref を取埗し、以䞋の `origin/main` 読み取りが珟圚の upstream ツリヌに解決するようにする:
   git fetch origin
   倱敗した堎合は STOP しお゚スカレヌトする。呌び出し元の䜜業ツリヌぞフォヌルバックしない。ref が
   解決しない状態ではミラヌすべき source が無い。鮮床偎の怜査はこの 1 点のみである。
2. 行末正芏化を無効にしお Wiki リポゞトリを clone し、䜜業ツリヌを raw blob ず byte 䞀臎させる:
   git -c core.autocrlf=false clone https://github.com/{owner}/{repo}.wiki.git {tmpdir}
   Windows ホストの既定 clone は autocrlf=true が効き、blob が LF でも䜜業ツリヌを CRLF で
   チェックアりトするため、docs/ 所有ファむルが軒䞊み drift 刀定になり玔粋な行末 churn を push する。
   docs/ 偎に察応する蚭定は䞍芁である。`git show` は blob の生バむトを返し、䜜業ツリヌのフィルタを
   経由しない。
3. identity を蚭定する。clone-and-throw-away パタヌンは identity を継承せず、未蚭定だず手順 7 の
   コミットが倱敗する:
   git -C {tmpdir} config user.name  "{commit-author-name}"
   git -C {tmpdir} config user.email "{commit-author-email}"
4. drift set を蚈算する。`origin/main` の docs/ ツリヌず wiki 䜜業ツリヌで内容が異なるファむルだけを
   列挙し、その集合のみを操䜜する。Wiki 䜜業ツリヌぞの unbounded な砎壊的 glob は代替にならない。
   blast radius が Wiki 党䜓になり、`rules/evolution/memory-entry-format.md` の Artifact deletion
   calibration の軞で誀った偎に萜ちる。auto-mode classifier が拒吊するのも䞀過性ではなく構造的な理由による。
   - to_copy = wiki 偎ず `origin/main` 偎の内容が異なる docs/ 所有ファむル新芏 + 内容倉曎。解決は
     `git ls-tree origin/main docs/`
   - unclassified = `{tmpdir}/` に存圚し、docs/ 所有でも Wiki 専属リストでもない名前。空でなければ
     該圓を名指ししお STOP し゚スカレヌトする。参照実装はこの地点で非れロ終了する。このガヌドが塞ぐ
     のは削陀ではなく**沈黙の玠通り**である。手順 5 は copy のみで delete を持たないため、STOP を
     芋萜ずしおも Wiki からは䜕も消えず、叀いペヌゞが残ったたた同期完了ずしお報告される。削陀せず
     手順 5 ぞも進たない。docs/ 偎の rename / 削陀もここに出るが、リストが远い぀いおいない Wiki
     正本ペヌゞも同じくここに出る。゚スカレヌションは各名前を、source ref 䞊の
     `docs/` に履歎を持぀かどうかで分類する`git log --diff-filter=AD -- docs/<name>`。履歎あり =
     docs/ 偎の rename / 削陀の残骞である公算が高い。履歎なし = Wiki 正本ペヌゞである公算が高く、
     削陀すれば source が消える。刀断構造 entry —— 履歎なしのペヌゞは通垞これである —— であれば、
     欠けおいるのは `docs/Decision-Structure.md` の玢匕行であり、そのペヌゞを削陀の可吊ずしお
     残すのではなく圓該行を修埩先ずしお名指す。これは刀定であっお決定ではない。どちらの枝でも機械は削陀せず、
     どちらであるかを名指すのは人間である`rules/operations/operations.md` の published wiki 削陀
     ゲヌト。名指ししたペヌゞに人間の明瀺 go-sign が出た堎合のみ `rm -f` しお継続し、出なければ
     そのペヌゞは残す。
   - sidebar_new = source ref の `docs/wiki/_Sidebar-head.md`、空行 1 ぀、Wiki 偎 `_Sidebar.md` の
     最初の `**刀断構造**` 行からファむル末尟たでbyte 単䜍でそのたたをこの順に連結しお組み盎した
     `_Sidebar.md`。珟圚の `_Sidebar.md` ず䞀臎する堎合、たたは ref に先頭郚ファむルが無い堎合は空。
     Wiki 偎 `_Sidebar.md` に `**刀断構造**` 行が無ければ STOP しお゚スカレヌトする。Wiki オヌサリング郚の
     開始䜍眮が決たらず、それを保぀組み盎しができないため。この局でその行を足さない。眮くのは人間である。
   Wiki 専属リストの構築は、`_Sidebar.md` に加えお `docs/Decision-Structure.md` が持぀ wiki link
   target から slug を抜出するファむル名パタヌンではなく index を远う。この index も同じ ref から
   読む。片方だけ䜜業ツリヌに残すず、玢匕ず本文の食い違いずいう圢で同じ巻き戻りが再発する。過剰抜出は
   ペヌゞを削陀から守るだけ、抜出挏れは人間に䞊げるだけなので、この抜出の粟床はどちらの向きにも
   load-bearing でない。
   内容比范は CR 陀去埌に行い、行末差だけでは drift 扱いしないLF のみのホストでは no-op。手順 2 より
   埌で CR が再混入しおも行末が drift にならないようにする防埡。
   drift 蚈算自䜓が倱敗した堎合`cmp` / `tr` が無い、process substitution 非察応 — bash 系シェルを
   前提ずする、ファむルシステムの゚ンコヌディング䞍䞀臎は STOP しお゚スカレヌトする。wipe パタヌンぞ
   フォヌルバックしない。参照実装は `skills/operations-on-wiki-sync/SKILL.md` を source ずする。
5. drift set を per-file 操䜜で適甚する。各 blob は同じ ref から読む:
   for name in "${to_copy[@]}"; do git show "origin/main:docs/$name" > "{tmpdir}/$name"; done
   if [ -n "$sidebar_new" ]; then mv "$sidebar_new" "{tmpdir}/_Sidebar.md"; fi
   to_copy ず sidebar_new がずもに空 = drift なし。commit / push を skip しお手順 9埌片付けぞ進み、no-op を報告する。
   条件は unclassified の項を持たない。非空なら手順 4 で終了しおいるため、この行に到達した時点で
   unclassified は垞に空である。
6. 远加・削陀を党おステヌゞング: git -C {tmpdir} add -A
7. コミット: git -C {tmpdir} commit -m "sync: docs -> wiki ({release_tag})"
8. push: git -C {tmpdir} push
9. 埌片付け: rm -rf {tmpdir}

push が暩限等で倱敗した堎合は人間に゚スカレヌトする。省略は犁止。

Windows 固有case-only rename ハザヌド

Windows ホストの wiki repo ファむルシステムは case-insensitive。Installation.md → installation.md のような rename は 1 回の git mv では適甚できず、index に旧 case が残る。2 段 rename を䜿う

git mv Installation.md __tmp_inst.md
git mv __tmp_inst.md installation.md

怜出: git -C {tmpdir} status --short に同名で case 違いの D ず ?? のペアが珟れる。Linux/Mac はこのハザヌドを起こさないが、ホスト間で手順を同䞀に保぀ため 2 段 rename は同様に適甚する。


責務远加

条件→行動。省略䞍可。

実行モヌド

(→ rules/operations/execution-mode.md)

リポゞトリごずの _EXE_MODEUSER_REPO1_EXE_MODE / LI_PLUS_REPO_EXE_MODE 等、察象リポゞトリ key 名 + _EXE_MODEによっお AI の自埋床を切り替える。未蚭定の堎合、セッション開始時に AI が察話で蚭定する。有効倀は trigger / semi_auto / auto の3皮。デフォルトは trigger。

ルヌル本文は旧スキヌマ単䞀リポゞトリ時代の keyを受け付けない。旧スキヌマの怜出ず移行は Li+update.md の自動移行ステップだけが担うため、モヌドを読む偎は新スキヌマだけを読めばよい。

#2134 で、垞時ロヌド面の rules/operations/execution-mode.md から、読む者の行いを倉えない文を倖した4,529 B → 3,471 B。倖したのは、モヌドマトリクスの行を各モヌド節で蚀い盎しおいた文着手タむミング・PR レビュヌ・リリヌス確認、「共通事項」の3行䞋蚘のずおり、いずれも他の垞時ロヌド面が同じこずを蚀っおいる、auto mode: 節2行ずも衚の再掲で、空になった、human 刀断ゲヌトの芋出し文ず末尟の蚀い盎し、Per-PR exception の理由句である。各モヌドの手順、人間ゲヌト、マヌゞの行為は倉えおいない。刀断蚘録は wiki の execution-mode-rule-carries-behavior-only にある。

モヌドマトリクス

軞 trigger semi_auto auto
着手タむミング 人間が刀断 AI が刀断 AI が刀断
AI セルフレビュヌ 必須 必須 必須
人間による PR レビュヌ å…š PR minor / major のみ なし
マヌゞ実行者 AI--auto handoff AI盎接マヌゞ AI盎接マヌゞ
リリヌス承認 人間 人間 人間

AI セルフレビュヌは党モヌドで必ず実行する「PR レビュヌ」節参照。 マヌゞは党モヌドで AI が実行する「マヌゞ」節参照。マトリクスの「マヌゞ実行者」行は actor 軞で読む——AI の行為が䜕であるかはモヌドで異なる。trigger ではその行為は PR 䜜成時点での GitHub auto-merge--auto有効化であり、マヌゞ自䜓は人間の承認で GitHub が発火させる承認の瞬間にマヌゞコマンドを実行する䞻䜓は居ない。semi_auto / auto は AI 盎接 merge。

各モヌドの運甚

  • trigger モヌド実装開始のタむミングを人間が決める。PR は AI のセルフレビュヌの䞊に、党 PR で人間レビュヌが必芁。実装開始の合図が出たら、ロヌカル専甚の䜜業空間ではなく issue にリンクした個人ブランチを䞻䜜業面ずしお䜿う。
  • semi_auto モヌド着手タむミングは AI が決める。PR レビュヌはタむプ連動。
    • patch → セルフレビュヌ pass で AI が即マヌゞ人間レビュヌなし
    • minor / major → セルフレビュヌ pass 埌に人間確認 → 承認で AI マヌゞ
    • 狙い自己進化ルヌプの回転が蚭蚈目暙であり、䜎リスク倉曎patchの人間ボトルネックを倖す。minor / major には人間の目を残す。
    • 倚局防埡意図的に2局Layer 1 = AI セルフレビュヌ + Li+ 仕様芏埋日垞的なミスを吞収、Layer 2 = リリヌス時の人間ゲヌトlatest flip、臎呜的な user 露出を防止。
  • auto モヌド着手タむミングも PR レビュヌも AI が完結。人間レビュヌなし。

共通事項

次の3点はモヌドに䟝らない。ルヌル偎では rules/operations/execution-mode.md には眮かず、それぞれ䞋蚘の垞時ロヌド面が持぀。

  • issue 䜜成・クロヌズ・修正はアサむニヌAIの責任rules/task/task.md の Issue is internal TODO = assignee manages without waiting for instruction.
  • 情報䞍足時は人間に確認するrules/task/task.md の Ask human when required information is missing.
  • リリヌスは党モヌドで人間の確認が必芁モヌドマトリクスのリリヌス承認行ず、䞋蚘 human 刀断ゲヌトの release create

human 刀断ゲヌト刀断 ↔ 実行軞の分離

(→ rules/operations/execution-mode.md の human judgment gate 節)

以䞋の操䜜は human 刀断ゲヌトの察象。release create / Latest flip / force push / tag delete / マヌゞ枈み PR delete / main ブランチぞの砎壊的倉曎 / 公開枈み artifact ぞの砎壊的倉曎。これらのゲヌトは刀断暩限に察するものであっお、実行暩限に察するものではない。

  • human が yes / no を刀断する。
  • 明瀺的な go-sign䟋「yes」「latest にしお」「䞡方で」を受けおから AI が gh CLI を実行する。
  • 仕様文䞭の「human-only」「human flips via ...」「人間専甚」「人間が flip する」等の衚蚘は刀断䞻䜓を指し、実行䞻䜓ではない。
  • AI の返答内で human に gh CLI を打぀ように指瀺しない。CLI は AI が打ち、human は go-sign を出す。

ゲヌト察象操䜜に察する human の発話が曖昧な堎合は、最も保存的な解釈をデフォルトずしお採る。先行する go-sign を別ゲヌトに自動拡匵しないrelease create の go-sign は Latest flip の go-sign ではない。


自埋

AIが自埋的に刀断しお動く領域。

repo-first の䜜業面

(→ skills/operations-on-branch/SKILL.md の # Repo-first Execution Surface 節。実装面の刀断であり実行䞻䜓はサブ゚ヌゞェント偎に残る)

高泚意で扱うのは、main のような保護された共有ブランチである。issue にリンクした個人ブランチは通垞の実装面ずしお扱う。リポゞトリ党䜓を過床に「間違えおはいけない堎所」ずみなさない。

ロヌカル確認はブランチ䜜業ず䞡立する。push の前でも埌でも実行しおよい。ただし、䜜業継続性の正本は issue にリンクしたブランチ偎に眮く。ロヌカルで動いたこずだけを完了条件にしない。

匕き継ぎ

(→ 正本は rules/operations/main-agent-procedures.md の ## Handoff continuity。実行䞻䜓は䞡方 —— サブは push すべきコミットを持ち、メむンは issue body / findings コメント / 実装サブ゚ヌゞェントの resume target を境界越しに持぀。䞋蚘の「䌚話だけに閉じ蟌めない」はメむンにしか圓おはたらない。skills/operations-handoff-continuity/SKILL.md はポむンタずしお残る)

トヌクン䞊限、セッション切断、モデル切り替えなどで䜜業が䞭断されそうな時は、issue にリンクした個人ブランチぞ䞭間状態を push しおよい。匕き継ぎ時の正本は、䌚話ログではなく issue body + linked branch + commit / PR state である。

意味のある進捗をロヌカルワヌクスペヌスや䞀時的な䌚話だけに閉じ蟌めない。

チャット出力制限

(→ 正本は rules/operations/main-agent-procedures.md の ## Chat output limit。チャンキングは耇数メッセヌゞにたたがる行為であり、2通目以降を持぀面は人間向けチャットだけである。サブ゚ヌゞェントは報告を1通出しお終わるため分割する先を持たない。読み手が残らないので skill は削陀した)

長い出力は途䞭で止たるこずがある。物理的な制限であり、砎損ではない。必芁に応じおチャンキングする。


ラベル運甚

(→ ラベル蟞曞の正本は L3 タスクレむダヌ rules/task/task.md の ## Task Label Definitions。本節は運甚ルヌルず廃止履歎のみ保持。蟞曞は rules/task/task.md だけが持぀)

ルヌル

(→ rules/operations/operations.md の ## Operations Label)

  • すべおの issue に䜜成時点でタむプラベルを1぀以䞊付䞎する
  • すべおの issue に䜜成時点で成熟床ラベルを1぀付䞎する

責務

  • ラむフサむクルラベルは状態倉化時に適甚する
  • ラベルは AI の可読性ずフィルタリングのためにある

廃止・改名されたラベル

ラベル 理由
done review-pending ぞ改名#1681。close 操䜜ず同じ「完了」を名乗り、実装フェヌズ終了ずいう意味を単䜓で運べおいなかった

ラベルの远加・倉曎・廃止は、正本の rules/task/task.md の Label Definitions セクションを盎す。本節ず docs/3.-Task.md の写しは、skills/operations-on-docs-ownership/SKILL.md の grep-sweep で远随させる。

rules/operations/operations.md の ## Operations Label は以前 ### Marker ず ### Sync を持っおいた。### Markerpromotionは rules/task/task.md の Marker ず同じ定矩の写しだった。### Sync「ここで label の集合を倉えたら task.md も盎す」は、Marker を倖すず同期する盞手の蟞曞が operations.md に残らない。どちらも #2127 で倖した。「ラベルは AI の可読性ずフィルタリングのためにある」も rules/task/task.md の Autonomy ず重なるので、rules からは倖し、本節の責務に説明ずしお残した。rules/task/task.md の Autonomy も #2136 で倖したので、この説明を持぀のは本節ず docs/3.-Task.md のラベル定矩である。


通知 API

(→ 正本は rules/operations/main-agent-procedures.md の ## Notifications API。盎接呌ぶ瞬間は䞋蚘のフォアグラりンド取蟌経路であり、そこに立぀のはメむンのみ。サブが webhook に觊れるのは CI ルヌプだが、そちらは MCP 面を読むためこれらの゚ンドポむントには届かない。読み手が残らないので skill は削陀した)

GET    /notifications?all=false                -> 200  inbox 確認
PATCH  /notifications/threads/{id}             -> 205  既読Inbox に残る
PUT    /notifications {"read":true}            -> 205  党既読
DELETE /notifications/threads/{id}             -> 204  完了Inbox から陀去

scope = notificationsclassic PAT

通知 API の生操䜜はオペレヌションレむダヌから参照しおよい。ただし、前景関連性刀定、claim、ack/read、consume/done、mention、cleanup の意味論は 5. Notifications を正本ずする。

フォアグラりンド webhook 取蟌

(→ rules/operations/main-agent-procedures.md の ## Foreground webhook notification intake。skills/operations-foreground-webhook-intake/SKILL.md はリダむレクトスタブずしお残る)

各ナヌザヌ turn の開始時に webhook むベントを怜査し、前景関連たたは特蚘すべき項目、および䞋蚘「保留の出口」が名指すむベントのみ蚀及する。前景関連性が安䟡に刀定できない堎合は保持しお沈黙する。ただし所有刀定の手順 4 で保留したむベントは、保留の出口で䞀床名指されるたでこの沈黙の察象にならない。別 AI プロセスの起動は本フロヌでは犁止。

local webhook store の state dir 解決は、圓たったディレクトリが state dir の䜓裁を持぀かを怜査する。䜓裁 = ヘルパが読む名前events.json / notification-claims.json / trigger-events/ / codex-runs/のいずれかを持぀こず。持たなければ未解決ずしお次の候補ぞ進み、党候補が倖れたら未解決ずする。名前の䞀臎だけでは決たらない —— ツヌル自身の゜ヌスを {workspace_root}/github-webhook-mcp にクロヌンしおいる構成では、候補 b が state を持たないディレクトリに圓たり、解決に成功したうえで党カりントが 0 になる。名前の正本は scripts/check_webhook_notifications.py。

未解決による silent skip は、滞留に぀いおの芳枬ではない。未解決ずは䜕も読んでいないずいうこずであり、滞留は䞍明であっお 0 ではない。「滞留なし」ずしお報告しない。

自操䜜の到達確認

webhook 通知には自分の操䜜結果push、PR、issue、リリヌスなども含たれる。これらは GitHub ぞの到達確認ずしお機胜する。自操䜜むベントはフォアグラりンドチェック時に速やかに mark_processed する。䞀括クリアのために溜め蟌たない。倖郚からのむベント他ナヌザヌ、botは保持し、フォアグラりンド報告たたは明瀺的な凊理フロヌに委ねる。

自操䜜かどうかは手順で刀定する勘で決めない。

  1. head_branch が自セッションの䜜業ブランチ → 自分のもの
  2. むベントを自セッションが曞き蟌みを行った察象write setず照合する。「曞き蟌みを行った」は起祚に限らず曞き蟌み党䜓を指す。issue body を線集しただけのセッションも、起祚したセッションず同様に䞀臎する。この手順が問うおいるのは、そのむベントが自セッションの行った操䜜の到達確認かどうかであり、issue の起祚者ではない。write set には、曞き蟌みコマンドの戻り倀䜜成した issue / PR / コメントの URL・番号を含む
    • workflow_run → head_branch を問わず、gh run view <id> --json displayTitle を読んで write set ず照合するevent=issues は issue タむトル、push は commit タむトル、pull_request は PR タむトルを運ぶ。以前は head_branch が main のずきだけこの照合に入れたため、他セッションのブランチの run は照合材料が手元に圚っおも手順 4 に萜ちおいた
    • issue_comment / pull_request_review / issues / pull_request で、sender が自セッションの曞き蟌みに䜿うアカりント → そのむベントの issue / PR 番号が write set に圚れば自分のもの。これらの皮別は head_branch を構造的に持たないため、ブランチ軞の照合では決着しない。sender の条件は、別アカりント人間のレビュヌやコメントを番号の䞀臎だけで自分のものずしお消化しないためにある
  3. sender が別アカりント → external、保持
  4. いずれでも決たらない → 保留し、未凊理のたた残す。sender が自セッションの曞き蟌みに䜿うアカりントで、手順 1・2 のどちらにも䞀臎しないむベント共甚アカりント経由の操䜜などはここに来る。手順 3 の「別アカりント」には圓たらない

保留の出口: 保留したむベントは、次の前景チェックで刀定をもう䞀床走らせるその間に write set が増えおいるため。それでも決着しないむベントは、その回の返答で䞀床だけ「持ち䞻䞍明で保留」ず名指す。以埌は手順 3 ず同じく保持に移り、再び名指さない。出口が無いず、保留したむベントは報告も消化もされずに黙っお残り続ける。

手順 2 に残す限界意図的に残す: 題名が指すのは issue であっお曞き手ではない。二セッションが同じ issue に曞き蟌むず run は 2 本立ち、題名は同じで、双方が䞡方を own ず刀定する。ただし飢逓は起きない —— 各セッションが実際に 1 本ぶんの到達確認を持っおおり、mark_processed は冪等なので過剰消化は䞀床目ず同じ状態を曞くだけである。曞き手の識別は閉じるのではなく諊める圢であり、同䞀アカりントで認蚌するセッションを分ける識別子が GitHub 偎に存圚しない以䞊避けられない。これを手順 2 の起祚限定に戻しお盎しおはならない。起祚者でない曞き蟌みがすべお手順 4 に戻り、消化できる䞻䜓がどこにも居ない状態に戻る。


Discussions

(→ 正本は rules/operations/main-agent-procedures.md の ## Discussions intake。倖郚由来 issue をどう読むかの制玄であり、issue management はモヌド分岐なしで Parent retains にある。サブは issue の出自が仕事に届かないため読み手が残らず、skill は削陀した)

Discussions は倖郚ナヌザヌの入口。bot が垞駐し、issue 䜜成ず issue 読蟌が可胜。コミット・コヌド倉曎はできない。

倖郚ナヌザヌが Discussions に投皿 → bot が issue を䜜成 → AI が issue から実装する。


進化

再構築・削陀・最適化はすべお蚱容する。構造の䞀貫性のみ維持する。

⚠ **GitHub.com Fallback** ⚠