Skip to content

spec(delegation): branch-create ownership split drops the paired issue-assignee and in-progress steps #1630

Description

@liplus-lin-lay

目的

issue の assignee 付与と in-progress ラベルが、実運用でほぼ発火していない。原因は「発火条件を忘れる」ではなく、その手順を持つ skill を読めない側が、その手順の相方だけを実行しているという所有権の割れ目にあると見ている。恒久的に発火する形へ直したい。

前提(2026-08-01 観測)

skills/operations-on-branch/SKILL.md の Branch creation は 2 行が対になっている:

command  = gh issue develop {issue_number} -R {owner}/{repo} --name {session-branch} --base main
assignee = gh issue edit {issue_number} -R {owner}/{repo} --add-assignee "@me"

加えて同 skill の timing tiers が NOW -> label=in-progress + branch create を定めている。

一方 adapter/claude/CLAUDE.md Rules は Main never reads operations skills directly when subagent is available. を定めており、さらに同ファイルの Worktree lifecycle は step 1 として Create branch: gh issue develop を main agent の所有物としている。skills/task-subagent-delegation/SKILL.md Rules は auto / semi_auto で subagent 側の実行項目に branch を挙げている。branch 作成の所有権が 2 箇所に書かれており、serial delegation(worktree 不使用)でどちらが実行するかが決まっていない。

実測: github-rag-mcp #188 で親が gh issue develop を実行し、対の assignee 行と in-progress 付与が落ちた。同リポジトリの issue は open / closed を通じて assignee がゼロ件。対照的に PR の assignee は skills/operations-on-pr-creation/SKILL.md 側にあるため直近 5 本すべてに付いている(PR 作成は subagent が実行し、subagent は skill を読める)。

制約

  • Main never reads operations skills directly when subagent is available は維持する(main の文脈を操作手順で埋めないための規則であり、これを緩めると別の問題が出る)
  • 「親が忘れないようにする」形の解(注意書き・チェックリスト)は不可。rules/model/subtractive-structural-beauty.md の「将来の AI による実行が保証されない手続きは、確実に実行される構造へ置き換える」に反する

検討の材料

  • serial delegation では親が branch を作らず、subagent に完全に委ねる。所有権を 1 箇所へ寄せれば対の手順は skill を読める側に揃う。worktree 使用時のみ親が作る(この場合は親が assignee も実行する必要があり、対の片方だけが main 側へ残る問題は解消しない)
  • assignee 付与を branch 作成の相方ではなく、subagent 側の state label 遷移(skills/task-subagent-state-labels/SKILL.md の in-progress 遷移)に同居させる。subagent は必ず skill を読むため発火面が揃う
  • 親が branch を作る経路が残るなら、その 2 行を operations skill ではなく adapter の Worktree lifecycle 本文(常時ロード面)へ置く

受け入れ条件

  • serial delegation と worktree 経路の双方で、branch 作成の所有者が一意に決まっている
  • issue assignee と in-progress が、その所有者が必ず読む面に書かれている
  • 「読めない側が対の片方だけ実行する」形が構造として起きない

想定変更箇所

  • adapter/claude/CLAUDE.md(Worktree lifecycle / Rules)
  • skills/operations-on-branch/SKILL.md
  • skills/task-subagent-delegation/SKILL.md または skills/task-subagent-state-labels/SKILL.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    memoメモとして開始した状態。見出しは必要なものだけでよいspecLi+の挙動に影響する仕様・ポリシー・定義

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions