2.6 KiB
Created
Created by tickets.sh create.
Decision
Decision: implement .yoi/ticket.config.toml as Ticket orchestration configuration with fixed Ticket role slots.
Use fixed roles, not an arbitrary Role registry:
- intake
- orchestrator
- coder
- reviewer
- investigator
The config maps these fixed Ticket roles to Profile selector strings and optional role system instruction / launch prompt / workflow refs. This keeps Profile as the Pod runtime recipe while Ticket orchestration owns the role-to-profile binding.
The first implementation should parse/validate config and wire the configured backend root into Ticket tools. It should not spawn Pods, add TUI actions, or implement a stateful workflow engine yet.
Detailed investigation and implementation plan: artifacts/investigation-plan.md.
Plan
Plan:
- Add Ticket config model/parser, probably in
crates/ticket/src/config.rs, using lightweight string wrapper types for Profile/prompt/workflow refs soticketdoes not depend onpod. - Parse
.yoi/ticket.config.tomlfrom a workspace root, with defaults when missing. - Support
[backend]local root and fixed[roles.*]sections. - Wire the configured backend root into
crates/pod/src/feature/builtin/ticket.rsso Ticket tools no longer hard-code<workspace>/work-items. - Add focused tests in
ticketandpod. - Defer Pod role launching, TUI actions, and workflow-state/prompt sequencing to follow-up tickets.
Decision
Decision update: remove system_instruction from the MVP .yoi/ticket.config.toml role schema.
Rationale:
- The selected Profile already owns durable role behavior and system/instruction configuration.
- Adding
system_instructionto Ticket role config would create an unclear override/merge boundary with Profile. - Ticket role config should bind fixed Ticket roles to Profile selectors, workflow refs, and launch prompts only.
- Launch prompts remain useful here because they are per-action first committed task/user messages, unlike role-stable system behavior.
Updated MVP role fields:
profile- optional
launch_prompt - optional
workflow
If system-level role overlays are needed later, design them explicitly as a separate prompt/context ticket, likely with an overlay name and clear history/cache semantics. Do not add an implicit system instruction override in this ticket.