7.2 KiB
作成
LocalTicketBackend によって作成されました。
Plan
Intake refinement
Readiness: implementation_ready。
既存 Ticket 00001KTRG8N9J の body/thread/artifacts を確認した。artifacts は .gitkeep のみで、thread は作成イベントのみ。新規 duplicate Ticket は作成しない。
関連確認:
- closed
00001KTR6D3C5: Lua Profile の globalyoiAPI とyoi.profile.import/extendは実装済み。この Ticket はその follow-up として成立している。 - closed
00001KTR6YVDB: LLM-facing Ticket role launch prompt prose はresources/prompts側へ移行済み。Profile に prompt / workflow 文言を埋め込まない非目標と整合している。 - closed
00001KTNQK1V8: role profile の feature/tool policy は明示 feature flags として整理済み。現在の.yoi/profiles/*.luaから builtin role profiles へ移す対象が明確。 - closed
00001KTG16J8S/00001KTG16J8R: Ticket role launch config は明示 concrete profile selector を要求する方針で、.yoi/ticket.config.tomlのproject:*selector をbuiltin:*selector へ移行する要件と整合している。
現在の workspace 状態として、.yoi/ticket.config.toml は project:intake / project:orchestrator / project:coder / project:reviewer を参照し、.yoi/profiles.toml と .yoi/profiles/*.lua が role profiles を定義している。resources/profiles/default.lua は global yoi style で、builtin role profiles の base として使える前提がある。
Blocking open questions: なし。
Implementation latitude:
.yoi/profiles.toml/.yoi/profiles/*.luaを削除するか、builtin override sample として残すかは実装時に判断してよい。ただし残す場合は project override としての意味を明確にし、実装報告に理由を残す。- exact な test 配置は実装時に選んでよいが、builtin registry/resolver と Ticket role launcher/config の回帰を両方カバーすること。
Risk flags / reviewer focus: profile-manifest, runtime-resource, authority-boundary, tool-surface, role-launch-config, prompt-boundary, packaging-resource。
Escalation conditions:
- builtin role profile に resolved Manifest、runtime-bound field、concrete delegated scope/path、Pod/session 固有情報を入れる必要が出た場合。
- role workflow / LLM-facing prompt 文言を Profile へ移す必要が出た場合。
project:*override semantics や existing registry selector semantics を壊す必要が出た場合。- role profiles の tool/feature policy を現行より広く grant する必要が出た場合。
Validation focus:
builtin:companion/builtin:intake/builtin:orchestrator/builtin:coder/builtin:reviewerが resolver で解決できること。.yoi/ticket.config.tomlの role selectors が builtin selectors になり、Ticket role launcher が起動計画を作れること。- manifest crate の profile tests と、必要なら client Ticket role tests を更新すること。
- runtime resource / packaging に触れるため、完了前に
nix build .#yoiまで確認すること。
Intake summary
既存 Ticket の body/thread/artifacts と関連 closed Tickets、現在の .yoi/ticket.config.toml / .yoi/profiles* / resources/profiles/default.lua を確認した。新規 duplicate は作成しない。Ticket は Project role profiles を builtin profiles へ移行する concrete work item として実装可能で、blocking open questions はない。risk flags / reviewer focus は profile-manifest, runtime-resource, authority-boundary, tool-surface, role-launch-config, prompt-boundary, packaging-resource。実装時は builtin selector 解決、role launcher/config、現行 feature/tool policy 維持、project-local profile 残存理由、nix build .#yoi まで確認する。
State changed
Intake refinement により要件・受け入れ条件・invariants・implementation latitude・validation focus が揃ったため、Orchestrator が routing できる状態として ready にする。
Decision
Decision: builtin role profile と project-specific parameter の分離
00001KTRG8N9J の実装方針として、builtin role profiles へ移す対象は role-level feature/tool policy と reusable Profile defaults に限定する。現行 project-local profiles をそのまま完全コピーして builtin 化するのではなく、Yoi の role contract / safety boundary と、この workspace 固有の dogfooding parameter を分離する。
Builtin 化してよいもの:
- role ごとの tool surface / feature policy。
- Intake: Ticket 基本操作あり、Pods / ticket orchestration / Task なし。
- Orchestrator: Ticket lifecycle / ticket orchestration / Pods を持てる。
- Coder: 実装用 profile として、実際の権限は launch 側の委譲 scope に従う。
- Reviewer: review 用で、orchestration / broad lifecycle 操作は持たない。
- Companion: 相談・状況把握用で、実装・orchestration 権限を持たない。
- role が持つべき抽象 scope の姿勢。ただし concrete path、Pod 名、session state、resolved Manifest、runtime-bound field は含めない。
builtin:defaultから継承できる Yoi の標準運用値。- role の
slug/ description / feature flags。 - global
yoistyle の Profile authoring。LLM-facing prompt prose や workflow 本体は Profile に入れない。
Project/user config 側に残すべきもの:
ticket.languageや worker language など、この repository の運用言語設定。- exact model/provider pin。例:
codex-oauth/gpt-5.5は dogfooding 運用値であり、role contract そのものではない。 - web provider / secret ref。例: Brave provider や
api_key_secretは環境依存。 - Ticket backend root、Ticket language、workflow mapping、project-specific workflow override。
- 公開前 dogfooding のための一時的な高 reasoning / 特定 model などの project-local override。
実装上の期待:
- builtin role profiles は「この repository 専用の完成済み Profile」ではなく、
builtin:defaultを base にした role policy preset として扱う。 .yoi/ticket.config.tomlの role selector はbuiltin:intakeなどへ移行してよいが、project 固有の language/backend/workflow 設定は config 側に残す。- project-local profiles を削除するか薄い override として残すかは実装時に判断してよい。ただし残す場合は、builtin role contract ではなく project override である理由を実装報告に残す。
State changed
Ticket を workspace-panel が queued にしました。