jettypod 4.4.45 → 4.4.47

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.
@@ -627,22 +627,42 @@ After merge, you are on main branch. Ready to generate stable mode scenarios.
627
627
 
628
628
  **⚡ ASYNC BOUNDARY - Must wait for user confirmation**
629
629
 
630
- **1. Read the feature's scenario file and analyze for stable mode needs:**
630
+ **1. Create a test worktree for writing stable mode scenarios:**
631
+
632
+ **🚫 FORBIDDEN: Manual Git Worktree Commands**
633
+ ```
634
+ ❌ git worktree add ...
635
+ ❌ git checkout -b tests/...
636
+ ❌ git branch tests/...
637
+ ```
638
+ **ALWAYS use jettypod commands** - they handle branch naming, path conventions, database tracking, and cleanup. Manual git commands will create orphaned worktrees that break the merge workflow.
639
+
640
+ ```bash
641
+ jettypod work tests <feature-id>
642
+ ```
643
+
644
+ This creates an isolated worktree at `.jettypod-work/tests-<id>-<slug>` with branch `tests/feature-<id>-<slug>`.
645
+
646
+ **🛑 CRITICAL:** All BDD file operations MUST use absolute paths in the test worktree:
647
+ - ✅ `/path/to/.jettypod-work/tests-42-login/features/login.feature`
648
+ - ❌ `features/login.feature` (this would write to main repo!)
649
+
650
+ **2. Read the feature's scenario file and analyze for stable mode needs:**
631
651
 
632
652
  ```bash
633
653
  sqlite3 .jettypod/work.db "SELECT id, title, scenario_file FROM work_items WHERE id = <feature-id>"
634
654
  ```
635
655
 
636
- **2. Generate stable mode BDD scenarios** covering:
656
+ **3. Generate stable mode BDD scenarios** covering:
637
657
  - **Error scenarios** - Invalid input, missing params, system errors, permission failures
638
658
  - **Edge cases** - Empty inputs, boundary values, special characters
639
659
  - **State consistency** - Concurrent ops, partial failures, invalid state transitions
640
660
 
641
- **3. Append scenarios to the feature file:**
661
+ **4. Append scenarios to the feature file IN THE TEST WORKTREE:**
642
662
 
643
- ```bash
644
- cat >> <scenario-file-path> << 'EOF'
663
+ Use the Edit tool to append to `<worktree-path>/features/<feature-file>`:
645
664
 
665
+ ```gherkin
646
666
  # Stable Mode Scenarios - Error Handling and Edge Cases
647
667
 
648
668
  Scenario: [Error scenario title]
@@ -654,14 +674,15 @@ Scenario: [Edge case title]
654
674
  Given [context]
655
675
  When [edge case input]
656
676
  Then [expected behavior]
657
- EOF
658
677
  ```
659
678
 
660
- **4. Create step definitions** at `features/step_definitions/<feature-slug>-stable.steps.js`
679
+ **5. Create step definitions IN THE TEST WORKTREE** at `<worktree-path>/features/step_definitions/<feature-slug>-stable.steps.js`
661
680
 
662
- **5. Commit BDD files immediately:**
681
+ **6. Commit and merge the test worktree:**
663
682
 
664
683
  ```bash
684
+ # Commit in the test worktree
685
+ cd <worktree-path>
665
686
  git add features/
666
687
  git commit -m "test: Add stable mode BDD scenarios and step definitions
667
688
 
@@ -669,13 +690,12 @@ Added error handling and edge case scenarios for stable mode.
669
690
  - [N] new stable mode scenarios
670
691
  - Step definitions for validation and error handling"
671
692
 
672
- git push
693
+ # Return to main repo and merge
694
+ cd <main-repo-path>
695
+ jettypod work merge <feature-id>
673
696
  ```
674
697
 
675
- **🛑 CRITICAL:** Commit IMMEDIATELY after generating files. Do NOT wait for user confirmation.
676
- Other assistants may be working in parallel - uncommitted files will block their merges.
677
-
678
- **6. Present proposal to user:**
698
+ **7. Present proposal to user:**
679
699
 
680
700
  ```
681
701
  📋 Stable Mode Transition
@@ -826,6 +846,12 @@ jettypod work merge --release-lock # Release held lock
826
846
  jettypod work start <chore-id> # Create worktree and start chore
827
847
  ```
828
848
 
849
+ **Create test worktree (for writing BDD scenarios):**
850
+ ```bash
851
+ jettypod work tests <feature-id> # Create worktree for writing tests
852
+ jettypod work merge <feature-id> # Merge tests back to main
853
+ ```
854
+
829
855
  **Set feature mode (BEFORE creating chores):**
830
856
  ```bash
831
857
  jettypod work set-mode <feature-id> stable
@@ -72,6 +72,14 @@ sqlite3 .jettypod/work.db "SELECT wi.id, wi.title, wi.status, wt.worktree_path,
72
72
 
73
73
  **🛑 STOP GATE:** If `worktree_path` is NULL or no rows returned, you MUST run `jettypod work start [chore-id]` before continuing. DO NOT proceed without a valid worktree.
74
74
 
75
+ **🚫 FORBIDDEN: Manual Git Worktree Commands**
76
+ ```
77
+ ❌ git worktree add ...
78
+ ❌ git checkout -b feature/...
79
+ ❌ git branch feature/...
80
+ ```
81
+ **ALWAYS use `jettypod work start`** - it handles branch naming, path conventions, database tracking, and cleanup. Manual git commands will create orphaned worktrees that break the merge workflow.
82
+
75
83
  **Example of valid output:**
76
84
  ```
77
85
  4|Add error handling|in_progress|/Users/erik/project/.jettypod-work/4-add-error-handling|feature/work-4-add-error-handling