-
-
Notifications
You must be signed in to change notification settings - Fork 0
subagent state machine label mechanism
2026-05-12 セッションで Anthropic Claude Code が /goal および Agent View を build-2026-05 リリースで追加したことを契機に、Li+ 側で subagent state-machine label 機構 (in-progress / done / waiting / blocked) を導入する判断を確定。subagent への label 編集権限 (state-machine label に限定) を partial 緩和する spec 変更を伴う。main 側 label 適用は best-effort / 観察モードで開始、enforcement 強化は段階的に判断する。
Anthropic 側が CLI session-local の Agent View で agent state 観測 surface を提供したのに対し、Li+ は同型な state machine を repo 永続 surface (issue label + comment) として獲得する設計判断。動機は Sheepdog Engineering の initiator 軸を AI 側に渡す方向と整合する cross-session 観測 infra の必要性。
特に以下の scenarios で価値が出る:
- CHANGES_REQUESTED 後の re-delegation (新規 subagent への handoff context)
- pause / blocked からの別 session 再開
- human review 待ち状態の cross-session 観測
旧 done label の retirement 根拠「Redundant with issue closed state」は old done (漠然と「終わった」) を前提にしたもの。新 done (役目完了、orchestration 待ち) は closed state と別軸 (closed = issue 全体決着、done = 実装フェーズ終了) なので、retirement そのものを撤回する。
- subagent label 権限緩和は state-machine lifecycle label 4 種 (
in-progress/done/waiting/blocked) に限定。type / maturity / marker / non-state lifecycle (backlog/deferred) は parent retain。 - close 操作は parent retain (変更なし)。
-
waiting/blocked遷移時は subagent が issue comment に reason を書き込む義務を負う (cross-session handoff context)。 - main 側 label 適用は mandate しない (best-effort / 観察モード)。
- 旧
doneの retirement 根拠は新 semantic で解消され、Retired Labels セクション (該当 1 行) をrules/operations/operations.mdから削除する。
採用案: 単一 done label を executor-agnostic に運用し、subagent 側のみ mandate、main 側は best-effort / 観察モード。
却下案 1 (executor-agnostic 単一 done、両者 mandate): main 側で done の fire タイミングが transient (PR open + CI green + 自レビュー → 即 merge へ continuous flow) で滑り、旧 done 廃止理由「使われなかった」の再発リスクが高い。
却下案 2 (executor 別 2 label = subagent 用 done + main 用 awaiting-merge): label vocabulary 数の増加による冗長性。Master の判断で「label の数を増やすより観察フェーズで main 適用頻度を測る」方針を採用。
却下案 3 (subagent 用のみ追加、main 側完全省略): main flow の cross-session 観測価値 (session 境界中断時の handoff) が失われる。best-effort で残すことで観察 surface を確保。
- 起票 issue: Liplus-Project/liplus-language#1276
- 関連 spec literal:
-
skills/task-subagent-delegation/SKILL.mdline 12 / 22 (subagent label 制限の現行 spec、本判断で部分緩和) -
rules/operations/operations.mdRetired Labels セクション (旧done廃止記録、本判断で削除対象) -
rules/task/task.mdLabel Definitions (Lifecycle 軸、本判断でdone/waiting/blocked追加)
-
- 関連 Decision Log:
-
sheepdog-engineering-concept(本判断の上位 concept = initiator 軸を AI 側に渡す方向)
-
- 外部 references:
- Anthropic Claude Code /goal: code.claude.com/docs/en/goal.md
- Anthropic Claude Code Agent View: code.claude.com/docs/en/agent-view.md
この Wiki は、Li+ に基づく開発・運用を支えるための情報整理空間です。
数字で始まるページは、 Li+プログラムの各レイヤーの仕様を定義するページです。
- 要求(何を満たすか)と仕様(どう振る舞うか)を一体として記述する
- 実装前に作成または更新する
- issue群から採用された要件を集約する
これらのページは 安定性と一貫性を重視して管理されます。
アルファベットで始まるページは、 Li+の構想・設定・導入手順などの参照用ページです。
- 設計思想・背景
- 設定リファレンス・インストール手順
これらのページは 必要に応じて更新・拡張されます。
リポジトリ内の rules/**/*.md(L1–L4 の常時ロード分、subdir 含む)、skills/**/SKILL.md(トリガー起動分)、adapter/claude/CLAUDE.md、adapter/claude/hooks-settings.md、adapter/claude/hooks/*.sh、adapter/codex/AGENTS.md、およびルート直下の Li+config.md、Li+update.md は、
AIやランタイムが直接読む実行用プログラム / 定義ファイルです。
-
docs/は人間向けの仕様書・要求仕様・手順書 -
rules/,skills/および adapter / update は実行時に読み込まれる本体
両者は対応しているが、役割は同じではない。
Home | 1. Model | 2. Evolution | 3. Task | 4. Operations | A. Concept
要求仕様書 (1-6)
参考文書 (A-K)
- A. Concept
- B. Configuration
- C. Update
- D. Installation
- DiDD(対話駆動開発)
- E. Li+ language
- F. Behavior-First
- G. Sheepdog Engineering
- H. Roles and Evaluation
- K. Source File Format
判断構造
- Decision Structure
- layer reorg rationale
- github app user-to-server token expiration
- sheepdog engineering concept
- prerelease tag recovery procedure
- release flip drift patterns
- Li+ long-term vision (feedback only)
- Master role as client-architect
- current architecture as concession
- Li+ license Apache-2.0 rationale
- Character_Instance evolution history
- prompt as emotion vector controller
- agentic-search five-phase refactor
- Character_Instance output-styles migration
- Li+ lightening L1 gate override
- subagent state-machine label mechanism
- LSP integration out of scope
- Character_Instance opt-in and surface scope
- parallel-subagent-eval three-axis decomposition
- parallel-subagent-eval cost acceptance
- parallel-subagent-eval model floor
- release version rule always-on relocation
- bootstrap walkthrough skip and gh install relocation
- wiki sync sidebar integrity check
- decision structure rename rationale
- decision structure industry positioning
- subtractive structural beauty framing
- Li+ authorship is collaborative
- Li+ design intent vs current limit
- Li+ history is empirical
- Master verification at runtime not spec
- rules cache fetch address table
- dialogue-evaluator scoring redesign
- Li+ always-on footprint is load-bearing
- DiDD umbrella naming
- milestone subsystem removal
- L1 brake 2 root-criteria evaluator