refactor(issue): Simplify issue and task structures by removing unused fields

This commit is contained in:
catlog22
2025-12-28 13:39:52 +08:00
parent 2eaefb61ab
commit 3a1ebf8684
3 changed files with 15 additions and 70 deletions

View File

@@ -69,19 +69,13 @@ ccw issue status <issue-id> --json
function analyzeIssue(issue) {
return {
issue_id: issue.id,
requirements: extractRequirements(issue.description),
scope: inferScope(issue.title, issue.description),
complexity: determineComplexity(issue), // Low | Medium | High
lifecycle: issue.lifecycle_requirements // User preferences for test/commit
requirements: extractRequirements(issue.context),
scope: inferScope(issue.title, issue.context),
complexity: determineComplexity(issue) // Low | Medium | High
}
}
```
**Step 3**: Apply lifecycle requirements to tasks
- `lifecycle.test_strategy` → Configure `test.unit`, `test.commands`
- `lifecycle.commit_strategy` → Configure `commit.type`, `commit.scope`
- `lifecycle.regression_scope` → Configure `regression` array
**Complexity Rules**:
| Complexity | Files | Tasks |
|------------|-------|-------|
@@ -174,7 +168,6 @@ function decomposeTasks(issue, exploration) {
message_template: generateCommitMsg(group)
},
depends_on: inferDependencies(group, tasks),
executor: inferExecutor(group),
priority: calculatePriority(group) // 1-5 (1=highest)
}))
}

View File

@@ -3,20 +3,20 @@
"title": "Issue Solution Schema",
"description": "Schema for solution registered to an issue",
"type": "object",
"required": ["id", "issue_id", "tasks", "status", "created_at"],
"required": ["id", "tasks", "is_bound", "created_at"],
"properties": {
"id": {
"type": "string",
"description": "Unique solution identifier",
"pattern": "^SOL-[0-9]+$"
},
"issue_id": {
"description": {
"type": "string",
"description": "Parent issue ID"
"description": "High-level summary of the solution"
},
"plan_session_id": {
"approach": {
"type": "string",
"description": "Planning session that created this solution"
"description": "Technical approach or strategy"
},
"tasks": {
"type": "array",
@@ -106,26 +106,9 @@
"type": "integer",
"description": "Estimated time to complete"
},
"executor": {
"type": "string",
"enum": ["codex", "gemini", "agent", "auto"],
"default": "auto"
},
"lifecycle_status": {
"type": "object",
"description": "Lifecycle phase tracking",
"properties": {
"implemented": { "type": "boolean" },
"tested": { "type": "boolean" },
"regression_passed": { "type": "boolean" },
"accepted": { "type": "boolean" },
"committed": { "type": "boolean" }
}
},
"status": {
"type": "string",
"enum": ["pending", "ready", "executing", "completed", "failed", "blocked"],
"default": "pending"
"description": "Task status (optional, for tracking)"
},
"priority": {
"type": "integer",
@@ -164,11 +147,6 @@
"maximum": 1,
"description": "Solution quality score (0.0-1.0)"
},
"status": {
"type": "string",
"enum": ["draft", "candidate", "bound", "queued", "executing", "completed", "failed"],
"default": "draft"
},
"is_bound": {
"type": "boolean",
"default": false,