wiggum-cli 0.17.2 → 0.18.3
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 +58 -14
- package/dist/agent/orchestrator.d.ts +21 -3
- package/dist/agent/orchestrator.js +394 -187
- package/dist/agent/resolve-config.js +1 -1
- package/dist/agent/scheduler.d.ts +29 -0
- package/dist/agent/scheduler.js +1149 -0
- package/dist/agent/tools/backlog.d.ts +6 -0
- package/dist/agent/tools/backlog.js +23 -4
- package/dist/agent/tools/execution.js +1 -1
- package/dist/agent/tools/introspection.js +26 -4
- package/dist/agent/types.d.ts +113 -0
- package/dist/ai/conversation/url-fetcher.js +46 -13
- package/dist/ai/enhancer.js +1 -2
- package/dist/ai/providers.js +4 -4
- package/dist/commands/agent.d.ts +1 -0
- package/dist/commands/agent.js +53 -1
- package/dist/commands/config.js +100 -6
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.js +47 -2
- package/dist/commands/sync.js +2 -2
- package/dist/generator/config.js +13 -2
- package/dist/index.js +11 -3
- package/dist/repl/command-parser.d.ts +1 -1
- package/dist/repl/command-parser.js +1 -1
- package/dist/templates/config/ralph.config.cjs.tmpl +9 -2
- package/dist/templates/prompts/PROMPT_e2e.md.tmpl +16 -89
- package/dist/templates/prompts/PROMPT_e2e_fix.md.tmpl +55 -0
- package/dist/templates/prompts/PROMPT_feature.md.tmpl +12 -98
- package/dist/templates/prompts/PROMPT_review_auto.md.tmpl +52 -49
- package/dist/templates/prompts/PROMPT_review_manual.md.tmpl +30 -2
- package/dist/templates/prompts/PROMPT_review_merge.md.tmpl +59 -69
- package/dist/templates/prompts/PROMPT_verify.md.tmpl +7 -0
- package/dist/templates/root/README.md.tmpl +2 -3
- package/dist/templates/scripts/feature-loop.sh.tmpl +835 -93
- package/dist/templates/scripts/loop.sh.tmpl +5 -1
- package/dist/templates/scripts/ralph-monitor.sh.tmpl +0 -2
- package/dist/tui/app.d.ts +5 -1
- package/dist/tui/app.js +22 -3
- package/dist/tui/components/HeaderContent.d.ts +4 -1
- package/dist/tui/components/HeaderContent.js +4 -2
- package/dist/tui/hooks/useAgentOrchestrator.d.ts +2 -1
- package/dist/tui/hooks/useAgentOrchestrator.js +86 -33
- package/dist/tui/hooks/useInit.d.ts +5 -1
- package/dist/tui/hooks/useInit.js +20 -2
- package/dist/tui/screens/AgentScreen.js +3 -1
- package/dist/tui/screens/InitScreen.js +12 -1
- package/dist/tui/screens/MainShell.js +70 -6
- package/dist/tui/screens/RunScreen.d.ts +6 -2
- package/dist/tui/screens/RunScreen.js +48 -6
- package/dist/tui/utils/loop-status.d.ts +15 -0
- package/dist/tui/utils/loop-status.js +89 -27
- package/dist/tui/utils/polishGoal.js +14 -1
- package/dist/utils/config.d.ts +7 -0
- package/dist/utils/config.js +14 -0
- package/dist/utils/env.js +7 -1
- package/dist/utils/github.d.ts +13 -0
- package/dist/utils/github.js +63 -4
- package/dist/utils/logger.js +1 -1
- package/package.json +9 -7
- package/src/templates/config/ralph.config.cjs.tmpl +9 -2
- package/src/templates/prompts/PROMPT_e2e.md.tmpl +16 -89
- package/src/templates/prompts/PROMPT_e2e_fix.md.tmpl +55 -0
- package/src/templates/prompts/PROMPT_feature.md.tmpl +12 -98
- package/src/templates/prompts/PROMPT_review_auto.md.tmpl +52 -49
- package/src/templates/prompts/PROMPT_review_manual.md.tmpl +30 -2
- package/src/templates/prompts/PROMPT_review_merge.md.tmpl +59 -69
- package/src/templates/prompts/PROMPT_verify.md.tmpl +7 -0
- package/src/templates/root/README.md.tmpl +2 -3
- package/src/templates/scripts/feature-loop.sh.tmpl +835 -93
- package/src/templates/scripts/loop.sh.tmpl +5 -1
- package/src/templates/scripts/ralph-monitor.sh.tmpl +0 -2
|
@@ -11,6 +11,34 @@ Capture any review feedback patterns for future iterations.
|
|
|
11
11
|
All implementation and E2E tasks are complete. Create PR and request review.
|
|
12
12
|
Complete ALL steps in a single pass — do not end the session between steps.
|
|
13
13
|
|
|
14
|
+
### Step 0: Verify Spec Requirements
|
|
15
|
+
Before creating the PR, verify the implementation meets the spec requirements and update spec files.
|
|
16
|
+
|
|
17
|
+
1. Read @.ralph/specs/$FEATURE.md and for each requirement under "## Requirements":
|
|
18
|
+
- Check if it was implemented (review implementation plan tasks)
|
|
19
|
+
- Mark as `[x]` if complete, leave as `[ ]` if not implemented (add a note explaining why)
|
|
20
|
+
|
|
21
|
+
2. For each item under "## Acceptance Criteria":
|
|
22
|
+
- Verify against implementation and test results
|
|
23
|
+
- Mark as `[x]` if verified, leave as `[ ]` with a note if not met
|
|
24
|
+
|
|
25
|
+
3. Update spec status:
|
|
26
|
+
- Change `**Status:** Planned` (or `Draft`) to `**Status:** Completed` if all requirements met, or `**Status:** Partial` if some are missing
|
|
27
|
+
- Update `**Last Updated:**` to today's date
|
|
28
|
+
|
|
29
|
+
4. Update @.ralph/specs/README.md Active Specs table:
|
|
30
|
+
- Update ONLY the row for $FEATURE (do NOT remove or modify other rows)
|
|
31
|
+
- Change status and update Last Updated date
|
|
32
|
+
|
|
33
|
+
5. If any requirements were not fully met, add an "## Implementation Notes" section documenting gaps and reasons.
|
|
34
|
+
|
|
35
|
+
6. Commit spec updates:
|
|
36
|
+
```bash
|
|
37
|
+
git -C {{appDir}} add ../.ralph/specs/
|
|
38
|
+
git -C {{appDir}} commit -m "docs($FEATURE): verify spec requirements"
|
|
39
|
+
git -C {{appDir}} push origin feat/$FEATURE
|
|
40
|
+
```
|
|
41
|
+
|
|
14
42
|
### Step 1: Verify Ready State
|
|
15
43
|
1. Check all tasks are complete in implementation plan (no `- [ ]` items)
|
|
16
44
|
2. Verify tests pass: `cd {{appDir}} && {{testCommand}}`
|
|
@@ -62,63 +90,37 @@ cd {{appDir}} && gh pr create --base main --head feat/$FEATURE \
|
|
|
62
90
|
|
|
63
91
|
Closes #[Read the source issue number from the spec file metadata or context section]
|
|
64
92
|
|
|
65
|
-
Generated with
|
|
93
|
+
Generated with Wiggum Loop
|
|
66
94
|
EOF
|
|
67
95
|
)"
|
|
68
96
|
```
|
|
69
97
|
|
|
70
|
-
### Step 4:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
- Security concerns (injection, XSS, etc.)
|
|
89
|
-
- Performance implications
|
|
90
|
-
- Error handling completeness
|
|
91
|
-
|
|
92
|
-
Run: git diff main
|
|
93
|
-
|
|
94
|
-
Then:
|
|
95
|
-
1. Post your complete review as a comment on the PR using:
|
|
96
|
-
gh pr comment --body '<your review in markdown>'
|
|
97
|
-
Format the comment with: a summary, specific issues with file:line refs (if any), and the verdict.
|
|
98
|
-
2. Print your final verdict as the LAST line of stdout. Print exactly one of:
|
|
99
|
-
VERDICT: APPROVED
|
|
100
|
-
VERDICT: NOT APPROVED
|
|
101
|
-
This line is parsed by the automation — do not omit it."
|
|
102
|
-
fi
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
After the review completes, check its output:
|
|
106
|
-
- If it contains "VERDICT: APPROVED", echo that line so the automation detects it:
|
|
107
|
-
```bash
|
|
108
|
-
echo "VERDICT: APPROVED"
|
|
109
|
-
```
|
|
110
|
-
- If issues were found, echo:
|
|
111
|
-
```bash
|
|
112
|
-
echo "VERDICT: NOT APPROVED"
|
|
113
|
-
```
|
|
98
|
+
### Step 4: Run Automated Review
|
|
99
|
+
|
|
100
|
+
Use the current review CLI session (`$REVIEW_CLI`) to perform a full review:
|
|
101
|
+
|
|
102
|
+
1. Review `git diff main` for:
|
|
103
|
+
- Code quality and consistency
|
|
104
|
+
- Test coverage and missing tests
|
|
105
|
+
- Potential bugs and edge cases
|
|
106
|
+
- Security risks (injection, auth, data exposure)
|
|
107
|
+
- Performance and error handling
|
|
108
|
+
2. Post review feedback to the PR with `gh pr comment --body ...`
|
|
109
|
+
3. Print your final verdict as the **LAST** line of stdout, exactly one of:
|
|
110
|
+
- `VERDICT: APPROVED`
|
|
111
|
+
- `VERDICT: NOT APPROVED`
|
|
112
|
+
4. Before printing `VERDICT: APPROVED`, wait for CI to complete and pass:
|
|
113
|
+
- Run `cd {{appDir}} && gh pr checks feat/$FEATURE --watch --interval 10`
|
|
114
|
+
- If checks are pending, keep waiting
|
|
115
|
+
- If any check fails, output `VERDICT: NOT APPROVED` and list failing checks
|
|
114
116
|
|
|
115
117
|
**Handle review feedback:**
|
|
116
|
-
- If
|
|
117
|
-
- If
|
|
118
|
+
- If verdict is `VERDICT: APPROVED` -> Done. The PR is ready for manual merge by the user.
|
|
119
|
+
- If verdict is `VERDICT: NOT APPROVED`:
|
|
118
120
|
1. Address each issue with code fixes
|
|
119
121
|
2. Commit: `git -C {{appDir}} add -A && git -C {{appDir}} commit -m "fix($FEATURE): address review feedback"`
|
|
120
122
|
3. Push: `git -C {{appDir}} push origin feat/$FEATURE`
|
|
121
|
-
4. Re-run
|
|
123
|
+
4. Re-run this review step
|
|
122
124
|
- Max 3 review iterations before requiring manual intervention
|
|
123
125
|
|
|
124
126
|
### Step 5: Final Summary
|
|
@@ -133,6 +135,7 @@ no implementation found" so the harness can trigger a new implementation iterati
|
|
|
133
135
|
|
|
134
136
|
## Rules
|
|
135
137
|
- **NEVER approve if any tests are failing.** Output "VERDICT: NOT APPROVED — test failures" if any tests fail.
|
|
138
|
+
- **NEVER approve while CI checks are pending/failing.** Wait until checks complete and pass.
|
|
136
139
|
- Do NOT merge the PR — auto mode only reviews, the user merges
|
|
137
140
|
- Do NOT implement missing features — only review and fix minor issues
|
|
138
141
|
- Address ALL review comments before marking as approved
|
|
@@ -143,7 +146,7 @@ no implementation found" so the harness can trigger a new implementation iterati
|
|
|
143
146
|
- **gh: command not found** -> Install GitHub CLI: `brew install gh`
|
|
144
147
|
- **gh auth error** -> Run: `gh auth login`
|
|
145
148
|
- **PR already exists** -> Use: `gh pr view` to see status
|
|
146
|
-
- **
|
|
149
|
+
- **Review CLI missing** -> Install the configured `$REVIEW_CLI` binary and retry
|
|
147
150
|
|
|
148
151
|
## Learning Capture
|
|
149
152
|
If the review revealed patterns worth remembering, append to @.ralph/LEARNINGS.md:
|
|
@@ -11,6 +11,34 @@ Capture any review feedback patterns for future iterations.
|
|
|
11
11
|
All implementation and E2E tasks are complete. Create PR for manual review.
|
|
12
12
|
Complete ALL steps in a single pass — do not end the session between steps.
|
|
13
13
|
|
|
14
|
+
### Step 0: Verify Spec Requirements
|
|
15
|
+
Before creating the PR, verify the implementation meets the spec requirements and update spec files.
|
|
16
|
+
|
|
17
|
+
1. Read @.ralph/specs/$FEATURE.md and for each requirement under "## Requirements":
|
|
18
|
+
- Check if it was implemented (review implementation plan tasks)
|
|
19
|
+
- Mark as `[x]` if complete, leave as `[ ]` if not implemented (add a note explaining why)
|
|
20
|
+
|
|
21
|
+
2. For each item under "## Acceptance Criteria":
|
|
22
|
+
- Verify against implementation and test results
|
|
23
|
+
- Mark as `[x]` if verified, leave as `[ ]` with a note if not met
|
|
24
|
+
|
|
25
|
+
3. Update spec status:
|
|
26
|
+
- Change `**Status:** Planned` (or `Draft`) to `**Status:** Completed` if all requirements met, or `**Status:** Partial` if some are missing
|
|
27
|
+
- Update `**Last Updated:**` to today's date
|
|
28
|
+
|
|
29
|
+
4. Update @.ralph/specs/README.md Active Specs table:
|
|
30
|
+
- Update ONLY the row for $FEATURE (do NOT remove or modify other rows)
|
|
31
|
+
- Change status and update Last Updated date
|
|
32
|
+
|
|
33
|
+
5. If any requirements were not fully met, add an "## Implementation Notes" section documenting gaps and reasons.
|
|
34
|
+
|
|
35
|
+
6. Commit spec updates:
|
|
36
|
+
```bash
|
|
37
|
+
git -C {{appDir}} add ../.ralph/specs/
|
|
38
|
+
git -C {{appDir}} commit -m "docs($FEATURE): verify spec requirements"
|
|
39
|
+
git -C {{appDir}} push origin feat/$FEATURE
|
|
40
|
+
```
|
|
41
|
+
|
|
14
42
|
### Step 1: Verify Ready State
|
|
15
43
|
1. Check all tasks are complete in implementation plan (no `- [ ]` items)
|
|
16
44
|
2. Verify tests pass: `cd {{appDir}} && {{testCommand}}`
|
|
@@ -62,7 +90,7 @@ cd {{appDir}} && gh pr create --base main --head feat/$FEATURE \
|
|
|
62
90
|
|
|
63
91
|
Closes #[Read the source issue number from the spec file metadata or context section]
|
|
64
92
|
|
|
65
|
-
Generated with
|
|
93
|
+
Generated with Wiggum Loop
|
|
66
94
|
EOF
|
|
67
95
|
)"
|
|
68
96
|
```
|
|
@@ -78,7 +106,7 @@ The feature branch has been prepared and pushed. A pull request has been created
|
|
|
78
106
|
2. Address any review comments
|
|
79
107
|
3. Merge when approved
|
|
80
108
|
|
|
81
|
-
Note: Spec status updates are handled in
|
|
109
|
+
Note: Spec status updates are handled in Step 0 above, before PR creation.
|
|
82
110
|
|
|
83
111
|
## Rules
|
|
84
112
|
- Manual review mode stops after PR creation
|
|
@@ -11,6 +11,34 @@ Capture any review feedback patterns for future iterations.
|
|
|
11
11
|
All implementation and E2E tasks are complete. Create PR, review, and merge.
|
|
12
12
|
Complete ALL steps in a single pass — do not end the session between steps.
|
|
13
13
|
|
|
14
|
+
### Step 0: Verify Spec Requirements
|
|
15
|
+
Before creating the PR, verify the implementation meets the spec requirements and update spec files.
|
|
16
|
+
|
|
17
|
+
1. Read @.ralph/specs/$FEATURE.md and for each requirement under "## Requirements":
|
|
18
|
+
- Check if it was implemented (review implementation plan tasks)
|
|
19
|
+
- Mark as `[x]` if complete, leave as `[ ]` if not implemented (add a note explaining why)
|
|
20
|
+
|
|
21
|
+
2. For each item under "## Acceptance Criteria":
|
|
22
|
+
- Verify against implementation and test results
|
|
23
|
+
- Mark as `[x]` if verified, leave as `[ ]` with a note if not met
|
|
24
|
+
|
|
25
|
+
3. Update spec status:
|
|
26
|
+
- Change `**Status:** Planned` (or `Draft`) to `**Status:** Completed` if all requirements met, or `**Status:** Partial` if some are missing
|
|
27
|
+
- Update `**Last Updated:**` to today's date
|
|
28
|
+
|
|
29
|
+
4. Update @.ralph/specs/README.md Active Specs table:
|
|
30
|
+
- Update ONLY the row for $FEATURE (do NOT remove or modify other rows)
|
|
31
|
+
- Change status and update Last Updated date
|
|
32
|
+
|
|
33
|
+
5. If any requirements were not fully met, add an "## Implementation Notes" section documenting gaps and reasons.
|
|
34
|
+
|
|
35
|
+
6. Commit spec updates:
|
|
36
|
+
```bash
|
|
37
|
+
git -C {{appDir}} add ../.ralph/specs/
|
|
38
|
+
git -C {{appDir}} commit -m "docs($FEATURE): verify spec requirements"
|
|
39
|
+
git -C {{appDir}} push origin feat/$FEATURE
|
|
40
|
+
```
|
|
41
|
+
|
|
14
42
|
### Step 1: Verify Ready State
|
|
15
43
|
1. Check all tasks are complete in implementation plan (no `- [ ]` items)
|
|
16
44
|
2. Verify tests pass: `cd {{appDir}} && {{testCommand}}`
|
|
@@ -62,63 +90,37 @@ cd {{appDir}} && gh pr create --base main --head feat/$FEATURE \
|
|
|
62
90
|
|
|
63
91
|
Closes #[Read the source issue number from the spec file metadata or context section]
|
|
64
92
|
|
|
65
|
-
Generated with
|
|
93
|
+
Generated with Wiggum Loop
|
|
66
94
|
EOF
|
|
67
95
|
)"
|
|
68
96
|
```
|
|
69
97
|
|
|
70
|
-
### Step 4:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
- Security concerns (injection, XSS, etc.)
|
|
89
|
-
- Performance implications
|
|
90
|
-
- Error handling completeness
|
|
91
|
-
|
|
92
|
-
Run: git diff main
|
|
93
|
-
|
|
94
|
-
Then:
|
|
95
|
-
1. Post your complete review as a comment on the PR using:
|
|
96
|
-
gh pr comment --body '<your review in markdown>'
|
|
97
|
-
Format the comment with: a summary, specific issues with file:line refs (if any), and the verdict.
|
|
98
|
-
2. Print your final verdict as the LAST line of stdout. Print exactly one of:
|
|
99
|
-
VERDICT: APPROVED
|
|
100
|
-
VERDICT: NOT APPROVED
|
|
101
|
-
This line is parsed by the automation — do not omit it."
|
|
102
|
-
fi
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
After the review completes, check its output:
|
|
106
|
-
- If it contains "VERDICT: APPROVED", echo that line so the automation detects it:
|
|
107
|
-
```bash
|
|
108
|
-
echo "VERDICT: APPROVED"
|
|
109
|
-
```
|
|
110
|
-
- If issues were found, echo:
|
|
111
|
-
```bash
|
|
112
|
-
echo "VERDICT: NOT APPROVED"
|
|
113
|
-
```
|
|
98
|
+
### Step 4: Run Automated Review
|
|
99
|
+
|
|
100
|
+
Use the current review CLI session (`$REVIEW_CLI`) to perform a full review:
|
|
101
|
+
|
|
102
|
+
1. Review `git diff main` for:
|
|
103
|
+
- Code quality and consistency
|
|
104
|
+
- Test coverage and missing tests
|
|
105
|
+
- Potential bugs and edge cases
|
|
106
|
+
- Security risks (injection, auth, data exposure)
|
|
107
|
+
- Performance and error handling
|
|
108
|
+
2. Post review feedback to the PR with `gh pr comment --body ...`
|
|
109
|
+
3. Print your final verdict as the **LAST** line of stdout, exactly one of:
|
|
110
|
+
- `VERDICT: APPROVED`
|
|
111
|
+
- `VERDICT: NOT APPROVED`
|
|
112
|
+
4. Before printing `VERDICT: APPROVED`, wait for CI to complete and pass:
|
|
113
|
+
- Run `cd {{appDir}} && gh pr checks feat/$FEATURE --watch --interval 10`
|
|
114
|
+
- If checks are pending, keep waiting
|
|
115
|
+
- If any check fails, output `VERDICT: NOT APPROVED` and list failing checks
|
|
114
116
|
|
|
115
117
|
**Handle review feedback:**
|
|
116
|
-
- If
|
|
117
|
-
- If
|
|
118
|
+
- If verdict is `VERDICT: APPROVED` -> Proceed to Step 5 (rebase and merge)
|
|
119
|
+
- If verdict is `VERDICT: NOT APPROVED`:
|
|
118
120
|
1. Address each issue with code fixes
|
|
119
121
|
2. Commit: `git -C {{appDir}} add -A && git -C {{appDir}} commit -m "fix($FEATURE): address review feedback"`
|
|
120
122
|
3. Push: `git -C {{appDir}} push origin feat/$FEATURE`
|
|
121
|
-
4. Re-run
|
|
123
|
+
4. Re-run this review step
|
|
122
124
|
- Max 3 review iterations before requiring manual intervention
|
|
123
125
|
|
|
124
126
|
### Step 5: Rebase Before Merge (for Parallel Execution)
|
|
@@ -142,26 +144,13 @@ Push rebased branch:
|
|
|
142
144
|
cd {{appDir}} && git push --force-with-lease origin feat/$FEATURE
|
|
143
145
|
```
|
|
144
146
|
|
|
145
|
-
### Step 6: Merge
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
cd {{appDir}} && gh pr merge --squash --delete-branch
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### Step 7: Post-Merge Cleanup
|
|
154
|
-
1. If using worktree, remove it:
|
|
155
|
-
```bash
|
|
156
|
-
# Only if this feature used a worktree ({{appDir}}-$FEATURE directory exists)
|
|
157
|
-
git -C {{appDir}} worktree remove "../{{appDir}}-$FEATURE" 2>/dev/null || true
|
|
158
|
-
```
|
|
159
|
-
2. Checkout main and pull:
|
|
160
|
-
```bash
|
|
161
|
-
git -C {{appDir}} checkout main && git -C {{appDir}} pull
|
|
162
|
-
```
|
|
147
|
+
### Step 6: Hand Off For Merge
|
|
148
|
+
After review is approved, CI is green, and branch is rebased:
|
|
149
|
+
- Do **NOT** run `gh pr merge` in this prompt.
|
|
150
|
+
- The loop harness performs the final merge after enforcing CI and post-approval gates.
|
|
151
|
+
- End this review session after handoff. Do not run local post-merge cleanup commands here.
|
|
163
152
|
|
|
164
|
-
Note: Spec status updates are handled in
|
|
153
|
+
Note: Spec status updates are handled in Step 0 above, before PR creation.
|
|
165
154
|
|
|
166
155
|
## IMPORTANT: Review scope
|
|
167
156
|
If you discover that no implementation code exists (empty diff, no source files changed),
|
|
@@ -170,7 +159,8 @@ no implementation found" so the harness can trigger a new implementation iterati
|
|
|
170
159
|
|
|
171
160
|
## Rules
|
|
172
161
|
- **NEVER merge if any tests are failing.** If tests fail after rebase, fix them first. If unfixable, output "VERDICT: NOT APPROVED — test failures" and stop.
|
|
173
|
-
- Do NOT merge without
|
|
162
|
+
- Do NOT merge without explicit review approval (`VERDICT: APPROVED`)
|
|
163
|
+
- Do NOT merge directly in this prompt; hand off to the harness after approval
|
|
174
164
|
- Do NOT implement missing features — only review and fix minor issues
|
|
175
165
|
- Address ALL review comments before merging
|
|
176
166
|
- Use squash merge to keep history clean
|
|
@@ -181,7 +171,7 @@ no implementation found" so the harness can trigger a new implementation iterati
|
|
|
181
171
|
- **gh: command not found** -> Install GitHub CLI: `brew install gh`
|
|
182
172
|
- **gh auth error** -> Run: `gh auth login`
|
|
183
173
|
- **PR already exists** -> Use: `gh pr view` to see status
|
|
184
|
-
- **
|
|
174
|
+
- **Review CLI missing** -> Install the configured `$REVIEW_CLI` binary and retry
|
|
185
175
|
- **Rebase conflicts** -> Resolve carefully, re-run all tests after
|
|
186
176
|
|
|
187
177
|
## Learning Capture
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
> **REFERENCE ONLY — NOT INVOKED BY LOOP**
|
|
2
|
+
> This file is not executed by `feature-loop.sh`. Verification responsibilities
|
|
3
|
+
> (spec status updates, acceptance criteria checks, README updates) have been
|
|
4
|
+
> merged into the review prompt templates (`PROMPT_review_manual.md`,
|
|
5
|
+
> `PROMPT_review_auto.md`, `PROMPT_review_merge.md`) under "Step 0: Verify Spec
|
|
6
|
+
> Requirements". This file is retained as a reference for the verification steps.
|
|
7
|
+
|
|
1
8
|
## Context
|
|
2
9
|
Study @.ralph/specs/$FEATURE.md for original specification.
|
|
3
10
|
Study @.ralph/specs/$FEATURE-implementation-plan.md for completed tasks.
|
|
@@ -12,7 +12,7 @@ This directory contains configuration and guidance for AI-assisted development o
|
|
|
12
12
|
| |-- PROMPT.md # Main implementation prompt
|
|
13
13
|
| |-- PROMPT_feature.md # Feature planning prompt
|
|
14
14
|
| |-- PROMPT_e2e.md # E2E testing prompt
|
|
15
|
-
| |-- PROMPT_verify.md # Verification prompt
|
|
15
|
+
| |-- PROMPT_verify.md # Verification prompt (reference only, not invoked by loop)
|
|
16
16
|
| |-- PROMPT_review_manual.md # PR review prompt (manual)
|
|
17
17
|
| |-- PROMPT_review_auto.md # PR review prompt (auto merge)
|
|
18
18
|
|-- guides/ # Reference documentation
|
|
@@ -39,8 +39,7 @@ Reference these files in your prompts:
|
|
|
39
39
|
1. **Plan**: Use `PROMPT_feature.md` to create implementation plan
|
|
40
40
|
2. **Implement**: Use `PROMPT.md` for iterative task completion
|
|
41
41
|
3. **Test**: Use `PROMPT_e2e.md` for browser-based testing
|
|
42
|
-
4. **
|
|
43
|
-
5. **Review**: Use `PROMPT_review_manual.md` (manual) or `PROMPT_review_auto.md` (auto merge) to create PR
|
|
42
|
+
4. **Review**: Use `PROMPT_review_manual.md` (manual) or `PROMPT_review_auto.md` (auto merge) to create PR — includes spec verification (Step 0)
|
|
44
43
|
|
|
45
44
|
### Specs
|
|
46
45
|
|