chore(feedback): WP-06〜08 post-merge feedback を採用 — read-only escalation(ADR-043)・convention3件・output-contract原則(ADR-048)・ADR-050 + incident_eval 堅牢化 - #255
Conversation
…ion原則(ADR-043)・convention3件(dev-conventions)・output-contract原則(ADR-048)・ADR-050 + incident_eval 堅牢化(CASES gate + bounded wait)
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
📝 WalkthroughWalkthroughrefutation-report.mdの適用条件変更(fix.md/supervise.md)、ADR-043/ADR-048への原則追記、ADR-050新規追加とCLAUDE.mdへのリンク、dev-conventions.mdへの3規約追加を行った。また、hooks-post-tool-linterのincident_eval.rsでタイムアウト付きプロセス待機処理を導入し、incidentルールカバレッジ検証テストを新規追加した。 Changesドキュメント規約更新
Estimated code review effort: 2 (Simple) | ~10 minutes hooks-post-tool-linterのタイムアウト安全なテスト
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Test as incident_eval.rs
participant Linter as linter subprocess
participant Drain as drain_pipe_unlimited
participant Waiter as wait_with_timeout_safe
Test->>Linter: spawn process + write payload to stdin
Test->>Drain: start stdout/stderr drain threads
Drain-->>Linter: read output streams in parallel
Test->>Waiter: wait with LINTER_TIMEOUT_SECS
alt within timeout
Waiter-->>Test: process exit status
Test->>Test: assert on collected output
else timeout exceeded
Waiter-->>Test: kill process + timeout error
Test->>Test: fail with hang-detection message
end
Possibly related PRs
🚥 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 |
|
@coderabbitai review |
✅ Action performedReview finished.
|
概要
WP-06 / WP-07 / WP-08 (PR #250 / #252 / #254) の post-merge feedback (ADR-030) を精査し、採用価値のある候補をユーザー承認のうえ 1 PR にまとめて採用する。docs/rules の再発防止 (A) + WP-08 で確立した exe-spawn E2E テストの堅牢化 (B)。
様子見・却下推奨の候補は採用しない (feedback レポートに記録済み、
.claude/feedback-reports/{250,252,254}.md)。A. docs/rules(再発防止)
.takt/facets/**等) への reviewer 提案は silently skip せず misdirected として escalate する原則 (feat(pre-push-review): WP-06 反証(refute) facet 追加 — reviewers→verify(haiku)→fix (ADR-047 試験運用) #250/feat(pre-push-review): WP-07 findings handoff を markdown output-contract で標準化 — simplicity-review 契約新設・reviewer 間で列統一 (ADR-048、JSON 却下) #252 で 2 回観測)。.{timestamp}除外・現 iteration のみ、feat(pre-push-review): WP-06 反証(refute) facet 追加 — reviewers→verify(haiku)→fix (ADR-047 試験運用) #250 由来)B. incident_eval.rs 堅牢化(WP-08 で書いた E2E の実ギャップ)
cases_cover_every_incident_ruleテスト追加:CASES配列のエントリ数が deployed toml の[rules.incident]数と一致することを fail-closed で検証。incident_fixture_coverage_checkが fixture 次元を動的強制するのに対し CASES 次元が手動同期だった非対称性 (新 incident ルール追加時の E2E カバレッジ silent 欠落) を解消 (ADR-043 整合)。run_linterの bounded wait 化:child.wait_with_output()をlib-subprocess::drain_pipe_unlimited+wait_with_timeout_safe(30s)に置換し、hang した exe が CI を無期限ブロックするのを防止。dev-conventions.md の新 convention (A) に準拠。Cargo.toml に lib-subprocess を dev-dep 追加。検証
cargo test -p hooks-post-tool-linter: 146 unit + coverage gate + E2E 2 tests、全 okcargo clippy --all-targets -- -D warnings: 0 warningslint:docsOK /lint:md0 errors関連
.claude/feedback-reports/{250,252,254}.mdSummary by CodeRabbit
New Features
Bug Fixes
Documentation
Tests