deepflow 0.1.30 → 0.1.31

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/README.md CHANGED
@@ -134,7 +134,7 @@ your-project/
134
134
  ├── context.json # context % for execution
135
135
  ├── checkpoint.json # resume state
136
136
  └── worktrees/ # isolated execution (main stays clean)
137
- └── df/doing-upload/20260202-1430/
137
+ └── upload/ # one worktree per spec
138
138
  ```
139
139
 
140
140
  ## Configuration
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepflow",
3
- "version": "0.1.30",
3
+ "version": "0.1.31",
4
4
  "description": "Stay in flow state - lightweight spec-driven task orchestration for Claude Code",
5
5
  "keywords": [
6
6
  "claude",
@@ -94,8 +94,8 @@ experiment_file: ".deepflow/experiments/upload--streaming--failed.md"
94
94
  {
95
95
  "completed_tasks": ["T1", "T2"],
96
96
  "current_wave": 2,
97
- "worktree_path": ".deepflow/worktrees/df/doing-upload/20260202-1430",
98
- "worktree_branch": "df/doing-upload/20260202-1430"
97
+ "worktree_path": ".deepflow/worktrees/upload",
98
+ "worktree_branch": "df/upload"
99
99
  }
100
100
  ```
101
101
 
@@ -126,26 +126,22 @@ Before spawning any agents, create an isolated worktree:
126
126
  # Check main is clean (ignore untracked)
127
127
  git diff --quiet HEAD || Error: "Main has uncommitted changes. Commit or stash first."
128
128
 
129
- # Generate worktree path
129
+ # Generate paths
130
130
  SPEC_NAME=$(basename spec/doing-*.md .md | sed 's/doing-//')
131
- TIMESTAMP=$(date +%Y%m%d-%H%M)
132
- BRANCH_NAME="df/${SPEC_NAME}/${TIMESTAMP}"
133
- WORKTREE_PATH=".deepflow/worktrees/${BRANCH_NAME}"
131
+ BRANCH_NAME="df/${SPEC_NAME}"
132
+ WORKTREE_PATH=".deepflow/worktrees/${SPEC_NAME}"
134
133
 
135
- # Create worktree
136
- git worktree add -b "${BRANCH_NAME}" "${WORKTREE_PATH}"
137
-
138
- # Store in checkpoint for resume
139
- checkpoint.worktree_path = WORKTREE_PATH
140
- checkpoint.worktree_branch = BRANCH_NAME
134
+ # Create worktree (or reuse existing)
135
+ if [ -d "${WORKTREE_PATH}" ]; then
136
+ echo "Reusing existing worktree"
137
+ else
138
+ git worktree add -b "${BRANCH_NAME}" "${WORKTREE_PATH}"
139
+ fi
141
140
  ```
142
141
 
143
- **Resume handling:**
144
- - If checkpoint has worktree_path → verify it exists, use it
145
- - If worktree missing → Error: "Worktree deleted. Use --fresh"
142
+ **Existing worktree:** Reuse it (same spec = same worktree).
146
143
 
147
- **Existing worktree handling:**
148
- - If worktree exists for same spec → Prompt: "Resume existing worktree? (y/n/delete)"
144
+ **--fresh flag:** Deletes existing worktree and creates new one.
149
145
 
150
146
  ### 2. LOAD PLAN
151
147
 
@@ -357,19 +353,17 @@ When a task fails and cannot be auto-fixed:
357
353
  ✗ Task T3 failed after retry
358
354
 
359
355
  Worktree preserved for debugging:
360
- Path: .deepflow/worktrees/df/doing-upload/20260202-1430
361
- Branch: df/doing-upload/20260202-1430
356
+ Path: .deepflow/worktrees/upload
357
+ Branch: df/upload
362
358
 
363
359
  To investigate:
364
- cd .deepflow/worktrees/df/doing-upload/20260202-1430
360
+ cd .deepflow/worktrees/upload
365
361
  # examine files, run tests, etc.
366
362
 
367
363
  To resume after fixing:
368
364
  /df:execute --continue
369
365
 
370
366
  To discard and start fresh:
371
- git worktree remove --force .deepflow/worktrees/df/doing-upload/20260202-1430
372
- git branch -D df/doing-upload/20260202-1430
373
367
  /df:execute --fresh
374
368
  ```
375
369
 
@@ -157,7 +157,7 @@ rm .deepflow/checkpoint.json
157
157
 
158
158
  **Output on success:**
159
159
  ```
160
- ✓ Merged df/doing-upload/20260202-1430 to main
160
+ ✓ Merged df/upload to main
161
161
  ✓ Cleaned up worktree and branch
162
162
  ✓ Spec complete: doing-upload → done-upload
163
163