Skip to content

feat(report): add GitHub Issue context to daily report prompts (#630)#631

Merged
Kewton merged 1 commit intodevelopfrom
feature/630-issue-context-in-report
Apr 5, 2026
Merged

feat(report): add GitHub Issue context to daily report prompts (#630)#631
Kewton merged 1 commit intodevelopfrom
feature/630-issue-context-in-report

Conversation

@Kewton
Copy link
Copy Markdown
Owner

@Kewton Kewton commented Apr 5, 2026

Summary

  • コミットメッセージから #NNN パターンでIssue番号を抽出する extractIssueNumbers()git-utils.ts に追加
  • github-api.ts を新規追加し、gh issue view でIssue情報(番号・タイトル・ラベル・状態・本文要約)を取得
  • summary-prompt-builder.ts<issue_context> セクション構築を追加
  • daily-summary-generator.ts でIssue情報収集フローを統合
  • GitHub API失敗時はIssueセクションをスキップしてレポート生成を継続(graceful degradation)
  • Issue本文は500文字でトランケーション、最大20件のIssue取得に制限
  • 57テストケース追加(github-api, git-utils, summary-prompt-builder, daily-summary-generator)

Closes #630

Test plan

  • npm run lint — PASS
  • npx tsc --noEmit — PASS
  • npm run test:unit — 6163 passed (323 files)
  • npm run build — PASS

🤖 Generated with Claude Code

- Add IssueInfo type to src/types/git.ts
- Add issue-related constants to review-config.ts
  (MAX_ISSUE_BODY_LENGTH=500, MAX_ISSUES_PER_REPORT=20,
   ISSUE_FETCH_TIMEOUT_MS=10000, ISSUE_FETCH_TOTAL_TIMEOUT_MS=15000)
- Add extractIssueNumbers() to git-utils.ts
  (extracts #NNN, Closes/Fixes/Resolves #NNN patterns)
- Create src/lib/git/github-api.ts with getIssueInfo() and
  collectIssueInfos() using gh CLI with graceful degradation
- Update buildSummaryPrompt() with optional 5th arg issueInfos,
  issue_context section, prompt injection prevention rule,
  ESCAPED_TAGS update, and priority-based overflow truncation
- Update generateDailySummary() to collect issue info from
  commit messages with withTimeout and graceful fallback

Tests: 6163 passed, ESLint: 0 errors, TypeScript: 0 errors

Resolves #630

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Kewton Kewton merged commit fc377f4 into develop Apr 5, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant