yoi/.yoi/tickets/00001KTGFMW70/thread.md

18 KiB
Raw Permalink Blame History

Created

Created by LocalTicketBackend create.


Plan

Intake refinement: builtin Workflow / Knowledge resource implementation

この Ticket は新規作成せず、既存 Ticket 00001KTGFMW70 を実装可能な follow-up として更新する。関連する設計 Ticket 00001KTRKZ14C は closed で、workflow 側の builtin source / provenance / source priority / public-vs-dogfood split の判断を提供しているため、本 Ticket はその実装 follow-up として扱う。

Clarified scope

  • builtin Workflow resource と builtin Knowledge resource を runtime に同梱し、workspace に同名ファイルが無くても参照できるようにする。
  • workspace/project 側の同名 record は builtin を override できる。override / fallback は provenance とともに観測可能にする。
  • Workflow は resources/workflows/<slug>.md を builtin resource 置き場とする。これは 00001KTRKZ14C / docs/design/workflows-public-dogfood-split.md の決定に従う。
  • Knowledge は同じ resource boundary の発想で resources/knowledge/<slug>.md または既存の resource loader 構成に自然に収まる同等の明示的ディレクトリを使う。prompt fragment と混同しないこと。
  • resident / advertised workflow の集合は小さく保つ。core builtin は ticket-intake-workflowticket-orchestrator-routing、optional builtin は multi-agent-workflow、compatibility-only は ticket-preflight-workflow とする。Yoi repository dogfood workflow は public builtin semantics を同名で shadow しない。

Acceptance criteria

  • builtin Workflow / Knowledge resource が embedded runtime resources として package build 後にも読める。
  • workspace/project resources が builtin より優先され、同名 override 時も source/provenance が list/show/launch/context で確認できる。
  • source priority は workflow design document の判断を壊さない: explicit path/file selector がある場合は最優先、workspace/project、user source が既存または明示的に実装される場合は user、builtin、explicitly enabled plugin/skill source の順を基本にする。
  • Workflow launch context には、どの workflow text が使われたかを示す source/provenance が残る。
  • Knowledge context でも builtin 由来か workspace/user override 由来かを reviewer が追える。
  • resources/prompts に workflow/knowledge prose を混在させない。
  • tests は source priority、workspace override、missing workspace file fallback、package/resource availability の少なくとも主要経路を覆う。
  • runtime resource / packaging に触れるため、完了前に nix build .#yoi または同等の flake package build を通す。

Binding decisions / invariants

  • Prompt context に hidden injection しない。Workflow / Knowledge resource を LLM context に載せる場合は、既存の history / worker context 原則に従い、turn を跨いで根拠が消える形にしない。
  • Workflow prose、Knowledge records、Prompt fragments は別の resource boundary として扱う。
  • Builtin resource の存在は workspace files の authority を奪わない。workspace override は明示的かつ provenance-visible にする。
  • Dogfood workflow semantics を public builtin slug に隠して載せない。Yoi 固有 Git/worktree/cargo/nix/merge policy は workspace-local dogfood slug または launch context 側に残す。
  • Secret / credential / private prompt を builtin Knowledge として同梱しない。

Implementation latitude

  • WorkflowSource::Builtin そのもの、または同等の typed provenance を実装してよい。
  • Workflow と Knowledge で共有 resolver を作るか、各 crate に薄く分けるかは実装判断でよい。ただし source priority / provenance の振る舞いは揃える。
  • user-level resource directory が既存実装に無い場合、まず workspace override + builtin fallback を完成させ、user source は明示的な config/storage boundary が必要なら小さく実装するか、別 follow-up に切る判断を Orchestrator にエスカレーションしてよい。

Risk flags / reviewer focus

  • risk_flags: [runtime-resource, workflow-source, knowledge-source, provenance, prompt-context, packaging]
  • Reviewer は loader/resolver の優先順位、provenance 表示、prompt context 原則、resources/prompts との混同、Nix package resource inclusion を重点確認する。

Escalation conditions

  • Knowledge 側に source-qualified selector / user-level override の public API を新設する必要があり、既存 Memory/Knowledge schema や Profile/manifest authority を変える場合。
  • Workflow slug / selector syntax を変更し、既存 /workflow invocation や .yoi/ticket.config.toml の workflow selector に互換影響が出る場合。
  • Builtin resource inclusion が Nix packaging / install layout に影響し、compile-time embed 以外の配布方式が必要になる場合。

Readiness

  • readiness: implementation_ready
  • blocking open questions: none
  • related: 00001KTRKZ14C, docs/design/workflows-public-dogfood-split.md

Intake summary

既存 Ticket 00001KTGFMW70 を重複作成せず更新した。これは closed Ticket 00001KTRKZ14C の workflow source/provenance/design 判断を受けた実装 follow-up として扱う。scope は embedded builtin Workflow / Knowledge resources、workspace/project override、provenance-visible lookup/launch/context、tests、packaging validation。blocking open question はない。risk flags / reviewer focus は runtime-resource / workflow-source / knowledge-source / provenance / prompt-context / packaging。Orchestrator は implementation_ready として queue 後に routing できるが、Knowledge user-source public API や selector syntax 変更が必要になった場合は escalation。


State changed

Intake refinement により、要件・invariants・implementation latitude・risk flags・validation focus が揃ったため、Orchestrator が routing できる状態として ready にする。実装 side effect はまだ開始しない。


State changed

Ticket を workspace-panel が queued にしました。


State changed

Queue acceptance: relation query has no blockers, orchestration-plan query has no records, unrelated planning Ticket record was committed (cd831ec4), and the remaining dirty state is this Ticket's panel queue update. The Ticket is implementation_ready based on Intake refinement and closed design Ticket 00001KTRKZ14C. Standing merge-completion authorization is in effect after reviewer approval and safe-workspace checks. Implementation side effects may proceed after this recorded acceptance.


Plan

Routing decision: implementation_ready

Reason:

  • Ticket is queued, user/panel authorized routing, relation query has no blockers, and orchestration-plan query has no records.
  • Intake refinement marks the Ticket implementation-ready and ties it to closed design Ticket 00001KTRKZ14C.
  • Workspace dirty state was checked and unrelated planning Ticket record was committed before acceptance.

Evidence checked:

  • Ticket body/thread/artifacts and Intake refinement.
  • TicketRelationQuery: no blockers.
  • TicketOrchestrationPlanQuery: no records before this routing pass.
  • Workspace/worktree/branch state: main worktree only before acceptance.
  • Relevant design context: closed workflow split design (00001KTRKZ14C) selected resources/workflows/<slug>.md, builtin source/provenance, workspace override priority, resident core/optional policy, and dogfood/public split.

IntentPacket:

  • Intent: add first-pass builtin Workflow and Knowledge resources as embedded runtime resources with provenance-visible lookup and workspace override/fallback, without requiring broad migration of current role prompt guidance.
  • Binding decisions / invariants: keep workflow/knowledge/prompt resource boundaries separate; do not hide dogfood workflow semantics under public builtin slugs; workspace records must override builtin fallback; provenance must be visible; do not inject hidden cross-turn context; do not introduce secret/private builtin Knowledge; keep existing project .yoi/workflow and Knowledge support working.
  • Requirements / acceptance criteria: explicit source-qualified builtin slug lookup; workspace fallback/override behavior; source/provenance in workflow launch context and Knowledge context/lookup; bundled resources under resources/workflows and resources/knowledge or equivalent non-prompt directories; tests for builtin lookup, override precedence, missing fallback/diagnostics, and package resource availability; nix build .#yoi before completion.
  • Implementation latitude: if user-level resource directories need new public API, implement workspace+builtin first and record user-source as follow-up; shared resolver or thin domain-specific resolvers are both acceptable if behavior is aligned.
  • Escalate if selector syntax changes break existing workflow invocation or .yoi/ticket.config.toml, or if Knowledge schema/Profile authority changes become necessary.
  • Validation: focused resolver/role launch/Knowledge tests, cargo fmt --check, git diff --check, target/debug/yoi ticket doctor, and nix build .#yoi.

Implementation report

Implementation report

Branch/worktree: builtin-workflow-knowledge-resources / .worktree/builtin-workflow-knowledge-resources Commit:

  • 2418ad33 feat: add builtin workflow resources

Summary:

  • Added embedded builtin Workflow resources under resources/workflows for:
    • ticket-intake-workflow
    • ticket-orchestrator-routing
    • multi-agent-workflow
  • Added embedded builtin Knowledge resource resources/knowledge/workflow-resource-boundary.md used by builtin workflows.
  • Added WorkflowSource::Builtin and builtin Workflow registry loading.
  • Workspace .yoi/workflow/<slug>.md records override builtin workflows by slug; skill records remain lower-priority and produce existing shadow messages.
  • Workflow system messages now include Workflow source provenance (from builtin workflow, from workspace workflow, etc.).
  • Workflow-required Knowledge resolution now falls back from workspace .yoi/knowledge/<slug>.md to builtin Knowledge resources and includes Knowledge source provenance (from workspace / from builtin).
  • Workspace Knowledge overrides builtin Knowledge for the same required slug.
  • Added/updated tests for builtin registry fallback, workspace override precedence, builtin provenance, builtin required Knowledge fallback, workspace Knowledge override, and existing workflow invocation behavior.

Validation run in branch:

  • cargo fmt --check passed.
  • cargo test -p workflow --lib passed (34 passed).
  • cargo test -p pod workflow --lib passed (8 passed).
  • cargo check -p workflow -p pod passed.
  • git diff --check passed.
  • /home/hare/Projects/yoi/target/debug/yoi ticket doctor passed.
  • nix build .#yoi passed.

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.

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 branchs 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.


Review: approve

Main-branch review/merge-completion approval.

Verified before merge:

  • Merge target matched branch builtin-workflow-knowledge-resources, worktree .worktree/builtin-workflow-knowledge-resources, and implementation commit 2418ad33.
  • Branch-local reviewer reviewer-builtin-workflow-knowledge-resources approved with no blockers.
  • Main workspace was clean before merge after restoring stale unrelated role-profile diffs and committing unrelated Ticket record updates.
  • User has standing authorization to proceed through merge-completion when reviewer approval and safety checks pass.

Merged:

  • git merge --no-ff builtin-workflow-knowledge-resources -m "merge: builtin workflow knowledge resources"
  • Merge commit: ef2099c1 merge: builtin workflow knowledge resources

Post-merge validation:

  • cargo fmt --check passed.
  • cargo test -p workflow --lib passed (34 passed).
  • cargo test -p pod workflow --lib passed (8 passed).
  • cargo check -p workflow -p pod passed.
  • git diff --check passed.
  • target/debug/yoi ticket doctor passed.
  • typed TicketDoctor reported 0 errors and 3 pre-existing diagnostics.
  • nix build .#yoi passed.

Result: approve.


State changed

Merged branch builtin-workflow-knowledge-resources with merge commit ef2099c1; branch-local reviewer approved and post-merge validation passed (cargo fmt --check, cargo test -p workflow --lib, cargo test -p pod workflow --lib, cargo check -p workflow -p pod, git diff --check, target/debug/yoi ticket doctor, typed TicketDoctor 0 errors / 3 pre-existing diagnostics, nix build .#yoi).


State changed

Ticket を closed にしました。


完了

完了しました。

実施内容:

  • embedded builtin Workflow resources を resources/workflows に追加しました。
    • ticket-intake-workflow
    • ticket-orchestrator-routing
    • multi-agent-workflow
  • embedded builtin Knowledge resource を resources/knowledge/workflow-resource-boundary.md に追加しました。
  • WorkflowSource::Builtin を追加し、builtin Workflow registry loading を実装しました。
  • Workspace .yoi/workflow/<slug>.md が同 slug の builtin workflow を override します。
  • 既存 skill shadow behavior は維持しています。
  • Workflow invocation system item に workflow source provenance を表示します。
    • from builtin workflow
    • from workspace workflow
    • etc.
  • Workflow-required Knowledge resolution は workspace .yoi/knowledge/<slug>.md を優先し、missing の場合だけ builtin Knowledge に fallback します。
  • required Knowledge system item に source provenance を表示します。
    • from workspace
    • from builtin
  • workspace Knowledge は同 slug の builtin Knowledge を override します。
  • tests を追加・更新しました。
    • builtin registry fallback
    • workspace workflow override precedence
    • builtin workflow provenance
    • builtin required Knowledge fallback
    • workspace Knowledge override
    • existing workflow invocation behavior

Merge:

  • Branch: builtin-workflow-knowledge-resources
  • Implementation commit: 2418ad33 feat: add builtin workflow resources
  • Merge commit: ef2099c1 merge: builtin workflow knowledge resources

確認:

  • Branch-local reviewer reviewer-builtin-workflow-knowledge-resources が approve。
  • cargo fmt --check passed。
  • cargo test -p workflow --lib passed34 passed
  • cargo test -p pod workflow --lib passed8 passed
  • cargo check -p workflow -p pod passed。
  • git diff --check passed。
  • target/debug/yoi ticket doctor passed。
  • typed TicketDoctor は 0 errors / 3 pre-existing diagnostics。
  • nix build .#yoi passed。

残作業:

  • Broader builtin KnowledgeQuery / user-level Workflow-Knowledge resource directories は follow-up 境界です。