Ticket Metadata Schema

Ticket Metadata Schema

Schema for operator-tracked ticket metadata in YAML frontmatter. This schema documents the structure of ticket files used by the operator TUI.

Schema Information

Required Fields

Properties

Property Type Required Description
id string Yes Kanban ticket ID (e.g., FEAT-1234). Also used for tmux session name derivation.
status string Yes Operator workflow status
step string No Current workflow step name (e.g., plan, build, code, test, deploy)
priority string No Ticket priority level
project string No Target project name (subdirectory in projects root)
created string (date) No Creation date in YYYY-MM-DD format (legacy, prefer createdDatetime)
createdDatetime string (date-time) No ISO 8601 datetime when the ticket was created
startedDatetime string (date-time) No ISO 8601 datetime when work began on the ticket (moved to running status)
completedDatetime string (date-time) No ISO 8601 datetime when the ticket was completed
branch string No Git branch name for this ticket (auto-generated from type and summary)
sessions object No Step name to LLM session UUID mapping. Each step gets its own session ID for continuity.
llm_task object No LLM task metadata for delegate mode integration

id

status

step

priority

project

created

createdDatetime

startedDatetime

completedDatetime

branch

sessions

Additional Properties: string (uuid) (UUID for the LLM session at this step)

llm_task

Object Nested Properties:

Property Type Description
id string (uuid) LLM task ID (e.g., Claude delegate mode task UUID)
status string LLM task status
blocked_by array List of task IDs that must resolve before this task can proceed

Definitions

Definition: id_derivations

The ticket ID is used to derive other identifiers:

Property Description
tmux_session_name Derived as: op-{id} (e.g., op-FEAT-1234)
git_branch Derived as: {key.lowercase}/{id}-{summary-slug} (e.g., feat/FEAT-1234-add-auth)

Examples

Complete ticket metadata examples:

Example 1

{
  "id": "FEAT-1234",
  "status": "running",
  "step": "build",
  "priority": "P2-medium",
  "project": "gamesvc",
  "createdDatetime": "2024-12-25T14:30:00Z",
  "startedDatetime": "2024-12-25T15:00:00Z",
  "branch": "feature/FEAT-1234-add-user-auth",
  "sessions": {
    "plan": "550e8400-e29b-41d4-a716-446655440000",
    "build": "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
  }
}

Example 2

{
  "id": "SPIKE-0042",
  "status": "completed",
  "step": "summarize",
  "priority": "P2-medium",
  "project": "operator",
  "createdDatetime": "2024-12-25T09:00:00Z",
  "startedDatetime": "2024-12-25T10:00:00Z",
  "completedDatetime": "2024-12-25T12:30:00Z",
  "sessions": {
    "explore": "abc12345-6789-0abc-def0-123456789abc"
  },
  "llm_task": {
    "id": "def67890-1234-5678-9abc-def012345678",
    "status": "resolved",
    "blocked_by": []
  }
}