|
1 | 1 | # Rockout: End-to-End Issue-to-Implementation Workflow |
2 | 2 |
|
3 | 3 | Take the user's prompt describing an enhancement, bug, or suggestion and drive it |
4 | | -through all seven steps below. The prompt is: $ARGUMENTS |
| 4 | +through all ten steps below. The prompt is: $ARGUMENTS |
5 | 5 |
|
6 | 6 | --- |
7 | 7 |
|
@@ -89,6 +89,64 @@ plotting conventions, GIS alert boxes, preview images, and humanizer passes. |
89 | 89 |
|
90 | 90 | **Skip this step** if no new functions were added and no backend support changed. |
91 | 91 |
|
| 92 | +## Step 8 -- Open the Pull Request |
| 93 | + |
| 94 | +1. Push the branch to the remote with upstream tracking: |
| 95 | + ``` |
| 96 | + git push -u origin issue-<NUMBER> |
| 97 | + ``` |
| 98 | +2. Draft a PR title and body. The body should: |
| 99 | + - Reference the issue with `Closes #<NUMBER>`. |
| 100 | + - Summarize the change in 1-3 bullets. |
| 101 | + - Note backend coverage (numpy / cupy / dask+numpy / dask+cupy). |
| 102 | + - Include a short test plan checklist. |
| 103 | +3. **Run the PR body through the `/humanizer` skill** before opening the PR. |
| 104 | +4. Open the PR: |
| 105 | + ``` |
| 106 | + gh pr create --title "<title>" --body "$(cat <<'EOF' |
| 107 | + <body> |
| 108 | + EOF |
| 109 | + )" |
| 110 | + ``` |
| 111 | +5. Capture the PR number for the next step. |
| 112 | + |
| 113 | +## Step 9 -- Run the Domain-Aware PR Review |
| 114 | + |
| 115 | +1. Invoke the `/review-pr` command against the PR number from Step 8: |
| 116 | + ``` |
| 117 | + /review-pr <PR_NUMBER> |
| 118 | + ``` |
| 119 | +2. Do not pass "post" -- keep the review local so the rockout workflow can act |
| 120 | + on the findings before any of it lands as a public comment. |
| 121 | +3. Capture the structured output. It will list findings grouped as: |
| 122 | + - **Blockers** -- must fix before merge |
| 123 | + - **Suggestions** -- should fix, not blocking |
| 124 | + - **Nits** -- optional improvements |
| 125 | + |
| 126 | +## Step 10 -- Follow Up on Review Findings |
| 127 | + |
| 128 | +Address every Blocker, then work through Suggestions and Nits in that order. |
| 129 | + |
| 130 | +1. For each finding: |
| 131 | + - Read the referenced file at the cited line. |
| 132 | + - Decide one of: **fix**, **defer with reason**, or **dismiss with reason**. |
| 133 | + - Blockers must be either fixed or explicitly deferred with a written |
| 134 | + justification -- do not silently skip them. |
| 135 | + - Suggestions and nits may be dismissed when the cost outweighs the value, |
| 136 | + but record the reason. |
| 137 | +2. Group related fixes into focused commits referencing the issue number |
| 138 | + (e.g. `Address review nits: fix NaN propagation in dask path (#<NUMBER>)`). |
| 139 | +3. After applying fixes: |
| 140 | + - Re-run the tests touched by the changes. |
| 141 | + - Push the new commits to the PR branch. |
| 142 | +4. Re-run `/review-pr <PR_NUMBER>` once after the follow-up commits to confirm |
| 143 | + the prior findings are resolved and no new ones surfaced. Stop iterating |
| 144 | + once only dismissed-with-reason items remain. |
| 145 | +5. Summarize the disposition of each original finding (fixed / deferred / |
| 146 | + dismissed) in the final rockout summary so the trail is visible. |
| 147 | + |
| 148 | +**Skip this step** only if Step 9 returned no Blockers, Suggestions, or Nits. |
| 149 | + |
92 | 150 | --- |
93 | 151 |
|
94 | 152 | ## General Rules |
|
0 commit comments