ticket: record builtin workflow review and companion progress intake
This commit is contained in:
parent
58666e3377
commit
fb772e29bd
|
|
@ -2,7 +2,7 @@
|
||||||
title: "Builtin Workflow and Knowledge resources"
|
title: "Builtin Workflow and Knowledge resources"
|
||||||
state: 'inprogress'
|
state: 'inprogress'
|
||||||
created_at: "2026-06-07T07:27:08Z"
|
created_at: "2026-06-07T07:27:08Z"
|
||||||
updated_at: '2026-06-11T08:46:27Z'
|
updated_at: '2026-06-11T08:50:25Z'
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-11T08:29:19Z'
|
queued_at: '2026-06-11T08:29:19Z'
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -164,3 +164,32 @@ Notes:
|
||||||
- This is a first-pass builtin resource implementation. It covers embedded builtin Workflow and Workflow-required Knowledge fallback/provenance. Broader KnowledgeQuery builtins and user-level workflow/knowledge resource directories remain follow-up boundaries if desired.
|
- This is a first-pass builtin resource implementation. It covers embedded builtin Workflow and Workflow-required Knowledge fallback/provenance. Broader KnowledgeQuery builtins and user-level workflow/knowledge resource directories remain follow-up boundaries if desired.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- event: review author: reviewer-builtin-workflow-knowledge-resources at: 2026-06-11T08:50:25Z status: approve -->
|
||||||
|
|
||||||
|
## Review: approve
|
||||||
|
|
||||||
|
Branch-local review verdict: approve
|
||||||
|
|
||||||
|
Blockers: none.
|
||||||
|
|
||||||
|
Non-blocking notes:
|
||||||
|
- The implementation keeps the intended boundaries: workflows are embedded from `resources/workflows`, required workflow Knowledge is embedded separately from `resources/knowledge`, and prompt resources are not mixed into either path.
|
||||||
|
- Workspace workflow files override builtin workflow fallback by slug, while existing skill shadow behavior remains intact.
|
||||||
|
- Required Knowledge resolution checks workspace `.yoi/knowledge/<slug>.md` first and falls back to bundled Knowledge only on missing workspace file.
|
||||||
|
- Workflow invocation/system items expose provenance for both workflow source and required Knowledge source.
|
||||||
|
- The bundled Knowledge content is public design/process context and is only inserted through recorded workflow invocation system items, not hidden cross-turn context injection.
|
||||||
|
- Broader builtin KnowledgeQuery/user-level resource directory behavior remains outside this branch’s scope, consistent with the provided scope note.
|
||||||
|
|
||||||
|
Validation run by reviewer:
|
||||||
|
- `cargo fmt --check` passed.
|
||||||
|
- `cargo test -p workflow --lib` passed.
|
||||||
|
- `cargo test -p pod workflow --lib` passed.
|
||||||
|
- `cargo check -p workflow -p pod` passed.
|
||||||
|
- `git diff --check $(git merge-base HEAD develop)..HEAD` passed.
|
||||||
|
- `/home/hare/Projects/yoi/target/debug/yoi ticket doctor` passed.
|
||||||
|
- `nix build .#yoi` passed.
|
||||||
|
|
||||||
|
No files were intentionally modified and no final main-branch Ticket approval/close was recorded by reviewer.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,10 @@ Companion が Workspace の Orchestrator 進捗を低コストで説明できる
|
||||||
- Orchestrator Pod に追加 user input / system input を送らない。
|
- Orchestrator Pod に追加 user input / system input を送らない。
|
||||||
- queued work を再提示して Orchestrator を動かす目的では使わない。
|
- queued work を再提示して Orchestrator を動かす目的では使わない。
|
||||||
- Orchestrator が idle かどうかの制御や scheduler 代替にしない。
|
- Orchestrator が idle かどうかの制御や scheduler 代替にしない。
|
||||||
|
- `Method::Notify` に `auto_run: bool` (default: true) を追加し、Companion 向けの弱い進捗通知では `auto_run: false` を使う。
|
||||||
|
- `auto_run: true` は既存挙動を維持し、idle Pod なら `RunForNotification` を staged する。
|
||||||
|
- `auto_run: false` は `NotifyBuffer` に積むだけで、idle Pod を起こさない。
|
||||||
|
- running/paused Pod では既存 drain path に従い、次の turn/resume/run で history に入る。
|
||||||
- Companion に対して、Orchestrator progress を read-only context として共有する。
|
- Companion に対して、Orchestrator progress を read-only context として共有する。
|
||||||
- active Ticket / recently handled Ticket。
|
- active Ticket / recently handled Ticket。
|
||||||
- state transition: `queued -> inprogress`、review requested、review approved、merge-ready、merged、done/closed、blocked など。
|
- state transition: `queued -> inprogress`、review requested、review approved、merge-ready、merged、done/closed、blocked など。
|
||||||
|
|
@ -44,7 +48,9 @@ Companion が Workspace の Orchestrator 進捗を低コストで説明できる
|
||||||
- secret/private context、provider errors の sensitive detail、unbounded logs を含めない。
|
- secret/private context、provider errors の sensitive detail、unbounded logs を含めない。
|
||||||
- Panel / Companion lifecycle と統合する。
|
- Panel / Companion lifecycle と統合する。
|
||||||
- Companion が live/reachable の場合に progress notice を届けるか、Companion が読むための local progress snapshot を更新する。
|
- Companion が live/reachable の場合に progress notice を届けるか、Companion が読むための local progress snapshot を更新する。
|
||||||
- Companion が stopped/missing の場合、通知で spawn/restore しない。次回 Companion 起動時に読める snapshot として扱う案を検討する。
|
- Companion が stopped/missing の場合、通知で spawn/restore しない。初期実装では persistent snapshot store は作らず、live/reachable Companion への `Notify { auto_run: false }` に限定する。
|
||||||
|
- `auto_run: false` の通知は弱い通知であり、drain 前に Pod が停止すれば失われ得ることを許容する。
|
||||||
|
- durable progress snapshot は必要性が出るまで導入しない。
|
||||||
- UI 上の通知と LLM context injection の境界を守る。
|
- UI 上の通知と LLM context injection の境界を守る。
|
||||||
- Companion へ model context として渡すなら、必ず history に残る形で渡す。
|
- Companion へ model context として渡すなら、必ず history に残る形で渡す。
|
||||||
- history に残らない transient context injection はしない。
|
- history に残らない transient context injection はしない。
|
||||||
|
|
@ -54,17 +60,17 @@ Companion が Workspace の Orchestrator 進捗を低コストで説明できる
|
||||||
|
|
||||||
## 受け入れ条件
|
## 受け入れ条件
|
||||||
|
|
||||||
- Orchestrator の Ticket 消化 progress を Companion が説明できる read-only context として受け取れる、または起動時に参照できる。
|
- Orchestrator の Ticket 消化 progress を、live/reachable Companion が `Notify { auto_run: false }` 経由の read-only weak notification として受け取れる。
|
||||||
- progress notification は Orchestrator AutoKick / re-kick を発生させない。
|
- progress notification は Orchestrator AutoKick / re-kick を発生させない。
|
||||||
- Companion が missing/stopped の場合に通知だけで自動 spawn/restore しない。
|
- Companion が missing/stopped の場合に通知だけで自動 spawn/restore せず、初期実装では persistent snapshot も作らない。
|
||||||
- Companion default profile の tool/feature policy は強化されず、実装・Ticket mutation・Pod spawn・merge authority を持たない。
|
- Companion default profile の tool/feature policy は強化されず、実装・Ticket mutation・Pod spawn・merge authority を持たない。
|
||||||
- 通知内容は bounded で、Ticket id/title/state、role pod status、short reason、artifact/path references を中心にする。
|
- 通知内容は bounded で、Ticket id/title/state、role pod status、short reason、artifact/path references を中心にする。
|
||||||
- 通知は durable/queryable state から再構成できる情報を source とし、Pod completion notification だけを authority としない。
|
- 通知内容は durable/queryable state から作るが、`auto_run: false` 通知自体は weak/best-effort として扱い、未drain状態の永続化は要求しない。
|
||||||
- Companion model context に渡す情報は history に残る形で扱われ、context-only injection にならない。
|
- Companion model context に渡す情報は history に残る形で扱われ、context-only injection にならない。
|
||||||
- Panel から、Companion が持つ Orchestrator progress context の鮮度または last updated が分かる。
|
- Panel から、Companion が持つ Orchestrator progress context の鮮度または last updated が分かる。
|
||||||
- targeted tests が追加・更新されている。
|
- targeted tests が追加・更新されている。
|
||||||
- AutoKick が発生しないこと。
|
- `Method::Notify { auto_run: false }` が idle Pod に `RunForNotification` を staged しないこと。
|
||||||
- live Companion への notice delivery または snapshot update。
|
- live Companion への `Notify { auto_run: false }` delivery。
|
||||||
- missing/stopped Companion で spawn/restore しないこと。
|
- missing/stopped Companion で spawn/restore しないこと。
|
||||||
- bounded summary generation。
|
- bounded summary generation。
|
||||||
- sensitive/unbounded content を含めないこと。
|
- sensitive/unbounded content を含めないこと。
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user