Files
Claude-Code-Workflow/.ccw/workflows/cli-templates/schemas/solution-schema.json
catlog22 cdb240d2c2 Add quality standards and team command design patterns documentation
- Introduced a new quality standards document outlining assessment criteria for team command .md files, including completeness, pattern compliance, integration, and consistency dimensions.
- Established quality gates and issue classification for errors, warnings, and informational notes.
- Created a comprehensive team command design patterns document detailing infrastructure and collaboration patterns, including message bus integration, YAML front matter requirements, task lifecycle, five-phase execution structure, and error handling.
- Included a pattern selection guide for collaboration scenarios to enhance team interaction models.
2026-02-13 23:39:06 +08:00

226 lines
8.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Issue Solution Schema",
"description": "Schema for solution registered to an issue",
"type": "object",
"required": ["id", "tasks", "is_bound", "created_at"],
"properties": {
"id": {
"type": "string",
"description": "Unique solution identifier: SOL-{issue-id}-{4-char-uid} where uid is 4 alphanumeric chars",
"pattern": "^SOL-.+-[a-z0-9]{4}$",
"examples": ["SOL-GH-123-a7x9", "SOL-ISS-20251229-001-b2k4"]
},
"description": {
"type": "string",
"description": "High-level summary of the solution"
},
"approach": {
"type": "string",
"description": "Technical approach or strategy"
},
"tasks": {
"type": "array",
"description": "Task breakdown for this solution",
"items": {
"type": "object",
"required": ["id", "title", "scope", "action", "implementation"],
"properties": {
"id": {
"type": "string",
"pattern": "^T[0-9]+$"
},
"title": {
"type": "string",
"description": "Action verb + target"
},
"scope": {
"type": "string",
"description": "Module path or feature area"
},
"action": {
"type": "string",
"enum": ["Create", "Update", "Implement", "Refactor", "Add", "Delete", "Configure", "Test", "Fix"]
},
"description": {
"type": "string",
"description": "1-2 sentences describing what to implement"
},
"files": {
"type": "array",
"description": "Files affected by this task (preferred over modification_points)",
"items": {
"type": "object",
"required": ["path"],
"properties": {
"path": { "type": "string", "description": "File path relative to project root" },
"action": { "type": "string", "enum": ["modify", "create", "delete"], "description": "Type of file operation" },
"target": { "type": "string", "description": "Target symbol or location within file" },
"change": { "type": "string", "description": "Description of the change" },
"changes": { "type": "array", "items": { "type": "string" }, "description": "Multiple changes to the file" },
"conflict_risk": { "type": "string", "enum": ["low", "medium", "high"], "description": "Risk of merge conflict" }
}
}
},
"modification_points": {
"type": "array",
"deprecated": true,
"description": "DEPRECATED: Use 'files' instead. Legacy field for backward compatibility.",
"items": {
"type": "object",
"properties": {
"file": { "type": "string" },
"target": { "type": "string" },
"change": { "type": "string" }
}
}
},
"implementation": {
"type": "array",
"items": { "type": "string" },
"description": "Step-by-step implementation guide"
},
"test": {
"type": "object",
"description": "Test requirements",
"properties": {
"unit": { "type": "array", "items": { "type": "string" } },
"integration": { "type": "array", "items": { "type": "string" } },
"commands": { "type": "array", "items": { "type": "string" } },
"coverage_target": { "type": "number" },
"manual_checks": { "type": "array", "items": { "type": "string" }, "description": "Manual verification steps" },
"success_metrics": { "type": "array", "items": { "type": "string" }, "description": "Success metrics for the task" }
}
},
"regression": {
"type": "array",
"items": { "type": "string" },
"description": "Regression check points"
},
"convergence": {
"type": "object",
"description": "Convergence criteria & verification (preferred over acceptance)",
"required": ["criteria"],
"properties": {
"criteria": { "type": "array", "items": { "type": "string" } },
"verification": {
"oneOf": [
{ "type": "string" },
{ "type": "array", "items": { "type": "string" } }
]
},
"definition_of_done": { "type": "string" }
}
},
"acceptance": {
"type": "object",
"deprecated": true,
"description": "DEPRECATED: Use 'convergence' instead. Legacy field for backward compatibility.",
"properties": {
"criteria": { "type": "array", "items": { "type": "string" } },
"verification": { "type": "array", "items": { "type": "string" } },
"manual_checks": { "type": "array", "items": { "type": "string" } }
}
},
"commit": {
"type": "object",
"description": "Commit specification",
"properties": {
"type": { "type": "string", "enum": ["feat", "fix", "refactor", "test", "docs", "chore"] },
"scope": { "type": "string" },
"message_template": { "type": "string" },
"breaking": { "type": "boolean" }
}
},
"depends_on": {
"type": "array",
"items": { "type": "string" },
"default": [],
"description": "Task IDs this task depends on"
},
"estimated_minutes": {
"type": "integer",
"description": "DEPRECATED: Use 'effort' instead. Estimated time to complete."
},
"effort": {
"type": "string",
"enum": ["small", "medium", "large", "xlarge"],
"description": "Effort estimate for the task"
},
"status": {
"type": "string",
"description": "Task status (optional, for tracking)"
},
"priority": {
"oneOf": [
{ "type": "string", "enum": ["critical", "high", "medium", "low"] },
{ "type": "integer", "minimum": 1, "maximum": 5 }
],
"default": "medium",
"description": "Task priority. Prefer string enum; integer 1-5 accepted for backward compatibility."
}
},
"anyOf": [
{ "required": ["convergence"] },
{ "required": ["acceptance"] }
],
"_migration": {
"description": "Field migration mapping from legacy to current format",
"mappings": {
"modification_points[].file": "files[].path",
"modification_points[].target": "files[].target",
"modification_points[].change": "files[].change",
"acceptance.criteria": "convergence.criteria",
"acceptance.verification": "convergence.verification",
"acceptance.manual_checks": "test.manual_checks",
"priority (integer 1-5)": "priority (string enum)",
"estimated_minutes": "effort"
}
}
}
},
"exploration_context": {
"type": "object",
"description": "ACE exploration results",
"properties": {
"project_structure": { "type": "string" },
"relevant_files": {
"type": "array",
"items": { "type": "string" }
},
"patterns": { "type": "string" },
"integration_points": { "type": "string" }
}
},
"analysis": {
"type": "object",
"description": "Solution risk assessment",
"properties": {
"risk": { "type": "string", "enum": ["low", "medium", "high"] },
"impact": { "type": "string", "enum": ["low", "medium", "high"] },
"complexity": { "type": "string", "enum": ["low", "medium", "high"] }
}
},
"score": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Solution quality score (0.0-1.0)"
},
"is_bound": {
"type": "boolean",
"default": false,
"description": "Whether this solution is bound to the issue"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"bound_at": {
"type": "string",
"format": "date-time",
"description": "When this solution was bound to the issue"
}
}
}