merge: workspace ticket settings

This commit is contained in:
2026-07-16 04:03:53 +09:00
18 changed files with 1089 additions and 225 deletions
-22
View File
@@ -1,22 +0,0 @@
[backend]
provider = "builtin:yoi_local"
root = ".yoi/tickets"
[ticket]
language = "Japanese"
[roles.intake]
profile = "builtin:intake"
workflow = "ticket-intake-workflow"
[roles.orchestrator]
profile = "builtin:orchestrator"
workflow = "ticket-orchestrator-routing"
[roles.coder]
profile = "builtin:coder"
workflow = "multi-agent-workflow"
[roles.reviewer]
profile = "builtin:reviewer"
workflow = "multi-agent-workflow"
@@ -0,0 +1,2 @@
{"id":"orch-plan-20260715-162205-1","ticket_id":"00001KXK9507N","kind":"accepted_plan","accepted_plan":{"summary":"Consolidate durable Ticket configuration from `.yoi/ticket.config.toml` into tracked Workspace project settings. Move Ticket backend provider/root, record language, orchestration defaults, and fixed role launch config under Workspace settings while keeping local backend/runtime operational settings separate. Preserve default `.yoi/tickets` behavior, allow narrow read-only legacy fallback/migration note, and ensure CLI, Worker Ticket tools, workspace-server Ticket endpoint, Panel/role launch paths, and tests resolve the new Workspace settings authority.","branch":"work/00001KXK9507N-ticket-workspace-settings","worktree":"/home/hare/Projects/yoi/.worktree/00001KXK9507N-ticket-workspace-settings","role_plan":"Routing-only pass under explicit workflow instruction: do not spawn role Pods until explicit follow-up. On follow-up, re-check Ticket/relation/plan/worktree state, record `queued -> inprogress`, create a dedicated worktree under `/home/hare/Projects/yoi/.worktree`, then use sibling Coder/Reviewer Pods. Orchestrator retains merge/final-validation/close/worktree-cleanup authority; per current user instruction, do not call StopPod."},"author":"orchestrator","at":"2026-07-15T16:22:05Z"}
{"id":"orch-plan-20260715-162216-2","ticket_id":"00001KXK9507N","kind":"waiting_capacity_note","note":"Routing-only workflow invocation explicitly instructed: “wait for explicit follow-up before spawning role Pods.” Ticket is implementation-ready and no blockers were found, but this pass intentionally does not transition `queued -> inprogress`, create a worktree, or spawn Coder/Reviewer Pods. Next explicit follow-up should re-check state, then accept `queued -> inprogress` before implementation side effects.","author":"orchestrator","at":"2026-07-15T16:22:16Z"}
+2 -2
View File
@@ -1,8 +1,8 @@
---
title: 'Consolidate Ticket configuration into Workspace settings'
state: 'queued'
state: 'closed'
created_at: '2026-07-15T16:18:25Z'
updated_at: '2026-07-15T16:19:31Z'
updated_at: '2026-07-15T17:51:30Z'
assignee: null
queued_by: 'workspace-panel'
queued_at: '2026-07-15T16:19:31Z'
+37
View File
@@ -0,0 +1,37 @@
Ticket configuration の Workspace settings 統合を実装・レビュー・merge・検証した。
実装内容:
- durable Ticket policy authority を `.yoi/workspace.toml [ticket]` に移動。
- tracked `.yoi/ticket.config.toml` を削除。
- Workspace `[ticket]` がない場合のみ legacy `.yoi/ticket.config.toml` を narrow read-only migration fallback として読むようにした。
- Workspace `[ticket]` が存在する場合は legacy config を無視し、二重 active authority を避ける precedence にした。
- default behavior は維持し、設定なしでは `provider = builtin:yoi_local`, `root = .yoi/tickets` を使う。
- Ticket backend provider/root、record language、orchestration defaults、fixed role launch config を Workspace settings authority に移した。
- Direct Ticket CLI / Objective config consumers / Worker Ticket feature setup / workspace-server Ticket backend endpoint / project record reader / Panel role launch availability / role launch tests を新 authority 解決へ更新。
- Panel orchestration overlay も orchestration worktree の `TicketConfig::load_workspace(worktree_root)` を使い、configured backend root と record language を尊重するよう修正。
- docs で `.yoi/ticket.config.toml` obsolete と新 `[ticket]` workspace settings shape を記録。
Review:
- 初回 review は Panel orchestration overlay が `.yoi/tickets` を hard-code している blocker で `request_changes`
- `40f21145 tui: use configured ticket root for overlay` で overlay read path を configured Ticket root に移行し、non-default root regression test を追加。
- focused re-review は `approve`
Merge / validation:
- Merge commit: `45783b74 merge: workspace ticket settings`
- Final validation passed:
- `cargo fmt --check`
- `git diff --check`
- `cargo test -p ticket`
- `cargo test -p yoi --tests`
- `cargo test -p client --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p yoi-workspace-server --lib`
- `cargo test -p tui --lib --tests`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/workspace-ticket-settings-final-validation-1784137566.txt`
Cleanup:
- Implementation worktree/branch cleanup will be performed after close commit。
- Per user instruction, `StopPod` is not used。
+357
View File
@@ -57,4 +57,361 @@ Marked ready by `yoi ticket state`.
Ticket を `workspace-panel` が queued にしました。
---
<!-- event: decision author: orchestrator at: 2026-07-15T16:22:50Z -->
## Decision
Routing decision: implementation_ready_waiting_explicit_followup
Reason:
- Ticket は Workspace project settings を Ticket configuration の durable authority にする具体的な移行作業であり、要件・受け入れ条件・migration/fallback 方針が実装可能な粒度で記録されている。
- `TicketRelationQuery(00001KXK9507N)` は 0 件で、blocking relation はない。
- `TicketOrchestrationPlanQuery(00001KXK9507N)` は事前 record なし。今回 accepted plan と waiting-capacity note を記録した。
- `TicketList(inprogress)` は 0 件、`TicketList(queued)` はこの Ticket 1 件のみ。
- Orchestrator worktree `/home/hare/Projects/yoi/.worktree/orchestration` は clean。
- ただし今回の workflow invocation は「explicit follow-up before spawning role Pods」と明示しているため、この routing pass では `queued -> inprogress`、worktree 作成、Coder/Reviewer Pod spawn は行わない。
Evidence checked:
- Ticket body / thread / artifacts。
- `.yoi/workspace.toml` and `.yoi/ticket.config.toml` current files。
- `docs/development/work-items.md` and `docs/design/workflows-public-dogfood-split.md` Ticket config references。
- Code map via grep:
- `crates/yoi/src/ticket_cli.rs`, `crates/yoi/src/objective_cli.rs`
- `crates/tui/src/workspace_panel.rs`
- `crates/worker/src/feature/builtin/ticket.rs`, `crates/worker/src/controller.rs`
- workspace identity/settings references in `crates/worker`, `crates/worker-runtime`, workspace-server related code。
- Current worktrees/branches: no existing `work/00001KXK9507N-*` branch/worktree。
- Visible Pods: no active role Pod needed for this routing-only pass。
IntentPacket:
Intent:
- `.yoi/ticket.config.toml` を長期 active authority から外し、tracked Workspace project settings の namespace に Ticket configuration を統合する。
- Ticket backend provider/root、Ticket record language、orchestration defaults、固定 role launch config を Workspace settings authority から解決する。
Binding decisions / invariants:
- local-only backend/runtime operational settingsDB path、listen address、runtime endpoint/store 等)と tracked project/workspace Ticket policy を混ぜない。
- Workspace settings が Ticket configuration の durable authority になる。
- `.yoi/ticket.config.toml` は必要な場合だけ narrow read-only migration fallback として扱い、長期 active authority として残さない。
- default behavior は保つ: 設定なし/移行後 default では既存 `.yoi/tickets` data に対して CLI と Worker Ticket tools が動く。
- workspace-server Ticket backend endpoint は `.yoi/tickets` hard-code ではなく configured Ticket backend root を尊重する。
- role launch config は fixed role slots を維持し、Profile/workflow selector の authority を Workspace settings 側に移す。
- Ticket record language policy は durable Ticket records に適用し、通常 worker prose language と混同しない。
Requirements / acceptance criteria:
- Workspace settings loading が Ticket backend root/provider、language、orchestration defaults、role slots を読む test を追加/更新する。
- Ticket CLI / Objective CLI / Worker Ticket feature setup / workspace-server Ticket backend endpoint / Panel role launch path が Workspace settings authority から Ticket settings を解決する。
- Workspace settings で non-default Ticket backend root を設定した場合、direct CLI/local path と workspace-server-backed Worker Ticket tools の両方が尊重する。
- `.yoi/ticket.config.toml` obsolete/replaced の docs または migration/in-code note を残す。
- affected crates の cargo tests と `nix build .#yoi` が通る。
Implementation latitude:
- 既存 `.yoi/workspace.toml` を拡張するか、tracked Workspace project settings file を別に導入するかは、既存 Workspace settings architecture に合わせて coder が選んでよい。ただし local-only backend/runtime settings とは分離すること。
- Legacy `.yoi/ticket.config.toml` fallback の exact scoperead-only import / warning / migration helper)は bounded local tactic としてよいが、active authority として二重管理しないこと。
- DTO/schema/test layout は existing workspace/ticket config patterns に合わせてよい。
Escalate if:
- Workspace project settings の tracked file 形式自体を新規 product decision として固定する必要があり、既存 `.yoi/workspace.toml` / settings architecture から自然に選べない場合。
- `.yoi/ticket.config.toml` と Workspace settings の二重 authority を長期互換として残す必要が出る場合。
- remote/backend Ticket authority の設計が、local path migration を越えて protocol/API redesign を要求する場合。
- existing Ticket storage migration で data loss risk が出る場合。
Validation:
- `git diff --check`
- `cargo test -p ticket` if ticket config crate/tests are touched。
- `cargo test -p yoi --lib --tests` or targeted CLI tests if CLI paths are touched。
- `cargo test -p worker --lib --tests` if Worker Ticket feature/controller paths are touched。
- `cargo test -p yoi-workspace-server --lib` if workspace-server Ticket endpoint/settings are touched。
- `cargo test -p tui --lib --tests` if Panel role launch/config availability is touched。
- `cargo check -p yoi`
- `cd web/workspace && deno task check && deno task test` if web/API types are touched。
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Current code map / likely touch points:
- `crates/ticket` config model/loading。
- `crates/yoi/src/ticket_cli.rs`, `crates/yoi/src/objective_cli.rs`
- `crates/tui/src/workspace_panel.rs` for Panel config availability/role launch。
- `crates/worker/src/feature/builtin/ticket.rs`, `crates/worker/src/controller.rs` for Worker Ticket tools/setup。
- workspace-server Ticket backend endpoint/settings code。
- `.yoi/workspace.toml` / tracked Workspace settings file and docs under `docs/development/work-items.md`
Critical risks / reviewer focus:
- accidentally keeping `.yoi/ticket.config.toml` as co-equal active authority。
- mixing local-only backend/runtime settings into tracked project settings。
- direct CLI and workspace-server-backed Worker Ticket tools resolving different Ticket roots/languages。
- role launch config losing fixed role semantics or using `inherit` where top-level role launch cannot support it。
- hard-coded `.yoi/tickets` remaining in workspace-server endpoint or Worker Ticket tools。
Next action:
- Wait for explicit follow-up. On follow-up, re-check Ticket/relation/plan/worktree state, then record `queued -> inprogress` before creating `/home/hare/Projects/yoi/.worktree/00001KXK9507N-ticket-workspace-settings` and spawning role Pods。
---
<!-- event: decision author: orchestrator at: 2026-07-15T16:30:32Z -->
## Decision
Implementation follow-up accepted。
Evidence rechecked before side effects:
- Ticket remains `queued` and has prior implementation-ready IntentPacket / accepted plan。
- `TicketRelationQuery(00001KXK9507N)`: 0 blockers。
- `TicketOrchestrationPlanQuery(00001KXK9507N)`: accepted plan exists for branch/worktree `work/00001KXK9507N-ticket-workspace-settings` / `/home/hare/Projects/yoi/.worktree/00001KXK9507N-ticket-workspace-settings`
- `TicketList(inprogress)`: 0 件。
- Orchestrator worktree is clean。
- No existing `00001KXK9507N` worktree/branch was reported in the recheck。
Next action:
- Record `queued -> inprogress` now, then create the dedicated implementation worktree and route implementation to sibling Coder Pod。
- Per current user instruction, do not call `StopPod` during later cleanup。
---
<!-- event: state_changed author: orchestrator at: 2026-07-15T16:30:37Z from: queued to: inprogress reason: accepted_for_implementation field: state -->
## State changed
Explicit follow-up authorized implementation start. Ticket/relation/plan/worktree state was rechecked and no blockers were found. Moving to inprogress before worktree creation or role Pod spawn.
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T17:20:06Z -->
## Implementation report
Implementation progress report:
- Coder Pod `yoi-coder-00001KXK9507N-ticket-settings` completed implementation in `/home/hare/Projects/yoi/.worktree/00001KXK9507N-ticket-workspace-settings` on branch `work/00001KXK9507N-ticket-workspace-settings`
- Implementation commit: `b1e3a2ad338a551f6e875087c93ecf709a03c1c8 ticket: move ticket settings into workspace config`
- Orchestrator inspected worktree status, branch log, commit stats, `git diff --check c68ed1fd..HEAD`, and changed files. Worktree was clean and diff check passed。
Implementation summary:
- Durable Ticket policy authority を `.yoi/workspace.toml``[ticket]` に移動。
- tracked `.yoi/ticket.config.toml` を削除。
- Workspace settings に `[ticket]` がない場合のみ、legacy `.yoi/ticket.config.toml` を narrow read-only migration fallback として読む。
- Ticket settings がない場合の default behavior は `provider = builtin:yoi_local`, `root = .yoi/tickets` として維持。
- `[ticket]` が存在する場合は legacy `.yoi/ticket.config.toml` を無視する precedence にした。
- Direct CLI / Objective config consumers / Worker Ticket feature setup / workspace-server Ticket backend endpoint / project record reader / Panel role launch availability / role launch tests を新 authority 解決へ更新。
- local-only runtime/backend operational settings は tracked workspace Ticket policy と分離。
- docs で `.yoi/ticket.config.toml` obsolete と新 `[ticket]` workspace settings shape を記録。
Files touched:
- `.yoi/ticket.config.toml` removed。
- `.yoi/workspace.toml` updated。
- `crates/client/src/ticket_role.rs`
- `crates/ticket/src/config.rs`
- `crates/tui/src/dashboard/tests.rs`
- `crates/tui/src/workspace_panel.rs`
- `crates/worker/src/controller.rs`
- `crates/worker/src/feature/builtin/ticket.rs`
- `crates/workspace-server/src/identity.rs`
- `crates/workspace-server/src/records.rs`
- `crates/workspace-server/src/server.rs`
- `crates/yoi/src/ticket_cli.rs`
- `docs/design/workflows-public-dogfood-split.md`
- `docs/development/work-items.md`
Coder-reported validation passed:
- `cargo fmt --check`
- `git diff --check`
- `cargo test -p ticket`
- `cargo test -p yoi --tests`
- `cargo test -p client --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p yoi-workspace-server --lib`
- `cargo test -p tui --lib --tests`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Not run:
- `cargo test -p yoi --lib --tests`: `yoi` has no library target。
- web checks: web/API types were not touched。
Next action:
- Route to external Reviewer Pod before merge/close decisions。
---
<!-- event: review author: reviewer at: 2026-07-15T17:26:26Z status: request_changes -->
## Review: request changes
External review result: request_changes
Acceptance blocker:
- Workspace settings が active Panel Ticket reads の全経路で durable authority になっていない。
- `crates/tui/src/workspace_panel.rs:673-688` は orchestration worktree overlay を `worktree_root.join(DEFAULT_TICKET_BACKEND_RELATIVE_PATH)` (`.yoi/tickets`) から直接読んでいる。
- そのため orchestration worktree 側の `TicketConfig` / workspace `[ticket.backend].root` を解決しておらず、non-default Ticket root では Panel overlay が “no .yoi/tickets directory” と扱う、または orchestration state を見落とす。
- これは configured backend-root authority と Panel resolution-path acceptance focus に違反する。
Positive evidence:
- `TicketConfig``.yoi/workspace.toml [ticket]` を legacy fallback / precedence / default tests 付きで読むようになっている。
- Direct Ticket CLI、Objective link validation、Worker feature setup、workspace-server record/backend endpoint、queue handoff、role launch は概ね `TicketConfig::load_workspace` 経由になっている。
- `.yoi/workspace.toml` に backend/language/role config が入り、docs は legacy config obsolete を記録している。
Validation performed by reviewer:
- read-only diff/source inspection。
- implementation worktree で `git status --short`, `git rev-parse`, `git diff --check c68ed1fd..HEAD`
- test rerun はしていない。
Non-blocking note:
- non-default-root Panel orchestration-overlay test を追加すると、この経路の regression を防げる。
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T17:43:06Z -->
## Implementation report
Follow-up implementation progress report after request_changes:
- Coder Pod `yoi-coder-00001KXK9507N-ticket-settings` completed the Panel overlay configured-root fix in `/home/hare/Projects/yoi/.worktree/00001KXK9507N-ticket-workspace-settings`
- Follow-up commit: `40f21145415106dabf0905d301dd04b73fabd424 tui: use configured ticket root for overlay`
- Orchestrator inspected worktree status, branch log, commit stats, and `git diff --check c68ed1fd..HEAD`; worktree was clean and diff check passed。
Fix summary:
- Panel orchestration overlay loading now uses `TicketConfig::load_workspace(worktree_root)`
- Overlay reads use the orchestration worktrees configured `[ticket.backend].root` and Ticket record language。
- Hard-coded `.yoi/tickets` overlay read path was removed except through config defaults。
- Missing/unusable configured overlay backend root diagnostics are preserved。
- Regression test added: `workspace_panel_orchestration_overlay_uses_configured_backend_root`
- Test verifies non-default orchestration overlay Ticket root is used and `.yoi/tickets` is not required。
Coder-reported validation passed:
- `cargo fmt --check`
- `git diff --check`
- `cargo test -p tui --lib --tests` (`383 passed`)
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Next action:
- Request focused re-review of the previous Panel overlay blocker and overall acceptance before merge/close decisions。
---
<!-- event: review author: reviewer at: 2026-07-15T17:45:34Z status: approve -->
## Review: approve
Focused re-review result: approve
Evidence:
- Previous blocker is fixed: `crates/tui/src/workspace_panel.rs:674-694` now loads `TicketConfig::load_workspace(worktree_root)`, uses `overlay_config.backend_root()` and `overlay_config.ticket_record_language()`, and reports a clear diagnostic when the configured root is not a directory。
- Regression `workspace_panel_orchestration_overlay_uses_configured_backend_root` covers non-default overlay roots and reviewer reran it successfully (`1 passed`)。
- No new co-equal legacy authority was found: legacy `.yoi/ticket.config.toml` remains only the documented fallback through `TicketConfig::load_workspace` when workspace `[ticket]` is absent。
- Overall acceptance remains satisfied by inspected paths: direct CLI/Objectives, Worker feature setup, workspace-server records/backend endpoint, Panel/role launch, and queue/overlay paths resolve through workspace Ticket settings/defaults。
- `.yoi/workspace.toml` carries backend/language/fixed role policy, docs/help note legacy obsolete, and operational/runtime settings remain outside tracked Ticket policy。
Validation performed by reviewer:
- clean `git status`
- HEAD `40f21145`
- `git diff --check c68ed1fd..HEAD`
- focused source review。
- focused TUI regression test。
Blockers: none。
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T17:51:09Z -->
## Implementation report
Merge / final validation report:
- Reviewer approved the implementation after the Panel overlay configured-root fix。
- Merged branch `work/00001KXK9507N-ticket-workspace-settings` into orchestration branch with merge commit `45783b74 merge: workspace ticket settings`
- Final validation was rerun in `/home/hare/Projects/yoi/.worktree/orchestration` after merge。
Validation passed:
- `cargo fmt --check`
- `git diff --check`
- `cargo test -p ticket`
- `cargo test -p yoi --tests`
- `cargo test -p client --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p yoi-workspace-server --lib`
- `cargo test -p tui --lib --tests`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Validation log:
- `/run/user/1000/yoi/yoi-orchestrator/bash-output/workspace-ticket-settings-final-validation-1784137566.txt`
Reviewed/merged implementation commits:
- `b1e3a2ad ticket: move ticket settings into workspace config`
- `40f21145 tui: use configured ticket root for overlay`
Notes:
- `.yoi/ticket.config.toml` was removed from tracked active project config。
- `.yoi/workspace.toml [ticket]` is now the durable Ticket settings authority; legacy config remains only as narrow fallback when workspace `[ticket]` is absent。
- Per user instruction, no `StopPod` cleanup was performed。
---
<!-- event: state_changed author: orchestrator at: 2026-07-15T17:51:15Z from: inprogress to: done reason: implementation_validated field: state -->
## State changed
Implementation was reviewed, merged into orchestration branch, and final validation passed. Moving to done before closure.
---
<!-- event: state_changed author: hare at: 2026-07-15T17:51:30Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-07-15T17:51:30Z status: closed -->
## 完了
Ticket configuration の Workspace settings 統合を実装・レビュー・merge・検証した。
実装内容:
- durable Ticket policy authority を `.yoi/workspace.toml [ticket]` に移動。
- tracked `.yoi/ticket.config.toml` を削除。
- Workspace `[ticket]` がない場合のみ legacy `.yoi/ticket.config.toml` を narrow read-only migration fallback として読むようにした。
- Workspace `[ticket]` が存在する場合は legacy config を無視し、二重 active authority を避ける precedence にした。
- default behavior は維持し、設定なしでは `provider = builtin:yoi_local`, `root = .yoi/tickets` を使う。
- Ticket backend provider/root、record language、orchestration defaults、fixed role launch config を Workspace settings authority に移した。
- Direct Ticket CLI / Objective config consumers / Worker Ticket feature setup / workspace-server Ticket backend endpoint / project record reader / Panel role launch availability / role launch tests を新 authority 解決へ更新。
- Panel orchestration overlay も orchestration worktree の `TicketConfig::load_workspace(worktree_root)` を使い、configured backend root と record language を尊重するよう修正。
- docs で `.yoi/ticket.config.toml` obsolete と新 `[ticket]` workspace settings shape を記録。
Review:
- 初回 review は Panel orchestration overlay が `.yoi/tickets` を hard-code している blocker で `request_changes`
- `40f21145 tui: use configured ticket root for overlay` で overlay read path を configured Ticket root に移行し、non-default root regression test を追加。
- focused re-review は `approve`
Merge / validation:
- Merge commit: `45783b74 merge: workspace ticket settings`
- Final validation passed:
- `cargo fmt --check`
- `git diff --check`
- `cargo test -p ticket`
- `cargo test -p yoi --tests`
- `cargo test -p client --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p yoi-workspace-server --lib`
- `cargo test -p tui --lib --tests`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/workspace-ticket-settings-final-validation-1784137566.txt`
Cleanup:
- Implementation worktree/branch cleanup will be performed after close commit。
- Per user instruction, `StopPod` is not used。
---
+23
View File
@@ -1,3 +1,26 @@
workspace_id = "0197a949-4b6b-7f2a-9d9a-1f87e3a4c5b6"
created_at = "2026-06-23T00:00:00Z"
display_name = "yoi"
[ticket]
language = "Japanese"
[ticket.backend]
provider = "builtin:yoi_local"
root = ".yoi/tickets"
[ticket.roles.intake]
profile = "builtin:intake"
workflow = "ticket-intake-workflow"
[ticket.roles.orchestrator]
profile = "builtin:orchestrator"
workflow = "ticket-orchestrator-routing"
[ticket.roles.coder]
profile = "builtin:coder"
workflow = "multi-agent-workflow"
[ticket.roles.reviewer]
profile = "builtin:reviewer"
workflow = "multi-agent-workflow"