5 Commits

Author SHA1 Message Date
Li Liu 38ff61471a fix: prevent command injection in history-collector via spawnSync
Replace execSync with spawnSync in getFileHistory() and getPRDetails()
to prevent shell injection through file paths and PR numbers. Add input
validation for prNumber (must be a positive integer).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:51:12 +08:00
Li Liu 9a6aaca563 fix: prevent command injection in reference-collector via spawnSync
Replace execSync with spawnSync in findReferences() to prevent shell
injection through malicious symbol names in PR diffs. Use -F (fixed-string)
and -e flags for safe argument passing to ripgrep.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:51:08 +08:00
Li Liu 339f3a1b4d feat: add structured call chain context for reviewers
Add formatCallChainForReviewer to display exact code snippets at each
call site, giving reviewers precise context about how changed symbols
are used across the codebase. Raw references are now stored in
GatheredContext and formatted into the reviewer prompt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 19:43:39 +08:00
Li Liu 8860e6e66c feat(context-gatherer): add history collector
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 14:16:57 +08:00
Li Liu f5854d0d02 feat(context-gatherer): add reference collector
Add reference collector module that:
- Extracts function/class symbols from git diffs
- Uses ripgrep to find where symbols are referenced in the codebase

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 14:15:06 +08:00