Skip to content

develop → main: レポート機能強化・Codex検出改善・CLIレポートコマンド#640

Merged
Kewton merged 18 commits intomainfrom
develop
Apr 5, 2026
Merged

develop → main: レポート機能強化・Codex検出改善・CLIレポートコマンド#640
Kewton merged 18 commits intomainfrom
develop

Conversation

@Kewton
Copy link
Copy Markdown
Owner

@Kewton Kewton commented Apr 5, 2026

Summary

レポート機能強化

Codex prompt/selection list検出 (#616, #619, #622)

Issues closed

#616, #618, #619, #622, #626, #627, #630, #632, #634, #636, #638

Test plan

🤖 Generated with Claude Code

Kewton and others added 18 commits April 5, 2026 10:05
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add CommitLogEntry and RepositoryCommitLogs types to src/types/git.ts
- Add MAX_COMMIT_LOG_LENGTH and GIT_LOG_TOTAL_TIMEOUT_MS constants
- Add withTimeout utility with fallback support to src/lib/utils.ts
- Add getCommitsByDateRange and collectRepositoryCommitLogs to git-utils.ts
- Extend sanitizeMessage to escape <commit_log> tags via ESCAPED_TAGS array
- Extend buildSummaryPrompt with optional commitLogs parameter
- Integrate commit log collection into daily-summary-generator
- Add comprehensive tests for all new functionality (106 tests pass)
- All static analysis checks passed (tsc, eslint)

Resolves #627

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move TimeoutError class and withTimeout function after escapeHtml to
restore the broken JSDoc-to-function association for escapeHtml. Add
section separator comment consistent with codebase conventions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(report): use tool-specific permission for daily summary generation (#626)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat(report): add commit log collection from all repositories (#627)
- 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>
feat(report): add GitHub Issue context to daily report prompts (#630)
Exclude disabled, non-existent, and non-git repositories from
collectRepositoryCommitLogs to prevent git log failures during
daily report generation.

Resolves #632

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(report): filter invalid repositories before commit log collection (#632)
…t_log and issue_context

Previously, buildSummaryPrompt used MAX_MESSAGE_LENGTH (10000) for the
entire prompt, causing commit_log and issue_context to be dropped when
user_data was large. Now each section has independent limits:
MAX_USER_DATA_LENGTH (6000), MAX_ISSUE_CONTEXT_LENGTH (3000),
MAX_COMMIT_LOG_LENGTH (3000), with MAX_PROMPT_LENGTH (15000) as the
overall cap.

Resolves #634

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(report): use section-based prompt length limits (#634)
…nd listing

- Add report generate/show/list subcommands with --date, --tool, --model, --template, --instruction options
- Add ReportGenerateOptions, ReportShowOptions, ReportListOptions types
- Add DailySummaryGetResponse, DailySummaryGenerateResponse, SerializedReport, TemplateResponse API types
- Register report command in CLI entry point
- Add 22 unit tests with 100% line coverage on report.ts

Resolves #636

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat(cli): add report command for daily report generation (#636)
- Add GET /api/daily-summary/status endpoint to expose generation state
- Add useGenerationStatus hook for polling generation status in ReportTab
- Show spinner and status info when remote generation is detected
- Add CLI spinner for `report generate` command progress display
- Extend GeneratingState with date/tool metadata for status reporting
- Add comprehensive tests for all new functionality

Resolves #638

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat(report): add generation status visibility for UI and CLI (#638)
The /api/daily-summary/status route was statically built, returning
a fixed { generating: false } response. Added `export const dynamic =
'force-dynamic'` to read runtime globalThis state on each request.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Kewton Kewton merged commit 1b959cf into main Apr 5, 2026
10 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