mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-10 02:24:35 +08:00
- Introduced a new navigation item for "Multi-CLI Plan" in the dashboard template. - Created a new JSON schema for "Multi-CLI Discussion Artifact" to facilitate structured discussions and decision-making processes.
422 lines
12 KiB
JSON
422 lines
12 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Multi-CLI Discussion Artifact Schema",
|
|
"description": "Visualization-friendly output for multi-CLI collaborative discussion agent",
|
|
"type": "object",
|
|
"required": ["metadata", "discussionTopic", "relatedFiles", "planning", "decision", "decisionRecords"],
|
|
"properties": {
|
|
"metadata": {
|
|
"type": "object",
|
|
"required": ["artifactId", "roundId", "timestamp", "contributingAgents"],
|
|
"properties": {
|
|
"artifactId": {
|
|
"type": "string",
|
|
"description": "Unique ID for this artifact (e.g., 'MCP-auth-refactor-2026-01-13-round-1')"
|
|
},
|
|
"roundId": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"description": "Discussion round number"
|
|
},
|
|
"timestamp": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "ISO 8601 timestamp"
|
|
},
|
|
"contributingAgents": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/AgentIdentifier"
|
|
},
|
|
"description": "Agents that contributed to this artifact"
|
|
},
|
|
"durationSeconds": {
|
|
"type": "integer",
|
|
"description": "Total duration in seconds"
|
|
},
|
|
"exportFormats": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["markdown", "html"]
|
|
},
|
|
"description": "Supported export formats"
|
|
}
|
|
}
|
|
},
|
|
"discussionTopic": {
|
|
"type": "object",
|
|
"required": ["title", "description", "status"],
|
|
"properties": {
|
|
"title": {
|
|
"$ref": "#/definitions/I18nLabel"
|
|
},
|
|
"description": {
|
|
"$ref": "#/definitions/I18nLabel"
|
|
},
|
|
"scope": {
|
|
"type": "object",
|
|
"properties": {
|
|
"included": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/I18nLabel" },
|
|
"description": "What's in scope"
|
|
},
|
|
"excluded": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/I18nLabel" },
|
|
"description": "What's explicitly out of scope"
|
|
}
|
|
}
|
|
},
|
|
"keyQuestions": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/I18nLabel" },
|
|
"description": "Questions being explored"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["exploring", "analyzing", "debating", "decided", "blocked"],
|
|
"description": "Discussion status"
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Tags for filtering (e.g., ['auth', 'security', 'api'])"
|
|
}
|
|
}
|
|
},
|
|
"relatedFiles": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fileTree": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/FileNode" },
|
|
"description": "File tree structure"
|
|
},
|
|
"dependencyGraph": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/DependencyEdge" },
|
|
"description": "Dependency relationships"
|
|
},
|
|
"impactSummary": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/FileImpact" },
|
|
"description": "File impact summary"
|
|
}
|
|
}
|
|
},
|
|
"planning": {
|
|
"type": "object",
|
|
"properties": {
|
|
"functional": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/Requirement" },
|
|
"description": "Functional requirements"
|
|
},
|
|
"nonFunctional": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/Requirement" },
|
|
"description": "Non-functional requirements"
|
|
},
|
|
"acceptanceCriteria": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/AcceptanceCriterion" },
|
|
"description": "Acceptance criteria"
|
|
}
|
|
}
|
|
},
|
|
"decision": {
|
|
"type": "object",
|
|
"required": ["status", "confidenceScore"],
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["pending", "decided", "conflict"],
|
|
"description": "Decision status"
|
|
},
|
|
"summary": {
|
|
"$ref": "#/definitions/I18nLabel"
|
|
},
|
|
"selectedSolution": {
|
|
"$ref": "#/definitions/Solution"
|
|
},
|
|
"rejectedAlternatives": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/RejectedSolution" }
|
|
},
|
|
"confidenceScore": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1,
|
|
"description": "Confidence score (0.0 to 1.0)"
|
|
}
|
|
}
|
|
},
|
|
"decisionRecords": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timeline": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/DecisionEvent" },
|
|
"description": "Timeline of decision events"
|
|
}
|
|
}
|
|
},
|
|
"_internal": {
|
|
"type": "object",
|
|
"description": "Internal analysis data (for debugging)",
|
|
"properties": {
|
|
"cli_analyses": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/CLIAnalysis" }
|
|
},
|
|
"cross_verification": {
|
|
"$ref": "#/definitions/CrossVerification"
|
|
},
|
|
"convergence": {
|
|
"$ref": "#/definitions/ConvergenceMetrics"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"I18nLabel": {
|
|
"type": "object",
|
|
"required": ["en", "zh"],
|
|
"properties": {
|
|
"en": { "type": "string" },
|
|
"zh": { "type": "string" }
|
|
},
|
|
"description": "Multi-language label for UI display"
|
|
},
|
|
"AgentIdentifier": {
|
|
"type": "object",
|
|
"required": ["name", "id"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["Gemini", "Codex", "Qwen", "Human", "System"]
|
|
},
|
|
"id": { "type": "string" }
|
|
}
|
|
},
|
|
"FileNode": {
|
|
"type": "object",
|
|
"required": ["path", "type"],
|
|
"properties": {
|
|
"path": { "type": "string" },
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["file", "directory"]
|
|
},
|
|
"modificationStatus": {
|
|
"type": "string",
|
|
"enum": ["added", "modified", "deleted", "unchanged"]
|
|
},
|
|
"impactScore": {
|
|
"type": "string",
|
|
"enum": ["critical", "high", "medium", "low"]
|
|
},
|
|
"children": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/FileNode" }
|
|
},
|
|
"codeSnippet": { "$ref": "#/definitions/CodeSnippet" }
|
|
}
|
|
},
|
|
"DependencyEdge": {
|
|
"type": "object",
|
|
"required": ["source", "target", "relationship"],
|
|
"properties": {
|
|
"source": { "type": "string" },
|
|
"target": { "type": "string" },
|
|
"relationship": { "type": "string" }
|
|
}
|
|
},
|
|
"FileImpact": {
|
|
"type": "object",
|
|
"required": ["filePath", "score", "reasoning"],
|
|
"properties": {
|
|
"filePath": { "type": "string" },
|
|
"line": { "type": "integer" },
|
|
"score": {
|
|
"type": "string",
|
|
"enum": ["critical", "high", "medium", "low"]
|
|
},
|
|
"reasoning": { "$ref": "#/definitions/I18nLabel" }
|
|
}
|
|
},
|
|
"CodeSnippet": {
|
|
"type": "object",
|
|
"required": ["startLine", "endLine", "code"],
|
|
"properties": {
|
|
"startLine": { "type": "integer" },
|
|
"endLine": { "type": "integer" },
|
|
"code": { "type": "string" },
|
|
"language": { "type": "string" },
|
|
"comment": { "$ref": "#/definitions/I18nLabel" }
|
|
}
|
|
},
|
|
"Requirement": {
|
|
"type": "object",
|
|
"required": ["id", "description", "priority"],
|
|
"properties": {
|
|
"id": { "type": "string" },
|
|
"description": { "$ref": "#/definitions/I18nLabel" },
|
|
"priority": {
|
|
"type": "string",
|
|
"enum": ["critical", "high", "medium", "low"]
|
|
},
|
|
"source": { "type": "string" }
|
|
}
|
|
},
|
|
"AcceptanceCriterion": {
|
|
"type": "object",
|
|
"required": ["id", "description", "isMet"],
|
|
"properties": {
|
|
"id": { "type": "string" },
|
|
"description": { "$ref": "#/definitions/I18nLabel" },
|
|
"isMet": { "type": "boolean" }
|
|
}
|
|
},
|
|
"Solution": {
|
|
"type": "object",
|
|
"required": ["id", "title", "description"],
|
|
"properties": {
|
|
"id": { "type": "string" },
|
|
"title": { "$ref": "#/definitions/I18nLabel" },
|
|
"description": { "$ref": "#/definitions/I18nLabel" },
|
|
"pros": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/I18nLabel" }
|
|
},
|
|
"cons": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/I18nLabel" }
|
|
},
|
|
"estimatedEffort": { "$ref": "#/definitions/I18nLabel" },
|
|
"risk": {
|
|
"type": "string",
|
|
"enum": ["critical", "high", "medium", "low"]
|
|
},
|
|
"affectedFiles": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/FileImpact" }
|
|
},
|
|
"sourceCLIs": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
}
|
|
}
|
|
},
|
|
"RejectedSolution": {
|
|
"allOf": [
|
|
{ "$ref": "#/definitions/Solution" },
|
|
{
|
|
"type": "object",
|
|
"required": ["rejectionReason"],
|
|
"properties": {
|
|
"rejectionReason": { "$ref": "#/definitions/I18nLabel" }
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"DecisionEvent": {
|
|
"type": "object",
|
|
"required": ["eventId", "timestamp", "type", "contributor", "summary"],
|
|
"properties": {
|
|
"eventId": { "type": "string" },
|
|
"timestamp": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["proposal", "argument", "agreement", "disagreement", "decision", "reversal"]
|
|
},
|
|
"contributor": { "$ref": "#/definitions/AgentIdentifier" },
|
|
"summary": { "$ref": "#/definitions/I18nLabel" },
|
|
"evidence": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/Evidence" }
|
|
},
|
|
"reversibility": {
|
|
"type": "string",
|
|
"enum": ["easily_reversible", "requires_refactoring", "irreversible"]
|
|
}
|
|
}
|
|
},
|
|
"Evidence": {
|
|
"type": "object",
|
|
"required": ["type", "content", "description"],
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["link", "code_snippet", "log_output", "benchmark", "reference"]
|
|
},
|
|
"content": {},
|
|
"description": { "$ref": "#/definitions/I18nLabel" }
|
|
}
|
|
},
|
|
"CLIAnalysis": {
|
|
"type": "object",
|
|
"required": ["tool", "perspective", "feasibility_score"],
|
|
"properties": {
|
|
"tool": {
|
|
"type": "string",
|
|
"enum": ["gemini", "codex", "qwen"]
|
|
},
|
|
"perspective": { "type": "string" },
|
|
"feasibility_score": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1
|
|
},
|
|
"findings": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"implementation_approaches": { "type": "array" },
|
|
"technical_concerns": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"code_locations": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/definitions/FileImpact" }
|
|
}
|
|
}
|
|
},
|
|
"CrossVerification": {
|
|
"type": "object",
|
|
"properties": {
|
|
"agreements": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"disagreements": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"resolution": { "type": "string" }
|
|
}
|
|
},
|
|
"ConvergenceMetrics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"score": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1
|
|
},
|
|
"new_insights": { "type": "boolean" },
|
|
"recommendation": {
|
|
"type": "string",
|
|
"enum": ["continue", "converged", "user_input_needed"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|