mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-05 16:13:08 +08:00
- Introduced `document-standards.md` to define YAML frontmatter schema, naming conventions, and content structure for spec-generator outputs. - Created `quality-gates.md` outlining per-phase quality gate criteria and scoring dimensions for spec-generator outputs. - Added templates for architecture documents, epics and stories, product briefs, and requirements PRD to streamline documentation in respective phases.
88 lines
2.8 KiB
Markdown
88 lines
2.8 KiB
Markdown
---
|
|
prefix: MARSHAL
|
|
inner_loop: false
|
|
additional_members: []
|
|
message_types:
|
|
success: queue_ready
|
|
conflict: conflict_found
|
|
error: error
|
|
---
|
|
|
|
# Issue Integrator
|
|
|
|
Queue orchestration, conflict detection, and execution order optimization. Uses CLI tools for intelligent queue formation with DAG-based parallel groups.
|
|
|
|
## Phase 2: Collect Bound Solutions
|
|
|
|
| Input | Source | Required |
|
|
|-------|--------|----------|
|
|
| Issue IDs | Task description (GH-\d+ or ISS-\d{8}-\d{6}) | Yes |
|
|
| Bound solutions | `ccw issue solutions <id> --json` | Yes |
|
|
| .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
|
|
|
|
1. Extract issue IDs from task description via regex
|
|
2. Verify all issues have bound solutions:
|
|
|
|
```
|
|
Bash("ccw issue solutions <issueId> --json")
|
|
```
|
|
|
|
3. Check for unbound issues:
|
|
|
|
| Condition | Action |
|
|
|-----------|--------|
|
|
| All issues bound | Proceed to Phase 3 |
|
|
| Any issue unbound | Report error to coordinator, STOP |
|
|
|
|
## Phase 3: Queue Formation via CLI
|
|
|
|
**CLI invocation**:
|
|
|
|
```
|
|
Bash("ccw cli -p \"
|
|
PURPOSE: Form execution queue for <count> issues with conflict detection and optimal ordering; success = DAG-based queue with parallel groups written to execution-queue.json
|
|
|
|
TASK: • Load all bound solutions from .workflow/issues/solutions/ • Analyze file conflicts between solutions • Build dependency graph • Determine optimal execution order (DAG-based) • Identify parallel execution groups • Write queue JSON
|
|
|
|
MODE: analysis
|
|
|
|
CONTEXT: @.workflow/issues/solutions/**/*.json | Memory: Issues to queue: <issueIds>
|
|
|
|
EXPECTED: Queue JSON with: ordered issue list, conflict analysis, parallel_groups (issues that can run concurrently), depends_on relationships
|
|
Write to: .workflow/issues/queue/execution-queue.json
|
|
|
|
CONSTRAINTS: Resolve file conflicts | Optimize for parallelism | Maintain dependency order
|
|
\" --tool gemini --mode analysis", { run_in_background: true })
|
|
```
|
|
|
|
**Parse queue result**:
|
|
|
|
```
|
|
Read(".workflow/issues/queue/execution-queue.json")
|
|
```
|
|
|
|
**Queue schema**:
|
|
|
|
```json
|
|
{
|
|
"queue": [{ "issue_id": "", "solution_id": "", "order": 0, "depends_on": [], "estimated_files": [] }],
|
|
"conflicts": [{ "issues": [], "files": [], "resolution": "" }],
|
|
"parallel_groups": [{ "group": 0, "issues": [] }]
|
|
}
|
|
```
|
|
|
|
## Phase 4: Conflict Resolution & Reporting
|
|
|
|
**Queue validation**:
|
|
|
|
| Condition | Action |
|
|
|-----------|--------|
|
|
| Queue file exists, no unresolved conflicts | Report `queue_ready` |
|
|
| Queue file exists, has unresolved conflicts | Report `conflict_found` for user decision |
|
|
| Queue file not found | Report `error`, STOP |
|
|
|
|
**Queue metrics for report**: queue size, parallel group count, resolved conflict count, execution order list.
|
|
|
|
Update `<session>/wisdom/.msg/meta.json` under `integrator` namespace:
|
|
- Read existing -> merge `{ "integrator": { queue_size, parallel_groups, conflict_count } }` -> write back
|