Repository navigation
fix: 出力圧縮でソース内の絶対パスを保持する - #4
Merged
Merged
Conversation
依存関係の更新ツールで公開後の経過期間と脆弱性情報を確認し、 thiserrorの要求バージョンを2.0.20から2.0.21へ更新する。 メジャー更新とRustツールチェーンの変更はない。 Cargo.lockは既に2.0.21を解決しているため変更しない。
診断ヘッダー用の共通パス短縮がソース抜粋にも適用され、 cp /work/project/input /work/project/outputをcp input outputへ 書き換えていた。formatterの追加・削除行と文脈行でも同じ問題を再現した。 行番号付きソース抜粋と差分行をパスの抽出・置換の両方から除外し、 診断情報だけを短縮する。unified diffの文脈判定は正規化とパス短縮で 共有し、異なる判定経路によるコードの破壊を防ぐ。 ソース抜粋、unified diff、共通接頭辞の算出範囲、移行処理の進捗表示を 検証する4件のテストを追加した。修正前はパス保持の2件が失敗し、 修正後は出力正規化の243件すべてが成功する。 英語・日本語のREADMEとエージェント向け規約を更新する。 Hooks仕様の確認に基づき、FileChangedの再発火によるループを避けるため 保存後のformatterはPostToolUseへ登録することを統合ドキュメントに補足する。
子プロセスが成功した後に孫プロセスだけが出力パイプを保持する場合、 実装は排出猶予後に残ったプロセスグループを停止し、取得済みの出力と 成功状態を返している。従来の説明は一律にタイムアウトとしてブロックする 内容だったため、実装と既存テストに合わせて修正する。 AGENTS.mdと英語・日本語の設定ガイドで、直接の子が成功した場合と 失敗した場合の報告を区別する。実行時の挙動は変更しない。
unified diffのファイルヘッダーと、SQLコメントを削除したソース行は どちらも「--- パス」の形になるため、絶対パスを保持する挙動を固定する。 出力の形式だけから両者を決めつけて短縮し、コードを変えてしまうことを防ぐ。 CRLF入力の差分ブロックが空行で終了した後は、診断ヘッダーの パス短縮が再び有効になることも同じテストで確認する。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
フック出力のパス短縮が診断内のソースコードにも適用され、
cp /work/project/input /work/project/outputがcp input outputに変わっていました。行番号付きのソース抜粋とformatterの差分行・文脈行で再現し、修正前に追加した2件の回帰テストが失敗することを確認しました。ソース行を共通接頭辞の算出と置換から除外し、診断情報だけを短縮します。unified diffの文脈判定は正規化とパス短縮で共有しました。公開APIの変更はありません。
FileChangedはformatter自身の変更でも再発火するため、保存後フックにはPostToolUseを使う方針を英語・日本語の統合ドキュメントに補足しました。depup --install --include-pinnedでthiserrorの要求バージョンを2.0.21へ更新しました。Cargo.lockは既に同じ版を解決しています。ASTによる差分レビュー、影響分析、未使用コードの確認、差分の空白検査、公開前スクラブを実施しました。既存の公開APIの変更や未解決の影響は検出されていません。最終コミットのCI全8件が成功しました。Linux・macOSでformat、clippy、全テストを両パーサー構成で実行し、Windowsでも両構成のテストが成功しています。配布用6ターゲットのリリースビルドも成功しました。