218 lines
10 KiB
Markdown
218 lines
10 KiB
Markdown
<!-- event: create author: "yoi ticket" at: 2026-06-10T07:29:13Z -->
|
||
|
||
## 作成
|
||
|
||
LocalTicketBackend によって作成されました。
|
||
|
||
---
|
||
|
||
<!-- event: intake_summary author: ticket-intake at: 2026-06-10T07:41:49Z -->
|
||
|
||
## Intake summary
|
||
|
||
既存 Ticket を確認し、`crates/client/src/ticket_role.rs` の `build_launch_prompt` / `TicketIntakeHandoff::append_prompt_lines` / Orchestrator・Coder・Reviewer execution guidance に LLM-facing prompt prose の直書きがあること、および `resources/prompts` 側に既存 prompt catalog があることを確認した。要件・受け入れ条件・非目標は実装判断に十分で、未決定の blocking question はない。readiness: implementation_ready。risk_flags: [prompt-context, runtime-resource, role-launch, override-semantics, workflow-boundary]。実装時は Ticket role launch の semantic を維持し、runtime 値の bounded/sectioned 埋め込みと user override 可能性を壊さず、残す hardcoded 文言が LLM prompt ではない理由を thread/implementation report に記録すること。関連参考: closed `00001KTCDHFPG`(Ticket role config), closed `00001KSTRAW70`(prompt catalog を使った tool description), planning `00001KSKBPAXR`(内部 Worker/Pod prompt の将来 Workflow 化)。
|
||
|
||
---
|
||
|
||
<!-- event: state_changed author: ticket-intake at: 2026-06-10T07:41:49Z from: planning to: ready reason: intake_ready field: state -->
|
||
|
||
## State changed
|
||
|
||
Intake により要件同期済み。blocking open question はなく、Orchestrator が routing 可能な concrete work item として ready にする。
|
||
|
||
---
|
||
|
||
<!-- event: state_changed author: workspace-panel at: 2026-06-10T07:49:23Z from: ready to: queued reason: queued field: state -->
|
||
|
||
## State changed
|
||
|
||
Ticket を `workspace-panel` が queued にしました。
|
||
|
||
|
||
---
|
||
|
||
<!-- event: state_changed author: "yoi ticket" at: 2026-06-10T07:59:33Z from: queued to: inprogress reason: cli_state field: state -->
|
||
|
||
## State changed
|
||
|
||
State changed to `inprogress`.
|
||
|
||
|
||
---
|
||
|
||
<!-- event: decision author: hare at: 2026-06-10T07:59:33Z -->
|
||
|
||
## Decision
|
||
|
||
Accepting implementation after workspace inspection. Expected overlap with TUI model setup wizard is low, so route in parallel in a dedicated worktree.
|
||
|
||
|
||
---
|
||
|
||
<!-- event: implementation_report author: hare at: 2026-06-10T08:11:58Z -->
|
||
|
||
## Implementation report
|
||
|
||
Implemented directly in worktree .worktree/prompt-resource-centralization because Pod-management tools are not available in this API session.\n\nBranch/commit:\n- prompt-resource-centralization / 342d5cf refactor: move ticket role prompts to resources\n\nSummary:\n- Moved Ticket role launch guidance strings from crates/client/src/ticket_role.rs into resources/prompts/ticket_role/*.md.\n- Added workspace/user override lookup for ticket_role prompt fragments before falling back to embedded resources.\n- Kept Rust code responsible for runtime composition, bounded dynamic fields, and segment assembly.\n- Added regression coverage for workspace prompt override behavior.\n\nValidation:\n- cargo fmt\n- cargo test -p client ticket_role --lib\n- git diff --check\n- cargo check -p client\n\nPending:\n- External review/merge validation not yet performed.\n- TUI model setup wizard worktree exists but implementation has not started.
|
||
|
||
|
||
---
|
||
|
||
<!-- event: plan author: orchestrator at: 2026-06-10T09:00:04Z -->
|
||
|
||
## Plan
|
||
|
||
Routing update: review_needed
|
||
|
||
Reason:
|
||
- Implementation report exists for branch `prompt-resource-centralization` / commit `342d5cf8`, but independent review and merge validation are not yet recorded.
|
||
|
||
Evidence checked:
|
||
- Ticket body/thread/artifacts and relation/orchestration-plan records.
|
||
- Worktree status for `.worktree/prompt-resource-centralization` is clean and branch has commit `342d5cf8` over `develop`.
|
||
- Visible Pods showed no existing child reviewer.
|
||
|
||
Next action:
|
||
- Spawned branch-local reviewer Pod `reviewer-prompt-resource-centralization` with read-only scope over the worktree and this Ticket. Reviewer is asked for approve/request_changes, blockers, notes, and focused validation evidence.
|
||
|
||
Boundary:
|
||
- This is branch-local review evidence only; no main-branch Ticket approval, merge, close, or cleanup is recorded by this routing step.
|
||
|
||
---
|
||
|
||
<!-- event: review author: reviewer-prompt-resource-centralization at: 2026-06-10T09:06:45Z status: approve -->
|
||
|
||
## Review: approve
|
||
|
||
Branch-local review verdict: approve
|
||
|
||
Evidence:
|
||
- Reviewed branch diff from merge-base `76165b47d664cb02a79c16272fbb5f8377a693bb` against `develop`.
|
||
- Verified production `crates/client/src/ticket_role.rs` no longer hardcodes the large LLM-facing Ticket role launch / intake handoff / orchestrator / coder / reviewer prompt prose; prompt fragments now live under `resources/prompts/ticket_role/*.md`.
|
||
- Verified runtime values remain sectioned/bounded and resource lookup order is workspace `.yoi/prompts/ticket_role/*.md` -> user prompts dir -> builtin embedded resource.
|
||
- Verified existing semantics and tests cover representative builtin prompt generation and workspace override behavior.
|
||
|
||
Validation run by reviewer:
|
||
- `cargo test -p client ticket_role --lib` passed.
|
||
- `git diff --check $(git merge-base HEAD develop)..HEAD` passed.
|
||
- `nix build .#yoi` passed.
|
||
|
||
Non-blocking notes:
|
||
- Dedicated user-level prompt override test could be added later, but workspace override exercises the same loader path sufficiently for this change.
|
||
- Prompt text fragments remain in test assertions only; this is not production prompt hardcoding.
|
||
|
||
This is branch-local review evidence; final main-branch approval/close still belongs to merge-completion.
|
||
|
||
---
|
||
|
||
<!-- event: implementation_report author: orchestrator at: 2026-06-10T09:07:14Z -->
|
||
|
||
## Implementation report
|
||
|
||
Merge-ready dossier for merge-completion
|
||
|
||
Ticket id: `00001KTR6YVDB`
|
||
Branch/worktree: `prompt-resource-centralization` / `.worktree/prompt-resource-centralization`
|
||
Commits: `342d5cf8 refactor: move ticket role prompts to resources`
|
||
|
||
Intent / invariant check:
|
||
- Move LLM-facing Ticket role launch prompt prose out of Rust hardcoding into `resources/prompts`-managed resources.
|
||
- Preserve runtime dynamic composition, bounded fields, role launch semantics, and override behavior.
|
||
- Keep workflow markdown authority and avoid moving UI/diagnostic/protocol literals unnecessarily.
|
||
|
||
Implementation summary:
|
||
- `crates/client/src/ticket_role.rs` now loads Ticket role prompt fragments from `resources/prompts/ticket_role/*.md` with workspace/user/builtin fallback.
|
||
- Runtime values remain assembled by Rust as sectioned/bounded context.
|
||
- Regression coverage includes resource-backed launch prompt generation and workspace override behavior.
|
||
|
||
Coder/reviewer evidence:
|
||
- Implementation report recorded branch/commit and validation: `cargo fmt`, `cargo test -p client ticket_role --lib`, `git diff --check`, `cargo check -p client`.
|
||
- Branch-local reviewer Pod `reviewer-prompt-resource-centralization` approved.
|
||
- Reviewer validation: `cargo test -p client ticket_role --lib`, `git diff --check $(git merge-base HEAD develop)..HEAD`, `nix build .#yoi` all passed.
|
||
|
||
Blockers fixed or rejected findings:
|
||
- No blockers.
|
||
- Non-blocking user-level override test suggestion rejected for this change because workspace override covers the same loader path sufficiently.
|
||
|
||
Residual risks:
|
||
- Low; resource packaging and prompt-resource lookup are the main risk, covered by reviewer `nix build .#yoi` and focused tests.
|
||
|
||
Dirty state:
|
||
- Routing/review records were committed separately as `41f74490 ticket: record routing progress`; main workspace is expected clean before merge.
|
||
|
||
Parent/human decision needs:
|
||
- User requested inprogress消化; proceed with authorized merge-completion for this inprogress Ticket.
|
||
|
||
---
|
||
|
||
<!-- event: review author: orchestrator at: 2026-06-10T09:08:18Z status: approve -->
|
||
|
||
## Review: approve
|
||
|
||
Main-branch review/merge-completion approval.
|
||
|
||
Verified before merge:
|
||
- Merge-ready dossier matched branch `prompt-resource-centralization`, worktree `.worktree/prompt-resource-centralization`, and implementation commit `342d5cf8`.
|
||
- Branch-local independent review approved with no blockers.
|
||
- Main workspace dirty state was limited to committed Ticket routing/dossier records.
|
||
|
||
Merged:
|
||
- `git merge --no-ff prompt-resource-centralization -m "merge: prompt resource centralization"`
|
||
- Merge commit: `9aaa3232 merge: prompt resource centralization`
|
||
|
||
Post-merge validation:
|
||
- `cargo fmt --check` passed.
|
||
- `git diff --check` passed.
|
||
- `cargo test -p client ticket_role --lib` passed.
|
||
- `target/debug/yoi ticket doctor` passed.
|
||
- typed `TicketDoctor` reported 0 errors and 3 pre-existing diagnostics.
|
||
- `nix build .#yoi` passed.
|
||
|
||
Result: approve.
|
||
|
||
---
|
||
|
||
<!-- event: state_changed author: orchestrator at: 2026-06-10T09:08:18Z from: inprogress to: done reason: merged_and_validated field: state -->
|
||
|
||
## State changed
|
||
|
||
Merged branch `prompt-resource-centralization` with merge commit `9aaa3232`; branch-local review approved and post-merge validation passed (`cargo fmt --check`, `git diff --check`, `cargo test -p client ticket_role --lib`, `target/debug/yoi ticket doctor`, `nix build .#yoi`).
|
||
|
||
---
|
||
|
||
<!-- event: state_changed author: hare at: 2026-06-10T09:08:26Z from: done to: closed reason: closed field: state -->
|
||
|
||
## State changed
|
||
|
||
Ticket を closed にしました。
|
||
|
||
|
||
---
|
||
|
||
<!-- event: close author: hare at: 2026-06-10T09:08:26Z status: closed -->
|
||
|
||
## 完了
|
||
|
||
完了しました。
|
||
|
||
実施内容:
|
||
- Branch `prompt-resource-centralization` を `develop` に `--no-ff` merge しました。
|
||
- Merge commit: `9aaa3232 merge: prompt resource centralization`
|
||
- LLM 向け Ticket role launch prompt prose は `crates/client/src/ticket_role.rs` の production hardcoding から `resources/prompts/ticket_role/*.md` へ移動されました。
|
||
- Rust 側は runtime dynamic fields の sectioned/bounded composition と workspace/user/builtin prompt resource lookup を担当します。
|
||
- Workspace prompt override の regression coverage が追加されています。
|
||
|
||
確認:
|
||
- Branch-local reviewer `reviewer-prompt-resource-centralization` が approve。
|
||
- `cargo fmt --check` passed。
|
||
- `git diff --check` passed。
|
||
- `cargo test -p client ticket_role --lib` passed。
|
||
- `target/debug/yoi ticket doctor` passed。
|
||
- typed `TicketDoctor` は 0 errors / 3 pre-existing diagnostics。
|
||
- `nix build .#yoi` passed。
|
||
|
||
残作業:
|
||
- なし。user-level prompt override 専用 test は将来の追加余地として non-blocking note に留めました。
|
||
|
||
---
|