Skip to content

Commit b3f420a

Browse files
author
catlog22
committed
refactor(req-plan): remove redundant session issues.jsonl and execution-plan.json
Issues are stored solely in .workflow/issues/issues.jsonl via ccw issue create. Wave/dependency info embedded in issue tags (wave-N) and extended_context.notes. Session directory now only contains roadmap.md, strategy-assessment.json, and optional exploration-codebase.json. team-planex consumes issues directly by ID.
1 parent 357f48a commit b3f420a

1 file changed

Lines changed: 21 additions & 69 deletions

File tree

.claude/commands/workflow/req-plan-with-file.md

Lines changed: 21 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: req-plan-with-file
3-
description: Requirement-level progressive roadmap planning with issue creation. Decomposes requirements into convergent layers or task sequences, creates issues via ccw issue create, and generates execution-plan.json for team-planex consumption.
3+
description: Requirement-level progressive roadmap planning with issue creation. Decomposes requirements into convergent layers or task sequences, creates issues via ccw issue create, and generates roadmap.md for human review. Issues stored in .workflow/issues/issues.jsonl (single source of truth).
44
argument-hint: "[-y|--yes] [-c|--continue] [-m|--mode progressive|direct|auto] \"requirement description\""
55
allowed-tools: TodoWrite(*), Task(*), AskUserQuestion(*), Read(*), Grep(*), Glob(*), Bash(*), Edit(*), Write(*)
66
---
@@ -31,11 +31,11 @@ When `--yes` or `-y`: Auto-confirm strategy selection, use recommended mode, ski
3131

3232
**Context Source**: cli-explore-agent (optional) + requirement analysis
3333
**Output Directory**: `.workflow/.req-plan/{session-id}/`
34-
**Core Innovation**: Requirement decomposition → issue creation → execution-plan.json for team-planex consumption. Each issue is standard issues-jsonl-schema format, bridging req-plan to team-planex execution pipeline.
34+
**Core Innovation**: Requirement decomposition → issue creation via `ccw issue create`. Issues stored in `.workflow/issues/issues.jsonl` (single source of truth). Wave/dependency info embedded in issue tags (`wave-N`) and `extended_context.notes.depends_on_issues`. team-planex consumes issues directly by ID or tag query.
3535

3636
## Overview
3737

38-
Requirement-level layered roadmap planning command. Decomposes a requirement into **convergent layers or task sequences**, creates issues via `ccw issue create`, and generates execution-plan.json for team-planex consumption.
38+
Requirement-level layered roadmap planning command. Decomposes a requirement into **convergent layers or task sequences**, creates issues via `ccw issue create`. Issues are the single source of truth in `.workflow/issues/issues.jsonl`; wave and dependency info is embedded in issue tags and `extended_context.notes`.
3939

4040
**Dual Modes**:
4141
- **Progressive**: Layered MVP→iterations, suitable for high-uncertainty requirements (validate first, then refine)
@@ -66,8 +66,6 @@ Requirement-level layered roadmap planning command. Decomposes a requirement int
6666
│ ├─ Progressive: define 2-4 layers, each with full convergence │
6767
│ ├─ Direct: vertical slicing + topological sort, each with convergence│
6868
│ ├─ Create issues via ccw issue create (ISS-xxx IDs) │
69-
│ ├─ Generate execution-plan.json (waves + dependencies) │
70-
│ ├─ Generate issues.jsonl (session copy) │
7169
│ └─ Generate roadmap.md (with issue ID references) │
7270
│ │
7371
│ Phase 4: Validation & team-planex Handoff │
@@ -83,8 +81,6 @@ Requirement-level layered roadmap planning command. Decomposes a requirement int
8381
```
8482
.workflow/.req-plan/RPLAN-{slug}-{YYYY-MM-DD}/
8583
├── roadmap.md # Human-readable roadmap with issue ID references
86-
├── issues.jsonl # Standard issues-jsonl-schema format (session copy)
87-
├── execution-plan.json # Wave grouping + issue dependencies (team-planex bridge)
8884
├── strategy-assessment.json # Strategy assessment result
8985
└── exploration-codebase.json # Codebase context (optional)
9086
```
@@ -94,8 +90,6 @@ Requirement-level layered roadmap planning command. Decomposes a requirement int
9490
| `strategy-assessment.json` | 1 | Uncertainty analysis + mode recommendation + extracted goal/constraints/stakeholders |
9591
| `roadmap.md` (skeleton) | 1 | Initial skeleton with placeholders, finalized in Phase 3 |
9692
| `exploration-codebase.json` | 2 | Codebase context: relevant modules, patterns, integration points (only when codebase exists) |
97-
| `issues.jsonl` | 3 | Standard issues-jsonl-schema records, one per line (session copy of created issues) |
98-
| `execution-plan.json` | 3 | Wave grouping with issue dependencies for team-planex consumption |
9993
| `roadmap.md` (final) | 3 | Human-readable roadmap with issue ID references, convergence details, team-planex execution guide |
10094

10195
**roadmap.md template**:
@@ -137,11 +131,11 @@ Requirement-level layered roadmap planning command. Decomposes a requirement int
137131
**Session ID format**: `RPLAN-{slug}-{YYYY-MM-DD}`
138132
- slug: lowercase, alphanumeric + CJK characters, max 40 chars
139133
- date: YYYY-MM-DD (UTC+8)
140-
- Auto-detect continue: session folder + roadmap.jsonl exists → continue mode
134+
- Auto-detect continue: session folder + roadmap.md exists → continue mode
141135

142136
## JSONL Schema Design
143137

144-
### Issue Format (issues.jsonl)
138+
### Issue Format
145139

146140
Each line in `issues.jsonl` follows the standard `issues-jsonl-schema.json` (see `.ccw/workflows/cli-templates/schemas/issues-jsonl-schema.json`).
147141

@@ -158,39 +152,6 @@ Each line in `issues.jsonl` follows the standard `issues-jsonl-schema.json` (see
158152
| `extended_context.notes` | Metadata JSON | session, strategy, original_id, wave, depends_on_issues |
159153
| `lifecycle_requirements` | Fixed | test_strategy, regression_scope, acceptance_type, commit_strategy |
160154

161-
### Execution Plan Format (execution-plan.json)
162-
163-
```json
164-
{
165-
"session_id": "RPLAN-{slug}-{date}",
166-
"requirement": "Original requirement description",
167-
"strategy": "progressive|direct",
168-
"created_at": "ISO 8601",
169-
"issue_ids": ["ISS-xxx", "ISS-yyy"],
170-
"waves": [
171-
{
172-
"wave": 1,
173-
"label": "MVP",
174-
"issue_ids": ["ISS-xxx"],
175-
"depends_on_waves": []
176-
},
177-
{
178-
"wave": 2,
179-
"label": "Usable",
180-
"issue_ids": ["ISS-yyy"],
181-
"depends_on_waves": [1]
182-
}
183-
],
184-
"issue_dependencies": {
185-
"ISS-yyy": ["ISS-xxx"]
186-
}
187-
}
188-
```
189-
190-
**Wave mapping**:
191-
- Progressive mode: each layer → one wave (L0→Wave 1, L1→Wave 2, ...)
192-
- Direct mode: each parallel_group → one wave (group 1→Wave 1, group 2→Wave 2, ...)
193-
194155
### Convergence Criteria (in issue context)
195156

196157
Each issue's `context` field contains convergence information:
@@ -228,7 +189,7 @@ const dateStr = getUtc8ISOString().substring(0, 10)
228189
const sessionId = `RPLAN-${slug}-${dateStr}`
229190
const sessionFolder = `.workflow/.req-plan/${sessionId}`
230191

231-
// Auto-detect continue: session folder + roadmap.jsonl exists → continue mode
192+
// Auto-detect continue: session folder + roadmap.md exists → continue mode
232193
Bash(`mkdir -p ${sessionFolder}`)
233194
```
234195

@@ -419,7 +380,7 @@ Bash(`mkdir -p ${sessionFolder}`)
419380

420381
### Phase 3: Decomposition & Issue Creation
421382

422-
**Objective**: Execute requirement decomposition via `cli-roadmap-plan-agent`, creating issues and generating execution-plan.json + issues.jsonl + roadmap.md.
383+
**Objective**: Execute requirement decomposition via `cli-roadmap-plan-agent`, creating issues and generating roadmap.md.
423384

424385
**Prerequisites**: Phase 1, Phase 2 complete. Strategy selected. Context collected (if applicable).
425386

@@ -443,7 +404,7 @@ Bash(`mkdir -p ${sessionFolder}`)
443404
- Phase 1: Context loading + requirement analysis
444405
- Phase 2: CLI-assisted decomposition (Gemini → Qwen → manual fallback)
445406
- Phase 3: Record enhancement + validation (schema compliance, dependency checks, convergence quality)
446-
- Phase 4: Issue creation + output generation (ccw issue create → execution-plan.json → issues.jsonl → roadmap.md)
407+
- Phase 4: Issue creation + roadmap generation (ccw issue create → roadmap.md)
447408
- Phase 5: CLI decomposition quality check (**MANDATORY** - requirement coverage, convergence criteria quality, dependency correctness)
448409

449410
```javascript
@@ -471,8 +432,6 @@ Bash(`mkdir -p ${sessionFolder}`)
471432
### Issue Creation
472433
- Use \`ccw issue create\` for each decomposed item
473434
- Issue format: issues-jsonl-schema (id, title, status, priority, context, source, tags, extended_context)
474-
- Write \`execution-plan.json\` with wave groupings + issue dependencies
475-
- Write \`issues.jsonl\` session copy
476435
- Update \`roadmap.md\` with issue ID references
477436
478437
### CLI Configuration
@@ -481,10 +440,8 @@ Bash(`mkdir -p ${sessionFolder}`)
481440
- Timeout: 60000ms
482441
483442
### Expected Output
484-
1. **${sessionFolder}/issues.jsonl** - Session copy of created issues (standard issues-jsonl-schema)
485-
2. **${sessionFolder}/execution-plan.json** - Wave grouping + issue dependencies
486-
3. **${sessionFolder}/roadmap.md** - Human-readable roadmap with issue references
487-
4. Issues created in \`.workflow/issues/issues.jsonl\` via ccw issue create
443+
1. **${sessionFolder}/roadmap.md** - Human-readable roadmap with issue references
444+
2. Issues created in \`.workflow/issues/issues.jsonl\` via ccw issue create
488445
489446
### Mode-Specific Requirements
490447
@@ -510,7 +467,7 @@ Bash(`mkdir -p ${sessionFolder}`)
510467
1. Analyze requirement and build decomposition context
511468
2. Execute CLI-assisted decomposition (Gemini, fallback Qwen)
512469
3. Parse output, validate records, enhance convergence quality
513-
4. Create issues via ccw issue create, generate execution-plan.json + issues.jsonl + roadmap.md
470+
4. Create issues via ccw issue create, generate roadmap.md
514471
5. Execute mandatory quality check (Phase 5)
515472
6. Return brief completion summary
516473
`
@@ -519,8 +476,6 @@ Bash(`mkdir -p ${sessionFolder}`)
519476

520477
**Success Criteria**:
521478
- Issues created via `ccw issue create`, each with formal ISS-xxx ID
522-
- issues.jsonl generated, each line independently JSON.parse-able, conforms to issues-jsonl-schema
523-
- execution-plan.json generated with correct wave groupings and issue dependencies
524479
- roadmap.md generated with issue ID references
525480
- Agent's internal quality check passed
526481
- No circular dependencies
@@ -531,17 +486,15 @@ Bash(`mkdir -p ${sessionFolder}`)
531486

532487
**Objective**: Display decomposition results, collect user feedback, provide team-planex execution options.
533488

534-
**Prerequisites**: Phase 3 complete, issues created, execution-plan.json generated.
489+
**Prerequisites**: Phase 3 complete, issues created, roadmap.md generated.
535490

536491
**Steps**:
537492

538493
1. **Display Decomposition Results** (tabular format)
539494

540495
```javascript
541-
// Read execution plan for display
542-
const executionPlan = JSON.parse(Read(`${sessionFolder}/execution-plan.json`))
543-
const issueIds = executionPlan.issue_ids
544-
const waves = executionPlan.waves
496+
// Use issueIdMap from Phase 3 for display
497+
const issueIds = Object.values(issueIdMap)
545498
```
546499

547500
**Progressive Mode**:
@@ -619,8 +572,8 @@ Bash(`mkdir -p ${sessionFolder}`)
619572
header: "Next Step",
620573
multiSelect: false,
621574
options: [
622-
{ label: "Execute with team-planex", description: `启动 team-planex 执行全部 ${issueIds.length} 个 issues${waves.length} 个波次)` },
623-
{ label: "Execute first wave", description: `仅执行 Wave 1: ${waves[0].label}` },
575+
{ label: "Execute with team-planex", description: `启动 team-planex 执行全部 ${issueIds.length} 个 issues` },
576+
{ label: "Execute first wave", description: "仅执行 Wave 1(按 wave-1 tag 筛选)" },
624577
{ label: "View issues", description: "查看已创建的 issue 详情" },
625578
{ label: "Done", description: "保存路线图,稍后执行" }
626579
]
@@ -631,15 +584,15 @@ Bash(`mkdir -p ${sessionFolder}`)
631584

632585
| Selection | Action |
633586
|-----------|--------|
634-
| Execute with team-planex | `Skill(skill="team-planex", args="--plan ${sessionFolder}/execution-plan.json")` |
635-
| Execute first wave | `Skill(skill="team-planex", args="${waves[0].issue_ids.join(' ')}")` |
636-
| View issues | Display issues summary table from issues.jsonl |
587+
| Execute with team-planex | `Skill(skill="team-planex", args="${issueIds.join(' ')}")` |
588+
| Execute first wave | Filter issues by `wave-1` tag, pass to team-planex |
589+
| View issues | Display issues summary from `.workflow/issues/issues.jsonl` |
637590
| Done | Display file paths, end |
638591

639592
**Success Criteria**:
640593
- User feedback processed (or skipped via autoYes)
641594
- Post-completion options provided
642-
- team-planex handoff available via execution-plan.json
595+
- team-planex handoff available via issue IDs
643596

644597
## Error Handling
645598

@@ -651,7 +604,6 @@ Bash(`mkdir -p ${sessionFolder}`)
651604
| User feedback timeout | Save current state, display `--continue` recovery command |
652605
| Max feedback rounds reached | Use current version to generate final artifacts |
653606
| Session folder conflict | Append timestamp suffix |
654-
| JSONL format error | Validate line by line, report problematic lines and fix |
655607

656608
## Best Practices
657609

@@ -660,7 +612,7 @@ Bash(`mkdir -p ${sessionFolder}`)
660612
3. **Testable convergence**: criteria must be writable as assertions or manual steps; definition_of_done should be judgeable by non-technical stakeholders (see Convergence Criteria in JSONL Schema Design)
661613
4. **Agent-First for Exploration**: Delegate codebase exploration to cli-explore-agent, do not analyze directly in main flow
662614
5. **Incremental validation**: Use `--continue` to iterate on existing roadmaps
663-
6. **team-planex integration**: Issues created follow standard issues-jsonl-schema, directly consumable by team-planex via execution-plan.json
615+
6. **team-planex integration**: Issues created follow standard issues-jsonl-schema, directly consumable by team-planex via issue IDs and tags
664616

665617

666618
---

0 commit comments

Comments
 (0)