diff --git a/.yoi/workflow/auto-maintain.md b/.yoi/workflow/auto-maintain.md deleted file mode 100644 index 7dcc45f5..00000000 --- a/.yoi/workflow/auto-maintain.md +++ /dev/null @@ -1,148 +0,0 @@ ---- -description: TODO / tickets / docs / git history から次の作業候補を見繕い、課題発見や方針決定を半自動でイテレーションする WIP maintainer workflow -model_invokation: false -user_invocable: true -requires: [] ---- -# Auto Maintain Workflow (WIP) - -yoi を AI maintainer として運用するための半自動 loop。TODO / tickets から「今進められそうな作業」を選ぶだけでなく、課題の発見、設計判断の切り分け、次に人間へ戻すべき問いの整理までを扱う。 - -これは unattended 自動開発ではない。実装の並列委譲は `multi-agent-workflow`、worktree の機械的作成は `worktree-workflow` に任せる。本 Workflow はその前段として、何を進めるべきか、何をまだ決めるべきか、下位 orchestrator にどの intent packet を渡すべきかを整理する。 - -参照: - -- `docs/plan/ai-maintainer.md` -- `tickets/auto-maintain-workflow.md` - -## 位置づけ - -AI maintainer の目的は、コードを書くこと自体ではなく、プロジェクト状態を前に進めることである。 - -この Workflow は WIP として、以下を行う。 - -- TODO / tickets / docs / git history を読んで現在地を把握する。 -- 実装可能な ticket と、方針決定が必要な ticket を分ける。 -- 小さく実装できる候補を提案する。 -- 複数 ticket からなる作業群は、下位 orchestrator に任せる単位として整理する。 -- 設計相談が必要な論点を人間に戻す。 -- 運用上の問題や繰り返し発生する詰まりを report / ticket / workflow 改訂候補として整理する。 - -## 非目標 - -現時点では以下をしない。 - -- 常駐 scheduler として自動実行する。 -- 人間の合意なしに新規 ticket を作る。 -- 人間の合意なしに既存 ticket を大幅変更する。 -- 人間の合意なしに ticket 完了削除を行う。 -- push する。 -- Workflow を自律生成・自律改訂する。 -- scope / permission / history persistence / prompt context 加工原則に関わる判断を勝手に決める。 - -## 入力として読むもの - -必要に応じて以下を読む。 - -1. `TODO.md` -2. `tickets/*.md` -3. `docs/plan/` -4. `docs/report/` -5. `git log --oneline` / ticket file の git history -6. 既存 worktree / branch 状態 -7. 最近の失敗や通知、ユーザーからの観測 - -TODO と ticket の不整合を見つけたら、勝手に修正せず、まず報告する。ただしユーザーが明示的に「直して」と言った場合は Mode 1 として整理してよい。 - -## 分類 - -候補を以下に分ける。 - -### A. 実装委譲可能 - -- 要件と完了条件が具体的。 -- 影響範囲が限定的。 -- test / build で確認できる。 -- 大きな設計判断が不要。 -- scope を狭く切れる。 - -この場合は、人間に候補として提示する。人間が実行を許可したら `$user/multi-agent-workflow` に進む。複数 ticket や連続した作業群では、最上位 Pod が直接 coder を抱えず、下位 orchestrator に intent packet を渡して coder / reviewer sibling loop を管理させる。 - -### B. 方針決定が必要 - -- 複数の設計方針が自然に導ける。 -- protocol / permission / scope / persistence / prompt context に触れる。 -- UX の仕様が未確定。 -- 既存 ticket の要件が古い。 - -この場合は、実装せず、決めるべき問いを短く提示する。 - -### C. ticket 整理が必要 - -- TODO にあるが ticket がない。 -- ticket があるが TODO にない。 -- 完了済みに見えるが残っている。 -- ticket の前提が変わっている。 - -この場合は、不整合と修正案を提示する。修正は人間の許可後に行う。 - -### D. report / workflow 改善候補 - -- 同じ tool 問題が繰り返し出る。 -- Workflow の指示が曖昧で実装 Pod が迷った。 -- coder / reviewer / orchestrator の責務が混ざり、親 Pod が細かい code review に戻ってしまった。 -- AI が過剰に Task tool を使うなど、運用上の癖が出た。 -- 通知や Pod completion tracking など、開発基盤の不足が観測された。 - -この場合は、すぐ ticket 化するか、`docs/report/` に観測として残すか、人間に確認する。 - -## 半自動 iteration - -1. 状態把握 - - TODO / tickets / git status を読む。 - - 最近完了した流れや未完了 branch を確認する。 - -2. 候補抽出 - - 実装可能そうな ticket を 2〜5 件挙げる。 - - correctness / developer experience / user-visible UX / cleanup で分類する。 - -3. 推奨順位 - - blocking correctness を最優先。 - - 実害が出ている運用問題を次点。 - - 小さく完了できる UX / cleanup を次点。 - - 大きな設計変更は方針相談に回す。 - -4. 人間への提示 - - 「次に進めるなら X」を1つ推奨する。 - - 理由を短く述べる。 - - 実装委譲する場合の scope / test 方針を添える。 - - 複数 ticket の作業群なら、下位 orchestrator に任せる単位として提示する。 - -5. 実行への接続 - - 人間が「進めて」と言ったら `$user/multi-agent-workflow` に接続する。 - - 単発 ticket か、下位 orchestrator に任せる ticket 群かを明示する。 - - 下位 orchestrator に渡す intent / requirements / invariants / non-goals / escalation 条件を短くまとめる。 - - worktree 作成は `$user/worktree-workflow` に従う。 - -## エスカレーション基準 - -以下では実装に進まず、人間へ戻す。 - -- ticket の要件から複数の設計方針が自然に導ける。 -- 長期構造、crate boundary、protocol、permission、scope、history persistence に触れる。 -- prompt context 加工原則に関わる。 -- 新 ticket の作成、既存 ticket の大幅変更、ticket 完了削除について合意がない。 -- test 不能、再現不能、または作業範囲外の不具合に遭遇した。 -- WorkItem / Thread / Lease / maintainer state など、まだ設計中の概念が必要になる。 -- 下位 orchestrator に委譲するには intent / invariant / escalation 条件が曖昧すぎる。 - -## まだ固定しないもの - -以下は `docs/plan/ai-maintainer.md` の上位設計に残し、本 Workflow では詳細を固定しない。 - -- WorkItemStore / LeaseStore。 -- operation inbox / trial log。 -- QA feedback を ticket / review / report のどれに落とすか。 -- AI 自身の feedback を Knowledge / report / ticket / workflow 改訂のどれにするか。 -- maintainer doctor。 -- reviewer Pod の評価基準の機械化。 diff --git a/.yoi/workflow/multi-agent-workflow.md b/.yoi/workflow/multi-agent-workflow.md index 10d637f7..0e2435c2 100644 --- a/.yoi/workflow/multi-agent-workflow.md +++ b/.yoi/workflow/multi-agent-workflow.md @@ -8,7 +8,7 @@ requires: [] yoi を yoi で開発する際の、worktree + coder Pod + 外部 reviewer Pod + orchestrator Pod の標準フロー。これは **最上位 Pod が細かい code review を抱えず、下位 orchestrator が実装と外部レビューの loop を完了状態まで運ぶためのフロー** である。 -worktree の機械的作成手順は `$user/worktree-workflow`、実装前の要件同期・反証 preflight は `$user/ticket-preflight-workflow`、ticket 候補選定や方針探索の半自動 loop は `$user/auto-maintain` に分ける。 +worktree の機械的作成手順は `$user/worktree-workflow`、ユーザー依頼の Ticket 化は `$user/ticket-intake-workflow`、Ticket の next action 分類は `$user/ticket-orchestrator-routing`、実装前の要件同期・反証 preflight は `$user/ticket-preflight-workflow` に分ける。 この Workflow は、対象 ticket が implementation-ready であることを前提にする。設計境界・仕様・authority boundary が未同期の場合は、worktree 作成や coder Pod 起動の前に `ticket-preflight-workflow` を通す。 @@ -297,10 +297,10 @@ Dirty state: ## この Workflow で扱わないもの -以下は `$user/auto-maintain` または別の設計相談で扱う。 +以下は `$user/ticket-intake-workflow`、`$user/ticket-orchestrator-routing`、または別の設計相談で扱う。 -- ticket 候補を見繕うこと。 -- 新規 ticket 作成判断。 -- QA feedback / AI feedback を ticket / report / workflow に落とす判断。 -- 長期 maintainer loop / WorkItemStore / LeaseStore の設計。 +- ユーザー依頼を Ticket 化すること。 +- Ticket の next action を分類すること。 +- QA feedback / AI feedback を Ticket / report / workflow に落とす判断。 +- 長期 maintainer loop / scheduler / LeaseStore の設計。 - reviewer Pod の品質評価を機械的に採点する仕組み。 diff --git a/.yoi/workflow/ticket-intake-workflow.md b/.yoi/workflow/ticket-intake-workflow.md index 2489bba7..9f9e7fdd 100644 --- a/.yoi/workflow/ticket-intake-workflow.md +++ b/.yoi/workflow/ticket-intake-workflow.md @@ -268,5 +268,4 @@ Ticket の body は Markdown/freeform を維持する。すべてを strict sche - `ticket-preflight-workflow`: needs_preflight が true、または implementation_ready か不安な場合に接続する。 - `multi-agent-workflow`: Orchestrator が implementation_ready と判断した後に接続する。 -- `auto-maintain`: 候補抽出や maintenance loop から Intake に接続できる。 - `ticket-orchestrator-routing`: この Workflow が作った Ticket を routing する後続 Workflow。 diff --git a/work-items/open/20260527-000001-auto-maintain-workflow/artifacts/.gitkeep b/work-items/closed/20260527-000001-auto-maintain-workflow/artifacts/.gitkeep similarity index 100% rename from work-items/open/20260527-000001-auto-maintain-workflow/artifacts/.gitkeep rename to work-items/closed/20260527-000001-auto-maintain-workflow/artifacts/.gitkeep diff --git a/work-items/open/20260527-000001-auto-maintain-workflow/item.md b/work-items/closed/20260527-000001-auto-maintain-workflow/item.md similarity index 99% rename from work-items/open/20260527-000001-auto-maintain-workflow/item.md rename to work-items/closed/20260527-000001-auto-maintain-workflow/item.md index 3dc5ce86..2f5daa52 100644 --- a/work-items/open/20260527-000001-auto-maintain-workflow/item.md +++ b/work-items/closed/20260527-000001-auto-maintain-workflow/item.md @@ -2,12 +2,12 @@ id: 20260527-000001-auto-maintain-workflow slug: auto-maintain-workflow title: 半自動開発運用 Workflow -status: open +status: closed kind: task priority: P2 labels: [migrated] created_at: 2026-05-27T00:00:01Z -updated_at: 2026-05-27T00:00:01Z +updated_at: 2026-06-05T15:56:29Z assignee: null legacy_ticket: tickets/auto-maintain-workflow.md --- diff --git a/work-items/closed/20260527-000001-auto-maintain-workflow/resolution.md b/work-items/closed/20260527-000001-auto-maintain-workflow/resolution.md new file mode 100644 index 00000000..7ef9e626 --- /dev/null +++ b/work-items/closed/20260527-000001-auto-maintain-workflow/resolution.md @@ -0,0 +1,25 @@ +The old Auto Maintain workflow is retired and removed. + +Resolution: + +- Deleted `.yoi/workflow/auto-maintain.md`. +- Closed this Ticket as superseded by the newer Ticket-based orchestration workflow split: + - `ticket-intake-workflow` + - `ticket-orchestrator-routing` + - `ticket-preflight-workflow` + - `multi-agent-workflow` +- Updated `multi-agent-workflow` to point to Ticket Intake / Orchestrator Routing / Preflight instead of `$user/auto-maintain`. +- Updated `ticket-intake-workflow` to remove the obsolete auto-maintain connection. +- Updated `prompt-eval-metrics` so future prompt/workflow evaluation targets the current Ticket workflows or worktree workflow instead of `/auto-maintain`. + +Rationale: + +`auto-maintain` had become a broad and unstable WIP workflow with old assumptions around TODO/tickets and maintenance loops. Keeping it resident risks encouraging large implicit automation and bypassing the clearer gates now provided by Ticket Intake, Ticket Orchestrator Routing, Ticket Preflight, and Multi-agent Worktree Workflow. + +Future maintainer/scheduler/lease behavior should be designed as explicit follow-up work, not revived through the deleted auto-maintain workflow. + +Validation: + +- `git diff --check` +- `./tickets.sh doctor` +- open workflow/docs search no longer finds `auto-maintain` references outside this closed historical Ticket context. diff --git a/work-items/closed/20260527-000001-auto-maintain-workflow/thread.md b/work-items/closed/20260527-000001-auto-maintain-workflow/thread.md new file mode 100644 index 00000000..5ab09dd9 --- /dev/null +++ b/work-items/closed/20260527-000001-auto-maintain-workflow/thread.md @@ -0,0 +1,40 @@ + + +## Migrated + +Migrated from tickets/auto-maintain-workflow.md. No legacy review file was present at migration time. + +--- + + + +## Closed + +The old Auto Maintain workflow is retired and removed. + +Resolution: + +- Deleted `.yoi/workflow/auto-maintain.md`. +- Closed this Ticket as superseded by the newer Ticket-based orchestration workflow split: + - `ticket-intake-workflow` + - `ticket-orchestrator-routing` + - `ticket-preflight-workflow` + - `multi-agent-workflow` +- Updated `multi-agent-workflow` to point to Ticket Intake / Orchestrator Routing / Preflight instead of `$user/auto-maintain`. +- Updated `ticket-intake-workflow` to remove the obsolete auto-maintain connection. +- Updated `prompt-eval-metrics` so future prompt/workflow evaluation targets the current Ticket workflows or worktree workflow instead of `/auto-maintain`. + +Rationale: + +`auto-maintain` had become a broad and unstable WIP workflow with old assumptions around TODO/tickets and maintenance loops. Keeping it resident risks encouraging large implicit automation and bypassing the clearer gates now provided by Ticket Intake, Ticket Orchestrator Routing, Ticket Preflight, and Multi-agent Worktree Workflow. + +Future maintainer/scheduler/lease behavior should be designed as explicit follow-up work, not revived through the deleted auto-maintain workflow. + +Validation: + +- `git diff --check` +- `./tickets.sh doctor` +- open workflow/docs search no longer finds `auto-maintain` references outside this closed historical Ticket context. + + +--- diff --git a/work-items/open/20260527-000001-auto-maintain-workflow/thread.md b/work-items/open/20260527-000001-auto-maintain-workflow/thread.md deleted file mode 100644 index fe35c9a7..00000000 --- a/work-items/open/20260527-000001-auto-maintain-workflow/thread.md +++ /dev/null @@ -1,7 +0,0 @@ - - -## Migrated - -Migrated from tickets/auto-maintain-workflow.md. No legacy review file was present at migration time. - ---- diff --git a/work-items/open/20260527-000010-prompt-eval-metrics/item.md b/work-items/open/20260527-000010-prompt-eval-metrics/item.md index 9bf6f1f7..9f236794 100644 --- a/work-items/open/20260527-000010-prompt-eval-metrics/item.md +++ b/work-items/open/20260527-000010-prompt-eval-metrics/item.md @@ -155,7 +155,7 @@ Claude Code 版の `tool_uses` を、insomnia では tool 種別ごとの偏り - 評価 event schema が docs または ticket 内で定義されている - eval event を memory consolidation / usage metrics / Workflow improvement offer / `model_invokation` 判断へ接続する方針が文書化されている - 既存の Workflow 自動生成禁止・history に commit されない context input 禁止・memory consolidation 方針に反していない -- `/auto-maintain` または `/worktree-workflow` のどちらか 1 件を対象に、構造審査または小規模 evaluator Pod 試走を行い、結果を記録している +- `ticket-intake-workflow` / `ticket-orchestrator-routing` / `worktree-workflow` のいずれか 1 件を対象に、構造審査または小規模 evaluator Pod 試走を行い、結果を記録している ## 参照 @@ -163,4 +163,4 @@ Claude Code 版の `tool_uses` を、insomnia では tool 種別ごとの偏り - `docs/plan/workflow.md` - `docs/plan/memory.md` - `tickets/memory-usage-metrics.md` -- `tickets/auto-maintain-workflow.md` +- `ticket-intake-workflow.md` / `ticket-orchestrator-routing.md`