claude-code-workflow 6.3.4 → 6.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/issue-plan-agent.md +859 -0
- package/.claude/agents/issue-queue-agent.md +702 -0
- package/.claude/commands/issue/execute.md +453 -0
- package/.claude/commands/issue/manage.md +865 -0
- package/.claude/commands/issue/new.md +484 -0
- package/.claude/commands/issue/plan.md +421 -0
- package/.claude/commands/issue/queue.md +354 -0
- package/.claude/commands/{clean.md → workflow/clean.md} +5 -5
- package/.claude/commands/workflow/docs/analyze.md +1467 -0
- package/.claude/commands/workflow/docs/copyright.md +1265 -0
- package/.claude/commands/workflow/execute.md +0 -1
- package/.claude/commands/workflow/tools/conflict-resolution.md +76 -240
- package/.claude/commands/workflow/tools/context-gather.md +0 -2
- package/.claude/commands/workflow/tools/task-generate-agent.md +81 -8
- package/.claude/commands/workflow/tools/task-generate-tdd.md +0 -9
- package/.claude/commands/workflow/tools/test-context-gather.md +2 -3
- package/.claude/commands/workflow/tools/test-task-generate.md +0 -2
- package/.claude/skills/_shared/mermaid-utils.md +584 -0
- package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +0 -2
- package/.claude/skills/command-guide/reference/commands/workflow/execute.md +1 -1
- package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +1 -2
- package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +1 -8
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +1 -4
- package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +0 -2
- package/.claude/skills/copyright-docs/SKILL.md +132 -0
- package/.claude/skills/copyright-docs/phases/01-metadata-collection.md +78 -0
- package/.claude/skills/copyright-docs/phases/01.5-project-exploration.md +150 -0
- package/.claude/skills/copyright-docs/phases/02-deep-analysis.md +664 -0
- package/.claude/skills/copyright-docs/phases/02.5-consolidation.md +192 -0
- package/.claude/skills/copyright-docs/phases/04-document-assembly.md +261 -0
- package/.claude/skills/copyright-docs/phases/05-compliance-refinement.md +192 -0
- package/.claude/skills/copyright-docs/specs/cpcc-requirements.md +121 -0
- package/.claude/skills/copyright-docs/templates/agent-base.md +200 -0
- package/.claude/skills/project-analyze/SKILL.md +162 -0
- package/.claude/skills/project-analyze/phases/01-requirements-discovery.md +79 -0
- package/.claude/skills/project-analyze/phases/02-project-exploration.md +176 -0
- package/.claude/skills/project-analyze/phases/03-deep-analysis.md +854 -0
- package/.claude/skills/project-analyze/phases/03.5-consolidation.md +233 -0
- package/.claude/skills/project-analyze/phases/04-report-generation.md +217 -0
- package/.claude/skills/project-analyze/phases/05-iterative-refinement.md +124 -0
- package/.claude/skills/project-analyze/specs/quality-standards.md +115 -0
- package/.claude/skills/project-analyze/specs/writing-style.md +152 -0
- package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +79 -65
- package/.claude/workflows/cli-templates/schemas/issue-task-jsonl-schema.json +136 -0
- package/.claude/workflows/cli-templates/schemas/issues-jsonl-schema.json +74 -0
- package/.claude/workflows/cli-templates/schemas/queue-schema.json +136 -0
- package/.claude/workflows/cli-templates/schemas/registry-schema.json +94 -0
- package/.claude/workflows/cli-templates/schemas/solution-schema.json +120 -0
- package/.claude/workflows/cli-templates/schemas/solutions-jsonl-schema.json +125 -0
- package/.codex/prompts/issue-execute.md +266 -0
- package/README.md +11 -1
- package/ccw/dist/cli.d.ts.map +1 -1
- package/ccw/dist/cli.js +25 -0
- package/ccw/dist/cli.js.map +1 -1
- package/ccw/dist/commands/cli.d.ts.map +1 -1
- package/ccw/dist/commands/cli.js +46 -8
- package/ccw/dist/commands/cli.js.map +1 -1
- package/ccw/dist/commands/issue.d.ts +21 -0
- package/ccw/dist/commands/issue.d.ts.map +1 -0
- package/ccw/dist/commands/issue.js +895 -0
- package/ccw/dist/commands/issue.js.map +1 -0
- package/ccw/dist/core/dashboard-generator-patch.js +1 -0
- package/ccw/dist/core/dashboard-generator-patch.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js +2 -2
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/issue-routes.d.ts +34 -0
- package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/issue-routes.js +487 -0
- package/ccw/dist/core/routes/issue-routes.js.map +1 -0
- package/ccw/dist/core/server.d.ts.map +1 -1
- package/ccw/dist/core/server.js +17 -2
- package/ccw/dist/core/server.js.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.d.ts +7 -3
- package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
- package/ccw/dist/tools/claude-cli-tools.js +31 -17
- package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
- package/ccw/dist/tools/smart-search.d.ts +25 -0
- package/ccw/dist/tools/smart-search.d.ts.map +1 -1
- package/ccw/dist/tools/smart-search.js +121 -17
- package/ccw/dist/tools/smart-search.js.map +1 -1
- package/ccw/src/cli.ts +26 -0
- package/ccw/src/commands/cli.ts +49 -7
- package/ccw/src/commands/issue.ts +1184 -0
- package/ccw/src/core/dashboard-generator-patch.ts +1 -0
- package/ccw/src/core/routes/cli-routes.ts +3 -3
- package/ccw/src/core/routes/issue-routes.ts +559 -0
- package/ccw/src/core/server.ts +17 -2
- package/ccw/src/templates/dashboard-css/32-issue-manager.css +2544 -0
- package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +467 -0
- package/ccw/src/templates/dashboard-js/components/cli-history.js +40 -13
- package/ccw/src/templates/dashboard-js/components/cli-status.js +26 -2
- package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +461 -0
- package/ccw/src/templates/dashboard-js/components/navigation.js +8 -0
- package/ccw/src/templates/dashboard-js/components/notifications.js +16 -0
- package/ccw/src/templates/dashboard-js/i18n.js +290 -2
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +5 -0
- package/ccw/src/templates/dashboard-js/views/history.js +19 -4
- package/ccw/src/templates/dashboard-js/views/hook-manager.js +11 -5
- package/ccw/src/templates/dashboard-js/views/issue-manager.js +1546 -0
- package/ccw/src/templates/dashboard.html +55 -0
- package/ccw/src/tools/claude-cli-tools.ts +37 -20
- package/ccw/src/tools/smart-search.ts +157 -16
- package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/config.py +5 -0
- package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/search/hybrid_search.py +144 -11
- package/codex-lens/src/codexlens/search/ranking.py +267 -1
- package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
- package/codex-lens/src/codexlens/semantic/chunker.py +55 -10
- package/package.json +2 -2
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Issue Execution Queue Schema",
|
|
4
|
+
"description": "Global execution queue for all issue tasks",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"queue": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"description": "Ordered list of tasks to execute",
|
|
10
|
+
"items": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"required": ["queue_id", "issue_id", "solution_id", "task_id", "status"],
|
|
13
|
+
"properties": {
|
|
14
|
+
"queue_id": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"pattern": "^Q-[0-9]+$",
|
|
17
|
+
"description": "Unique queue item identifier"
|
|
18
|
+
},
|
|
19
|
+
"issue_id": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Source issue ID"
|
|
22
|
+
},
|
|
23
|
+
"solution_id": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Source solution ID"
|
|
26
|
+
},
|
|
27
|
+
"task_id": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "Task ID within solution"
|
|
30
|
+
},
|
|
31
|
+
"status": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"enum": ["pending", "ready", "executing", "completed", "failed", "blocked"],
|
|
34
|
+
"default": "pending"
|
|
35
|
+
},
|
|
36
|
+
"execution_order": {
|
|
37
|
+
"type": "integer",
|
|
38
|
+
"description": "Order in execution sequence"
|
|
39
|
+
},
|
|
40
|
+
"execution_group": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "Parallel execution group ID (e.g., P1, S1)"
|
|
43
|
+
},
|
|
44
|
+
"depends_on": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"items": { "type": "string" },
|
|
47
|
+
"description": "Queue IDs this task depends on"
|
|
48
|
+
},
|
|
49
|
+
"semantic_priority": {
|
|
50
|
+
"type": "number",
|
|
51
|
+
"minimum": 0,
|
|
52
|
+
"maximum": 1,
|
|
53
|
+
"description": "Semantic importance score (0.0-1.0)"
|
|
54
|
+
},
|
|
55
|
+
"assigned_executor": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"enum": ["codex", "gemini", "agent"]
|
|
58
|
+
},
|
|
59
|
+
"queued_at": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"format": "date-time"
|
|
62
|
+
},
|
|
63
|
+
"started_at": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"format": "date-time"
|
|
66
|
+
},
|
|
67
|
+
"completed_at": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"format": "date-time"
|
|
70
|
+
},
|
|
71
|
+
"result": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"description": "Execution result",
|
|
74
|
+
"properties": {
|
|
75
|
+
"files_modified": { "type": "array", "items": { "type": "string" } },
|
|
76
|
+
"files_created": { "type": "array", "items": { "type": "string" } },
|
|
77
|
+
"summary": { "type": "string" },
|
|
78
|
+
"commit_hash": { "type": "string" }
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"failure_reason": {
|
|
82
|
+
"type": "string"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"conflicts": {
|
|
88
|
+
"type": "array",
|
|
89
|
+
"description": "Detected conflicts between tasks",
|
|
90
|
+
"items": {
|
|
91
|
+
"type": "object",
|
|
92
|
+
"properties": {
|
|
93
|
+
"type": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"enum": ["file_conflict", "dependency_conflict", "resource_conflict"]
|
|
96
|
+
},
|
|
97
|
+
"tasks": {
|
|
98
|
+
"type": "array",
|
|
99
|
+
"items": { "type": "string" },
|
|
100
|
+
"description": "Queue IDs involved in conflict"
|
|
101
|
+
},
|
|
102
|
+
"file": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"description": "Conflicting file path"
|
|
105
|
+
},
|
|
106
|
+
"resolution": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"enum": ["sequential", "merge", "manual"]
|
|
109
|
+
},
|
|
110
|
+
"resolution_order": {
|
|
111
|
+
"type": "array",
|
|
112
|
+
"items": { "type": "string" }
|
|
113
|
+
},
|
|
114
|
+
"resolved": {
|
|
115
|
+
"type": "boolean",
|
|
116
|
+
"default": false
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"_metadata": {
|
|
122
|
+
"type": "object",
|
|
123
|
+
"properties": {
|
|
124
|
+
"version": { "type": "string", "default": "1.0" },
|
|
125
|
+
"total_items": { "type": "integer" },
|
|
126
|
+
"pending_count": { "type": "integer" },
|
|
127
|
+
"ready_count": { "type": "integer" },
|
|
128
|
+
"executing_count": { "type": "integer" },
|
|
129
|
+
"completed_count": { "type": "integer" },
|
|
130
|
+
"failed_count": { "type": "integer" },
|
|
131
|
+
"last_queue_formation": { "type": "string", "format": "date-time" },
|
|
132
|
+
"last_updated": { "type": "string", "format": "date-time" }
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Issue Registry Schema",
|
|
4
|
+
"description": "Global registry of all issues and their solutions",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"issues": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"description": "List of registered issues",
|
|
10
|
+
"items": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"required": ["id", "title", "status", "created_at"],
|
|
13
|
+
"properties": {
|
|
14
|
+
"id": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Issue ID (e.g., GH-123, TEXT-xxx)"
|
|
17
|
+
},
|
|
18
|
+
"title": {
|
|
19
|
+
"type": "string"
|
|
20
|
+
},
|
|
21
|
+
"status": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"enum": ["registered", "planning", "planned", "queued", "executing", "completed", "failed", "paused"],
|
|
24
|
+
"default": "registered"
|
|
25
|
+
},
|
|
26
|
+
"priority": {
|
|
27
|
+
"type": "integer",
|
|
28
|
+
"minimum": 1,
|
|
29
|
+
"maximum": 5,
|
|
30
|
+
"default": 3
|
|
31
|
+
},
|
|
32
|
+
"solution_count": {
|
|
33
|
+
"type": "integer",
|
|
34
|
+
"default": 0,
|
|
35
|
+
"description": "Number of candidate solutions"
|
|
36
|
+
},
|
|
37
|
+
"bound_solution_id": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "ID of the bound solution (null if none bound)"
|
|
40
|
+
},
|
|
41
|
+
"source": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"enum": ["github", "text", "file"],
|
|
44
|
+
"description": "Source of the issue"
|
|
45
|
+
},
|
|
46
|
+
"source_url": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "Original source URL (for GitHub issues)"
|
|
49
|
+
},
|
|
50
|
+
"created_at": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"format": "date-time"
|
|
53
|
+
},
|
|
54
|
+
"updated_at": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"format": "date-time"
|
|
57
|
+
},
|
|
58
|
+
"planned_at": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"format": "date-time"
|
|
61
|
+
},
|
|
62
|
+
"queued_at": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"format": "date-time"
|
|
65
|
+
},
|
|
66
|
+
"completed_at": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"format": "date-time"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"_metadata": {
|
|
74
|
+
"type": "object",
|
|
75
|
+
"properties": {
|
|
76
|
+
"version": { "type": "string", "default": "1.0" },
|
|
77
|
+
"total_issues": { "type": "integer" },
|
|
78
|
+
"by_status": {
|
|
79
|
+
"type": "object",
|
|
80
|
+
"properties": {
|
|
81
|
+
"registered": { "type": "integer" },
|
|
82
|
+
"planning": { "type": "integer" },
|
|
83
|
+
"planned": { "type": "integer" },
|
|
84
|
+
"queued": { "type": "integer" },
|
|
85
|
+
"executing": { "type": "integer" },
|
|
86
|
+
"completed": { "type": "integer" },
|
|
87
|
+
"failed": { "type": "integer" }
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"last_updated": { "type": "string", "format": "date-time" }
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Issue Solution Schema",
|
|
4
|
+
"description": "Schema for solution registered to an issue",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["id", "issue_id", "tasks", "status", "created_at"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique solution identifier",
|
|
11
|
+
"pattern": "^SOL-[0-9]+$"
|
|
12
|
+
},
|
|
13
|
+
"issue_id": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Parent issue ID"
|
|
16
|
+
},
|
|
17
|
+
"plan_session_id": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Planning session that created this solution"
|
|
20
|
+
},
|
|
21
|
+
"tasks": {
|
|
22
|
+
"type": "array",
|
|
23
|
+
"description": "Task breakdown for this solution",
|
|
24
|
+
"items": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"required": ["id", "title", "scope", "action", "acceptance"],
|
|
27
|
+
"properties": {
|
|
28
|
+
"id": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"pattern": "^T[0-9]+$"
|
|
31
|
+
},
|
|
32
|
+
"title": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Action verb + target"
|
|
35
|
+
},
|
|
36
|
+
"scope": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "Module path or feature area"
|
|
39
|
+
},
|
|
40
|
+
"action": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"enum": ["Create", "Update", "Implement", "Refactor", "Add", "Delete", "Configure", "Test", "Fix"]
|
|
43
|
+
},
|
|
44
|
+
"description": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "1-2 sentences describing what to implement"
|
|
47
|
+
},
|
|
48
|
+
"modification_points": {
|
|
49
|
+
"type": "array",
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "object",
|
|
52
|
+
"properties": {
|
|
53
|
+
"file": { "type": "string" },
|
|
54
|
+
"target": { "type": "string" },
|
|
55
|
+
"change": { "type": "string" }
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"implementation": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"items": { "type": "string" },
|
|
62
|
+
"description": "Step-by-step implementation guide"
|
|
63
|
+
},
|
|
64
|
+
"acceptance": {
|
|
65
|
+
"type": "array",
|
|
66
|
+
"items": { "type": "string" },
|
|
67
|
+
"description": "Quantified completion criteria"
|
|
68
|
+
},
|
|
69
|
+
"depends_on": {
|
|
70
|
+
"type": "array",
|
|
71
|
+
"items": { "type": "string" },
|
|
72
|
+
"default": [],
|
|
73
|
+
"description": "Task IDs this task depends on"
|
|
74
|
+
},
|
|
75
|
+
"estimated_minutes": {
|
|
76
|
+
"type": "integer",
|
|
77
|
+
"description": "Estimated time to complete"
|
|
78
|
+
},
|
|
79
|
+
"executor": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"enum": ["codex", "gemini", "agent", "auto"],
|
|
82
|
+
"default": "auto"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"exploration_context": {
|
|
88
|
+
"type": "object",
|
|
89
|
+
"description": "ACE exploration results",
|
|
90
|
+
"properties": {
|
|
91
|
+
"project_structure": { "type": "string" },
|
|
92
|
+
"relevant_files": {
|
|
93
|
+
"type": "array",
|
|
94
|
+
"items": { "type": "string" }
|
|
95
|
+
},
|
|
96
|
+
"patterns": { "type": "string" },
|
|
97
|
+
"integration_points": { "type": "string" }
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"status": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"enum": ["draft", "candidate", "bound", "queued", "executing", "completed", "failed"],
|
|
103
|
+
"default": "draft"
|
|
104
|
+
},
|
|
105
|
+
"is_bound": {
|
|
106
|
+
"type": "boolean",
|
|
107
|
+
"default": false,
|
|
108
|
+
"description": "Whether this solution is bound to the issue"
|
|
109
|
+
},
|
|
110
|
+
"created_at": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"format": "date-time"
|
|
113
|
+
},
|
|
114
|
+
"bound_at": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"format": "date-time",
|
|
117
|
+
"description": "When this solution was bound to the issue"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Solutions JSONL Schema",
|
|
4
|
+
"description": "Schema for each line in solutions/{issue-id}.jsonl",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["id", "tasks", "created_at"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique solution identifier",
|
|
11
|
+
"pattern": "^SOL-[0-9]+$"
|
|
12
|
+
},
|
|
13
|
+
"description": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Solution approach description"
|
|
16
|
+
},
|
|
17
|
+
"tasks": {
|
|
18
|
+
"type": "array",
|
|
19
|
+
"description": "Task breakdown for this solution",
|
|
20
|
+
"items": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"required": ["id", "title", "scope", "action", "acceptance"],
|
|
23
|
+
"properties": {
|
|
24
|
+
"id": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"pattern": "^T[0-9]+$"
|
|
27
|
+
},
|
|
28
|
+
"title": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Action verb + target"
|
|
31
|
+
},
|
|
32
|
+
"scope": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Module path or feature area"
|
|
35
|
+
},
|
|
36
|
+
"action": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"enum": ["Create", "Update", "Implement", "Refactor", "Add", "Delete", "Configure", "Test", "Fix"]
|
|
39
|
+
},
|
|
40
|
+
"description": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "1-2 sentences describing what to implement"
|
|
43
|
+
},
|
|
44
|
+
"modification_points": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"items": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"properties": {
|
|
49
|
+
"file": { "type": "string" },
|
|
50
|
+
"target": { "type": "string" },
|
|
51
|
+
"change": { "type": "string" }
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"implementation": {
|
|
56
|
+
"type": "array",
|
|
57
|
+
"items": { "type": "string" },
|
|
58
|
+
"description": "Step-by-step implementation guide"
|
|
59
|
+
},
|
|
60
|
+
"acceptance": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": { "type": "string" },
|
|
63
|
+
"description": "Quantified completion criteria"
|
|
64
|
+
},
|
|
65
|
+
"depends_on": {
|
|
66
|
+
"type": "array",
|
|
67
|
+
"items": { "type": "string" },
|
|
68
|
+
"default": [],
|
|
69
|
+
"description": "Task IDs this task depends on"
|
|
70
|
+
},
|
|
71
|
+
"estimated_minutes": {
|
|
72
|
+
"type": "integer",
|
|
73
|
+
"description": "Estimated time to complete"
|
|
74
|
+
},
|
|
75
|
+
"executor": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"enum": ["codex", "gemini", "agent", "auto"],
|
|
78
|
+
"default": "auto"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"exploration_context": {
|
|
84
|
+
"type": "object",
|
|
85
|
+
"description": "ACE exploration results",
|
|
86
|
+
"properties": {
|
|
87
|
+
"project_structure": { "type": "string" },
|
|
88
|
+
"relevant_files": {
|
|
89
|
+
"type": "array",
|
|
90
|
+
"items": { "type": "string" }
|
|
91
|
+
},
|
|
92
|
+
"patterns": { "type": "string" },
|
|
93
|
+
"integration_points": { "type": "string" }
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"analysis": {
|
|
97
|
+
"type": "object",
|
|
98
|
+
"properties": {
|
|
99
|
+
"risk": { "type": "string", "enum": ["low", "medium", "high"] },
|
|
100
|
+
"impact": { "type": "string", "enum": ["low", "medium", "high"] },
|
|
101
|
+
"complexity": { "type": "string", "enum": ["low", "medium", "high"] }
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"score": {
|
|
105
|
+
"type": "number",
|
|
106
|
+
"minimum": 0,
|
|
107
|
+
"maximum": 1,
|
|
108
|
+
"description": "Solution quality score (0.0-1.0)"
|
|
109
|
+
},
|
|
110
|
+
"is_bound": {
|
|
111
|
+
"type": "boolean",
|
|
112
|
+
"default": false,
|
|
113
|
+
"description": "Whether this solution is bound to the issue"
|
|
114
|
+
},
|
|
115
|
+
"created_at": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"format": "date-time"
|
|
118
|
+
},
|
|
119
|
+
"bound_at": {
|
|
120
|
+
"type": "string",
|
|
121
|
+
"format": "date-time",
|
|
122
|
+
"description": "When this solution was bound to the issue"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|