Skip to content

fix: 大きな差分でも全ファイルの変更概要をAIに渡す - #4

Merged
owayo merged 1 commit into
mainfrom
fix/issue-3-retain-full-diff-overview
Oct 16, 2026
Merged

owayo merged 1 commit into
mainfrom
fix/issue-3-retain-full-diff-overview

Conversation

@owayo

@owayo owayo commented Oct 16, 2026

Copy link
Copy Markdown
Owner

概要

差分の先頭だけで上限に達すると、後続ファイルの名前も変更行数もAIに渡らず、コミットの一部だけを説明するメッセージが生成されていました。大きな差分では全ファイルの一覧と追加・削除行数を残し、本文をファイルごとに配分します。

原因と変更

全体を先頭から切り詰めていたため、パス順で前にあるファイルが文字数の枠を使い切っていました。全ファイルの一覧を本文の予算とは別に保持し、本文を省略・短縮したファイル数を明記します。一覧だけで上限を超えても全件を伝えるためです。小さな差分の出力は維持します。Apple Intelligence が端末のコンテキスト上限へ合わせて行う最終縮約は既存の制約に従います。

複数コミットの --generate-for は差分を結合してから一度だけ処理し、再切り詰めによる一覧の欠落を防ぎます。除外対象・lockファイル・バイナリの本文を送らない方針を維持し、生成ログのファイル件数も一覧に合わせます。

検証

  • make ci: 成功(整形、Clippyの両構成、ユニット1,208件、統合76件)。
  • 実バイナリのプロンプトで全ファイル・元の行数・本文の除外・生成ログ件数を確認。
  • 複数コミット、rename/copy、combined diff、CRLF、特殊なファイル名、10,002ファイル時の本文予算を回帰テストで確認。
  • astro-sight review / impact、差分検査、独立レビューを実施。

Closes #3

差分の先頭で文字数の上限を使い切ると、後続ファイルがプロンプトから消えていた。
全ファイルの名前と追加・削除行数を保持し、本文をファイルごとに配分する。
省略・短縮したファイル数を示し、小さな差分の出力と本文の除外設定を維持する。
複数コミットの生成では結合後に一度だけ処理し、生成ログも一覧から件数を取得する。
@owayo owayo self-assigned this Oct 16, 2026
@owayo
owayo merged commit e6bd34e into main Oct 16, 2026
7 checks passed
@owayo
owayo deleted the fix/issue-3-retain-full-diff-overview branch October 16, 2026 23:13
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.

大きな差分では先頭のファイルしか AI に渡らず、コミットメッセージが一部のファイルだけを要約する

1 participant