@@ -256,9 +256,9 @@ jobs:
256256
257257 generate-implementation :
258258 runs-on : ubuntu-latest
259- needs : [check-label]
259+ needs : [check-label, preprocess ]
260260 # Run if issue has enhancement label and isn't already enhanced
261- # Don't depend on preprocess to avoid skipping if preprocess fails/is skipped
261+ # Run even if preprocess was skipped/failed (will use fallback)
262262 if : |
263263 needs.check-label.outputs.has_enhancement == 'true' &&
264264 needs.check-label.outputs.already_enhanced == 'false'
@@ -283,31 +283,52 @@ jobs:
283283 working-directory : .github/agent
284284 run : npm install
285285
286- - name : Fetch issue data
287- id : fetch-issue
286+ - name : Prepare task data for Claude
287+ id : prepare-task
288288 env :
289289 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
290290 ISSUE_NUMBER : ${{ needs.check-label.outputs.issue_number }}
291+ PREPROCESS_OUTCOME : ${{ needs.preprocess.outcome }}
292+ PREPROCESS_ENHANCED_TASK : ${{ needs.preprocess.outputs.enhanced_task }}
293+ PREPROCESS_ISSUE_TITLE : ${{ needs.preprocess.outputs.issue_title }}
291294 run : |
292- ISSUE_JSON=$(curl -s \
293- -H "Authorization: token $GITHUB_TOKEN" \
294- -H "Accept: application/vnd.github+json" \
295- "https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER")
296- TITLE=$(echo "$ISSUE_JSON" | jq -r '.title')
297- BODY=$(echo "$ISSUE_JSON" | jq -r '.body // ""')
298- {
299- echo "issue_title<<EOF"
300- echo "$TITLE"
301- echo "EOF"
302- } >> "$GITHUB_OUTPUT"
295+ # If preprocess succeeded, use its enriched output
296+ if [ "$PREPROCESS_OUTCOME" = "success" ] && [ -n "$PREPROCESS_ENHANCED_TASK" ]; then
297+ echo "✅ Using enriched task from preprocess"
298+ {
299+ echo "enhanced_task<<EOF"
300+ echo "$PREPROCESS_ENHANCED_TASK"
301+ echo "EOF"
302+ echo "issue_title<<EOF"
303+ echo "$PREPROCESS_ISSUE_TITLE"
304+ echo "EOF"
305+ } >> "$GITHUB_OUTPUT"
306+ else
307+ # Preprocess skipped/failed, fetch issue data as fallback
308+ echo "⚠️ Preprocess $PREPROCESS_OUTCOME, fetching issue data as fallback"
309+ ISSUE_JSON=$(curl -s \
310+ -H "Authorization: token $GITHUB_TOKEN" \
311+ -H "Accept: application/vnd.github+json" \
312+ "https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER")
313+ TITLE=$(echo "$ISSUE_JSON" | jq -r '.title')
314+ BODY=$(echo "$ISSUE_JSON" | jq -r '.body // ""')
315+ {
316+ echo "enhanced_task<<EOF"
317+ echo "$TITLE"
318+ echo "EOF"
319+ echo "issue_title<<EOF"
320+ echo "$TITLE"
321+ echo "EOF"
322+ } >> "$GITHUB_OUTPUT"
323+ fi
303324
304325 - name : Generate implementation with Claude
305326 id : generate
306327 env :
307328 ANTHROPIC_API_KEY : ${{ secrets.ANTHROPIC_API_KEY }}
308329 CLAUDE_MODEL : ${{ secrets.CLAUDE_MODEL }}
309- ENHANCED_TASK : ${{ steps.fetch-issue .outputs.issue_title }}
310- TASK : ${{ steps.fetch-issue .outputs.issue_title }}
330+ ENHANCED_TASK : ${{ steps.prepare-task .outputs.enhanced_task }}
331+ TASK : ${{ steps.prepare-task .outputs.issue_title }}
311332 ISSUE_NUMBER : ${{ needs.check-label.outputs.issue_number }}
312333 run : |
313334 set -e
0 commit comments