test(regression): 一度指摘されたのに直らなかった 2 件を設計意図ごとテストで固定する - #484
Merged
Merged
Conversation
post-merge feedback 採用分のうち、実際に一度指摘されたのにテストが無く実装が 直らなかった 2 件を回帰テストで固定する。 ## lib-ledger: 台帳セル由来の失敗メッセージ (#481 系統) - `reject_prompt_frame_escape` から位置を持たない `frame_escape_reason` を切り出し、 検査 C が渡していたリテラル `0` (= 実在しない「0 行目」がメッセージに混入) を無くす。 行の同定は順位で足りる。 - 併せて両関数を `screening.rs` へ移す (`lib.rs` が 800 行上限を超えたため。 不可視文字判定の隣が置き場所としても自然)。 - 追加した回帰テスト 4 本は、いずれも変異を入れて落ちることを実測した: 境界検査を列挙の後ろへ「返す」形にすると 2 本が落ち、ディレクトリ宣言が無いセルで 早期 return すると 1 本が落ち、行番号 0 を復活させると 1 本が落ちる。 ## cli-nightly-outcome: 停止理由行の段限定 (#482 系統) `[NIGHTLY_AGENT_STOP]` は「変更せず終了するとき」に限って書かせている接頭辞なので、 理由行が説明として成立するのは guard 段と段不明のときだけ。変更がある段 (verify / ledger_completion / ledger_removal) で理由が書かれていたら申告と実態が 食い違っているので、理由の中身ではなく食い違いそのものを 1 行にする。 - pre-push review が 1st run で指摘したが、テストが guard の 1 ケースしか無かった。 全段 × 全 reason の表で押さえる。 - この変更で **e2e fixture の誤りが露見した**: guard 停止の夜を模す 3 本が `VERIFY_OUTCOME` を渡しておらず、`<未実行>` = 非成功として停止段が verify に なっていた。fixture 側を直した。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (5)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughChanges停止理由表示
台帳データ検査
Estimated code review effort: 3 (Moderate) | ~25 minutes Merge Risk: ⚪ Minimal · up to 停止理由の表示条件と台帳セルの境界検査を回帰テストで固定し、fixture の停止段判定も修正しています。現時点で、この変更によるマージを妨げる具体的なリスクは確認されていません。 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributor
🤖 PR Monitor 分析 (GitHub Actions バックストップ)
Applicable Findings (Critical / High / Major)該当なし Applicable Findings (Medium 以下)該当なし Filtered (not applicable)該当なし 次のアクション
|
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.
何をしたか
post-merge feedback (#476〜#483) の採用分のうち、pre-push review / security review が実際に一度指摘したのに、テストが無かったために実装の側が直らなかった 2 件を回帰テストで固定します。追加したテストはすべて変異を入れて落ちることを実測しています。
1. lib-ledger — 台帳セル由来の失敗メッセージ (#481 系統)
reject_prompt_frame_escapeから位置を持たないframe_escape_reasonを切り出し、検査 C が渡していたリテラル0(= 実在しない「0 行目」がメッセージに混入) を無くしました。行の同定は順位で足ります。screening.rsへ移しています。lib.rsが 800 行上限を超えたためですが、不可視文字判定の隣という置き場所としても自然です。0を復活させる → 1 本が落ちるなお「境界検査を先に計算する」だけの変異では落ちません。押さえているのは返す順であり、その旨をテストの doc に明記しています。
2. cli-nightly-outcome — 停止理由行の段限定 (#482 系統)
[NIGHTLY_AGENT_STOP]は「変更せず終了するとき」に限って書かせている接頭辞なので、理由行が説明として成立するのは guard 段と段不明のときだけです。変更がある段 (verify/ledger_completion/ledger_removal) で理由が書かれていたら申告と実態が食い違っているので、理由の中身ではなく食い違いそのものを 1 行にします (黙って落とすと証拠が消えるため)。Unreadableだけは段によらず出します。execution file を読めないのは agent の申告ではなく配線の故障で、guard 段の夜まで見えないままにすると次に必要なときに使えません。この変更で露見した e2e fixture の誤り
guard 停止の夜を模した e2e 3 本が
VERIFY_OUTCOMEを渡しておらず、verify=<未実行>が非成功と判定されて停止段が verify になっていました。理由行が無条件出力だったため今まで隠れていた誤りです。fixture 側を直しました。検証
cargo test --workspace62 スイート緑 /cargo clippy --workspace --all-targets警告なし🤖 Generated with Claude Code
Summary by CodeRabbit