4.2 KiB
| title | state | created_at | updated_at |
|---|---|---|---|
| Built-in Ticket intake and orchestration routing | closed | 2026-06-01T03:12:52Z | 2026-06-05T06:42:40Z |
Background
Yoi needs a durable project-level coordination record that Intake, Orchestrator, coder Pods, reviewer Pods, and humans can share. The accepted concept name is Ticket.
A Ticket is not the same thing as the session-local Task tool. A Task tracks short-lived user-visible progress inside a Pod/session. A Ticket is a durable orchestration contract with requirements, decisions, plans, implementation reports, reviews, artifacts, and resolution history.
The current repository already stores this information under work-items/ and manages it through tickets.sh. For now, that storage format remains the local backend. The new code-facing concept should be Ticket, not WorkItem; work-items/ is a current local storage path, not the product concept name.
The original version of this ticket mixed several layers: local ticket backend, built-in Pod tools, Intake behavior, Orchestrator routing, action-required state, and scheduler-like automation. That is too broad for a single implementation ticket, so this ticket now acts as the umbrella tracking ticket for the split.
Terminology
Ticket: durable orchestration record shared by Intake, Orchestrator, implementation Pods, reviewer Pods, and humans.Task: session-local progress tracking tool; intentionally separate from Ticket.Assignment: a concrete delegation from Orchestrator to a coder/reviewer/investigator Pod.IntentPacket: short implementation/review contract derived from a Ticket and passed to an Assignment.TicketBackend: backend abstraction for reading and mutating Tickets.LocalTicketBackend: backend implementation for the currentwork-items/directory format.
Scope of the umbrella
This umbrella covers the following sequence:
-
ticket-local-files-backend- Add a code-facing Ticket domain model and local backend for current
work-items/files. - Keep
tickets.shand existing file format compatible.
- Add a code-facing Ticket domain model and local backend for current
-
ticket-built-in-feature-tools- Expose Ticket operations as a built-in Pod feature/tool surface.
- Treat Ticket operations as typed backend authority, not arbitrary filesystem writes.
-
ticket-intake-workflow- Define and install an Intake workflow/profile that clarifies user requests and creates Tickets after user agreement.
-
ticket-orchestrator-routing- Let Orchestrator classify Tickets and route them into preflight, implementation, review, spike, blocked/action-required, or close paths.
Later scheduler/lease/automatic maintainer behavior is out of scope for this umbrella until the above pieces are usable.
Requirements
- Use
Ticketas the product/code concept name. - Keep existing
work-items/storage as the LocalTicketBackend path for now. - Do not rename the storage directory in this umbrella.
- Keep git history + ticket files authoritative.
- Preserve compatibility with
tickets.shuntil a replacement is explicitly accepted. - Keep Ticket authority separate from delegated filesystem write scope.
- Avoid exposing arbitrary file writes through Ticket tools.
- Keep Intake focused on clarification and Ticket creation/update; it must not schedule implementation itself.
- Keep Orchestrator responsible for routing/scheduling decisions, not Intake.
- Do not introduce an unattended scheduler in the MVP.
Acceptance criteria
- This umbrella records the Ticket terminology decision and split plan.
- Child tickets exist for:
- local files backend;
- built-in feature tools;
- intake workflow;
- orchestrator routing.
- Child tickets state their dependencies, scope, non-goals, and acceptance criteria clearly enough for preflight/implementation sequencing.
- Historical
WorkItemwording in this ticket is either removed or explicitly described as old terminology. tickets.sh doctorpasses after the split.
Non-goals
- Renaming
work-items/totickets/. - Replacing
tickets.shimmediately. - Building a scheduler/lease system.
- Building a TUI spawned-Pod panel.
- Changing the session-local Task tool.
- Integrating with GitHub Issues, Linear, MCP, or external trackers in this umbrella.