Files
Claude-Code-Workflow/.claude/workflows/cli-templates/schemas/plan-json-schema.json
catlog22 c780544792 feat(cli): add support for custom execution IDs and multi-turn conversations
- Introduced `--id <id>` option in CLI for custom execution IDs.
- Enhanced CLI command handling to support multi-turn conversations.
- Updated execution and conversation detail retrieval to accommodate new structure.
- Implemented merging of multiple conversations with tracking of source IDs.
- Improved history management to save and load conversation records.
- Added styles for displaying multi-turn conversation details in the dashboard.
- Refactored existing execution detail functions for backward compatibility.
2025-12-13 14:03:24 +08:00

245 lines
8.1 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Plan Object Schema",
"description": "Implementation plan from cli-lite-planning-agent or direct planning",
"type": "object",
"required": [
"summary",
"approach",
"tasks",
"estimated_time",
"recommended_execution",
"complexity",
"_metadata"
],
"properties": {
"summary": {
"type": "string",
"description": "2-3 sentence overview of the implementation plan"
},
"approach": {
"type": "string",
"description": "High-level implementation strategy and methodology"
},
"tasks": {
"type": "array",
"minItems": 1,
"maxItems": 10,
"items": {
"type": "object",
"required": ["id", "title", "scope", "action", "description", "implementation", "acceptance"],
"properties": {
"id": {
"type": "string",
"pattern": "^T[0-9]+$",
"description": "Task identifier (T1, T2, T3...)"
},
"title": {
"type": "string",
"description": "Task title (action verb + target module/feature)"
},
"scope": {
"type": "string",
"description": "Task scope: module path (src/auth/), feature name, or single file. Prefer module/feature level over single file."
},
"file": {
"type": "string",
"description": "Primary file (deprecated, use scope + modification_points instead)"
},
"action": {
"type": "string",
"enum": ["Create", "Update", "Implement", "Refactor", "Add", "Delete", "Configure", "Test", "Fix"],
"description": "Primary action type"
},
"description": {
"type": "string",
"description": "What to implement (1-2 sentences)"
},
"modification_points": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["file", "target", "change"],
"properties": {
"file": {
"type": "string",
"description": "File path within scope"
},
"target": {
"type": "string",
"description": "Function/class/line range (e.g., 'validateToken:45-60')"
},
"change": {
"type": "string",
"description": "Brief description of change"
}
}
},
"description": "All modification points for this task. Group related changes (same feature/module) into one task with multiple modification_points."
},
"implementation": {
"type": "array",
"items": {"type": "string"},
"minItems": 2,
"maxItems": 7,
"description": "Step-by-step implementation guide"
},
"reference": {
"type": "object",
"properties": {
"pattern": {
"type": "string",
"description": "Pattern name to follow"
},
"files": {
"type": "array",
"items": {"type": "string"},
"description": "Reference file paths to study"
},
"examples": {
"type": "string",
"description": "Specific guidance or example references"
}
},
"description": "Reference materials for implementation (optional)"
},
"acceptance": {
"type": "array",
"items": {"type": "string"},
"minItems": 1,
"maxItems": 4,
"description": "Verification criteria (quantified, testable)"
},
"depends_on": {
"type": "array",
"items": {
"type": "string",
"pattern": "^T[0-9]+$"
},
"description": "Task IDs this task depends on (e.g., ['T1', 'T2'])"
},
"cli_execution_id": {
"type": "string",
"pattern": "^[a-zA-Z0-9_-]+$",
"description": "Fixed CLI execution ID for this task (e.g., 'session-T1', 'IMPL-001-analysis')"
},
"cli_execution": {
"type": "object",
"properties": {
"strategy": {
"type": "string",
"enum": ["new", "resume", "fork", "merge_fork"],
"description": "CLI execution strategy: new (no deps), resume (1 dep, continue), fork (1 dep, branch), merge_fork (N deps, combine)"
},
"resume_from": {
"type": "string",
"description": "Parent task's cli_execution_id (for resume/fork strategies)"
},
"merge_from": {
"type": "array",
"items": {"type": "string"},
"description": "Multiple parents' cli_execution_ids (for merge_fork strategy)"
}
},
"description": "CLI execution strategy based on task dependencies"
}
}
},
"description": "Structured task breakdown (1-10 tasks)"
},
"flow_control": {
"type": "object",
"properties": {
"execution_order": {
"type": "array",
"items": {
"type": "object",
"properties": {
"phase": {
"type": "string",
"description": "Phase name (e.g., 'parallel-1', 'sequential-1')"
},
"tasks": {
"type": "array",
"items": {"type": "string"},
"description": "Task IDs in this phase"
},
"type": {
"type": "string",
"enum": ["parallel", "sequential"],
"description": "Execution type"
}
}
},
"description": "Ordered execution phases"
},
"exit_conditions": {
"type": "object",
"properties": {
"success": {
"type": "string",
"description": "Condition for successful completion"
},
"failure": {
"type": "string",
"description": "Condition that indicates failure"
}
},
"description": "Conditions for workflow termination"
}
},
"description": "Execution flow control (optional, auto-inferred from depends_on if not provided)"
},
"focus_paths": {
"type": "array",
"items": {"type": "string"},
"description": "Key file paths affected by this plan (aggregated from tasks)"
},
"estimated_time": {
"type": "string",
"description": "Total estimated implementation time (e.g., '30 minutes', '2 hours')"
},
"recommended_execution": {
"type": "string",
"enum": ["Agent", "Codex"],
"description": "Recommended execution method based on complexity"
},
"complexity": {
"type": "string",
"enum": ["Low", "Medium", "High"],
"description": "Task complexity level"
},
"_metadata": {
"type": "object",
"required": ["timestamp", "source"],
"properties": {
"timestamp": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp of planning"
},
"source": {
"type": "string",
"enum": ["cli-lite-planning-agent", "direct-planning"],
"description": "Planning source"
},
"planning_mode": {
"type": "string",
"enum": ["direct", "agent-based"],
"description": "Planning execution mode"
},
"exploration_angles": {
"type": "array",
"items": {"type": "string"},
"description": "Exploration angles used for context"
},
"duration_seconds": {
"type": "integer",
"description": "Planning duration in seconds"
}
}
}
}
}