mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-06 01:54:11 +08:00
Queue produces execution plan without executor assignment. Executor is determined at runtime by /issue:execute command. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
249 lines
7.9 KiB
JSON
249 lines
7.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Issue Execution Queue Schema",
|
|
"description": "Execution queue supporting both task-level (T-N) and solution-level (S-N) granularity",
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^QUE-[0-9]{8}-[0-9]{6}$",
|
|
"description": "Queue ID in format QUE-YYYYMMDD-HHMMSS"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["active", "paused", "completed", "archived"],
|
|
"default": "active"
|
|
},
|
|
"issue_ids": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Issues included in this queue"
|
|
},
|
|
"solutions": {
|
|
"type": "array",
|
|
"description": "Solution-level queue items (preferred for new queues)",
|
|
"items": {
|
|
"$ref": "#/definitions/solutionItem"
|
|
}
|
|
},
|
|
"tasks": {
|
|
"type": "array",
|
|
"description": "Task-level queue items (legacy format)",
|
|
"items": {
|
|
"$ref": "#/definitions/taskItem"
|
|
}
|
|
},
|
|
"conflicts": {
|
|
"type": "array",
|
|
"description": "Detected conflicts between items",
|
|
"items": {
|
|
"$ref": "#/definitions/conflict"
|
|
}
|
|
},
|
|
"execution_groups": {
|
|
"type": "array",
|
|
"description": "Parallel/Sequential execution groups",
|
|
"items": {
|
|
"$ref": "#/definitions/executionGroup"
|
|
}
|
|
},
|
|
"_metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": { "type": "string", "default": "2.0" },
|
|
"queue_type": {
|
|
"type": "string",
|
|
"enum": ["solution", "task"],
|
|
"description": "Queue granularity level"
|
|
},
|
|
"total_solutions": { "type": "integer" },
|
|
"total_tasks": { "type": "integer" },
|
|
"pending_count": { "type": "integer" },
|
|
"ready_count": { "type": "integer" },
|
|
"executing_count": { "type": "integer" },
|
|
"completed_count": { "type": "integer" },
|
|
"failed_count": { "type": "integer" },
|
|
"last_queue_formation": { "type": "string", "format": "date-time" },
|
|
"last_updated": { "type": "string", "format": "date-time" }
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"solutionItem": {
|
|
"type": "object",
|
|
"required": ["item_id", "issue_id", "solution_id", "status", "task_count", "files_touched"],
|
|
"properties": {
|
|
"item_id": {
|
|
"type": "string",
|
|
"pattern": "^S-[0-9]+$",
|
|
"description": "Solution-level queue item ID (S-1, S-2, ...)"
|
|
},
|
|
"issue_id": {
|
|
"type": "string",
|
|
"description": "Source issue ID"
|
|
},
|
|
"solution_id": {
|
|
"type": "string",
|
|
"description": "Bound solution ID"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["pending", "ready", "executing", "completed", "failed", "blocked"],
|
|
"default": "pending"
|
|
},
|
|
"task_count": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"description": "Number of tasks in this solution"
|
|
},
|
|
"files_touched": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "All files modified by this solution"
|
|
},
|
|
"execution_order": {
|
|
"type": "integer",
|
|
"description": "Order in execution sequence"
|
|
},
|
|
"execution_group": {
|
|
"type": "string",
|
|
"description": "Parallel (P*) or Sequential (S*) group ID"
|
|
},
|
|
"depends_on": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Solution IDs this item depends on"
|
|
},
|
|
"semantic_priority": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1,
|
|
"description": "Semantic importance score (0.0-1.0)"
|
|
},
|
|
"queued_at": { "type": "string", "format": "date-time" },
|
|
"started_at": { "type": "string", "format": "date-time" },
|
|
"completed_at": { "type": "string", "format": "date-time" },
|
|
"result": {
|
|
"type": "object",
|
|
"properties": {
|
|
"summary": { "type": "string" },
|
|
"files_modified": { "type": "array", "items": { "type": "string" } },
|
|
"tasks_completed": { "type": "integer" },
|
|
"commit_hashes": { "type": "array", "items": { "type": "string" } }
|
|
}
|
|
},
|
|
"failure_reason": { "type": "string" }
|
|
}
|
|
},
|
|
"taskItem": {
|
|
"type": "object",
|
|
"required": ["item_id", "issue_id", "solution_id", "task_id", "status"],
|
|
"properties": {
|
|
"item_id": {
|
|
"type": "string",
|
|
"pattern": "^T-[0-9]+$",
|
|
"description": "Task-level queue item ID (T-1, T-2, ...)"
|
|
},
|
|
"issue_id": { "type": "string" },
|
|
"solution_id": { "type": "string" },
|
|
"task_id": { "type": "string" },
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["pending", "ready", "executing", "completed", "failed", "blocked"],
|
|
"default": "pending"
|
|
},
|
|
"execution_order": { "type": "integer" },
|
|
"execution_group": { "type": "string" },
|
|
"depends_on": { "type": "array", "items": { "type": "string" } },
|
|
"semantic_priority": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
"queued_at": { "type": "string", "format": "date-time" },
|
|
"started_at": { "type": "string", "format": "date-time" },
|
|
"completed_at": { "type": "string", "format": "date-time" },
|
|
"result": {
|
|
"type": "object",
|
|
"properties": {
|
|
"files_modified": { "type": "array", "items": { "type": "string" } },
|
|
"files_created": { "type": "array", "items": { "type": "string" } },
|
|
"summary": { "type": "string" },
|
|
"commit_hash": { "type": "string" }
|
|
}
|
|
},
|
|
"failure_reason": { "type": "string" }
|
|
}
|
|
},
|
|
"conflict": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["file_conflict", "dependency_conflict", "resource_conflict"]
|
|
},
|
|
"file": {
|
|
"type": "string",
|
|
"description": "Conflicting file path"
|
|
},
|
|
"solutions": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Solution IDs involved (for solution-level queues)"
|
|
},
|
|
"tasks": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Task IDs involved (for task-level queues)"
|
|
},
|
|
"resolution": {
|
|
"type": "string",
|
|
"enum": ["sequential", "merge", "manual"]
|
|
},
|
|
"resolution_order": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Execution order to resolve conflict"
|
|
},
|
|
"rationale": {
|
|
"type": "string",
|
|
"description": "Explanation of resolution decision"
|
|
},
|
|
"resolved": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"executionGroup": {
|
|
"type": "object",
|
|
"required": ["id", "type"],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^[PS][0-9]+$",
|
|
"description": "Group ID (P1, P2 for parallel, S1, S2 for sequential)"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["parallel", "sequential"]
|
|
},
|
|
"solutions": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Solution IDs in this group"
|
|
},
|
|
"tasks": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Task IDs in this group (legacy)"
|
|
},
|
|
"solution_count": {
|
|
"type": "integer",
|
|
"description": "Number of solutions in group"
|
|
},
|
|
"task_count": {
|
|
"type": "integer",
|
|
"description": "Number of tasks in group (legacy)"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|