3.5 KiB
| id | slug | title | status | kind | priority | labels | workflow_state | created_at | updated_at | assignee | legacy_ticket | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 20260607-035710-ticket-orchestration-plan-tool | ticket-orchestration-plan-tool | Ticket orchestration plan tool | open | task | P1 |
|
intake | 2026-06-07T03:57:10Z | 2026-06-07T03:57:10Z | null | null |
Background
Orchestrator queue automation needs a lightweight way to remember routing decisions across turns while coordinating multiple Tickets. The existing Task tool is session-lifetime and human/user-visible, but Ticket ordering, dependency, conflict, and routing decisions belong to the Ticket orchestration domain.
The immediate need is not a full scheduler or dependency graph. The Orchestrator needs a small typed surface to record decisions such as:
- Ticket A should run before Ticket B;
- Ticket B is blocked by Ticket A;
- Ticket C conflicts with Ticket D and should not run in parallel;
- Ticket E is ready but waiting for capacity;
- Ticket F has been accepted by Orchestrator and has a planned worktree/branch.
These records should help the Orchestrator avoid relying only on prompt memory, especially across compaction and multi-turn routing.
Goal
Design and implement a lightweight Ticket orchestration note/plan tool surface for Orchestrator use, similar in convenience to Task tools but scoped to Ticket ordering and routing decisions.
Requirements
- Provide a typed, lightweight tool/API for recording and querying Orchestrator routing decisions about Tickets.
- Support at least:
- ordering relation: before/after;
- dependency/blocker relation: blocked_by / blocks;
- conflict relation: do_not_parallelize / conflicts_with;
- capacity/waiting note;
- accepted work plan summary such as branch/worktree/pod plan when applicable.
- Distinguish durable project-relevant relations from local ephemeral execution notes:
- dependency/order/conflict decisions that should affect future orchestration should be recorded in git-tracked Ticket records or typed Ticket thread events/artifacts;
- local runtime claims/session details should remain in the local role session registry, not Ticket metadata.
- Keep this a Ticket/orchestration domain capability, not a generic TaskStore replacement.
- Ensure records are queryable by Ticket id/slug and by relation kind.
- Keep the first version simple; do not implement a full scheduler, graph solver, or automatic topological planner.
- Integrate with Orchestrator prompts/workflows so the Orchestrator consults these records before accepting queued Tickets.
- Avoid using session-lifetime Task tools for durable Ticket dependency/order decisions.
- Ensure compaction does not erase the authoritative record; the tool should write to a durable record path.
Non-goals
- Replacing Ticket workflow_state.
- Replacing the local role session registry for Pod/session claims.
- Implementing full dependency graph scheduling.
- Automatically reordering all queued Tickets without Orchestrator judgment.
- Making Companion a mutating orchestration actor.
Acceptance criteria
- Orchestrator has a simple typed way to record Ticket ordering/dependency/conflict/capacity decisions.
- The records survive compaction and are queryable in later turns.
- Project-relevant decisions are stored in the Ticket system rather than only session-lifetime Task state.
- Local runtime execution details remain out of git-tracked Ticket metadata.
- Orchestrator queue routing can consult the recorded decisions before accepting a queued Ticket.