Skip to content

test(session-start): staleness 判定の共通 fixture を parametrized… (nightly-todo 順位 356) - #483

Merged
aloekun merged 2 commits into
masterfrom
claude/nightly-356
Sep 7, 2026
Merged

aloekun merged 2 commits into
masterfrom
claude/nightly-356

Conversation

@nightly-todo-aloekun

@nightly-todo-aloekun nightly-todo-aloekun Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

台帳 (docs/claude-code-web-tasks.md) の無人可タスク 順位 356
夜間ループ (nightly-todo workflow) が無人で実装した PR です。

  • 内容: weekly / monthly staleness 判定の共通 fixture を parametrized test 化する
  • 事前フィルタ: 夜間 workflow が ubuntu 上で cargo test --workspace +
    cargo clippy --workspace --all-targets -- -D warnings を回して green を確認済み
    (agent の自己申告ではなく workflow が回し直した結果)。これはコストフィルタで
    品質の保証ではありません — 単一 OS で --ignored も hooks smoke も含みません
  • 品質の保証: 本 PR に紐づく ci.yml (windows-latest + ubuntu-latest) のチェックを見てください
  • ゲート: cli-autonomy-gate --operation autonomous-pr (kill-switch + 背圧) を通過

マージ判断は人間が行います (ADR-052 の commitment 点)。CI が緑で内容が台帳の
意図に沿っていればマージしてください。ずれている場合はクローズを —
採用率は WP-18 の受け入れ基準の測定対象です。

close する場合の lane 操作 (ADR-072 決定 20): 人間が引き取るなら台帳の
無人可 へ変更してください。 のまま close すると、
決着済み PR のブランチ掃除の後にこの順位が再び選択されます (= 再投入の意思表示)。

run: https://github.com/aloekun/claude-code-hook-test/actions/runs/34050790574

Summary by CodeRabbit

  • テスト

    • 月次・週次レビューの鮮度判定について、欠落・古さ・読み取り不能・境界値などのケースを網羅する表形式テストを追加しました。
    • 最終実行状態の解析について、欠落フィールド・不正な日付・未来日時・経過日数のケースを追加検証しました。
  • ドキュメント

    • 完了したテスト作業に関する重複タスク項目を計画文書から削除しました。

nightly-todo and others added 2 commits September 6, 2026 18:13
実装完了は cli-ledger-cleanup が台帳の宣言と PR の変更を突き合わせて判定済み。マージと後始末を原子的にするため PR へ同梱する。
@aloekun

aloekun commented Sep 6, 2026

Copy link
Copy Markdown
Owner

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 08296675-c0ec-4482-9449-3d3772474776

📥 Commits

Reviewing files that changed from the base of the PR and between 14f951e and 83ffc50.

📒 Files selected for processing (5)
  • docs/claude-code-web-tasks.md
  • docs/todo-summary2.md
  • docs/todo14.md
  • src/hooks-session-start/src/monthly_review.rs
  • src/hooks-session-start/src/weekly_review/tests.rs
💤 Files with no reviewable changes (3)
  • docs/claude-code-web-tasks.md
  • docs/todo-summary2.md
  • docs/todo14.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

月次と週次の staleness 判定に fixture 表駆動テストを追加した。対応する順位 356 の作業項目を3つの計画文書から削除した。公開 API と既存ロジックは変更していない。

Changes

Staleness fixture tests

Layer / File(s) Summary
Fixture 表駆動テスト
src/hooks-session-start/src/monthly_review.rs, src/hooks-session-start/src/weekly_review/tests.rs
月次と週次の staleness 判定および最終実行状態を、欠落、不正値、境界値、過去値などのケースで検証するテストを追加した。
完了済み作業項目の削除
docs/claude-code-web-tasks.md, docs/todo-summary2.md, docs/todo14.md
順位 356 の fixture テスト追加タスクを計画文書から削除した。

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to 83ffc

This change expands weekly and monthly staleness test coverage and removes completed planning entries. It does not alter runtime behavior, and no current merge-blocking risk remains.

Suggested reviewers: aloekun

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed タイトルは、weekly/monthly の staleness 判定に共通 fixture を使った parametrized test を追加する主な変更を正確に示しています。
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 2 files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/nightly-356

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@aloekun

aloekun commented Sep 7, 2026

Copy link
Copy Markdown
Owner

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@aloekun
aloekun merged commit c26a5ba into master Sep 7, 2026
3 of 4 checks passed
@aloekun
aloekun deleted the claude/nightly-356 branch September 7, 2026 05:38
aloekun added a commit that referenced this pull request Sep 7, 2026
post-merge feedback (#476-#485) の採用分のうち、コードで塞げないものを既存の
台帳エントリへ反映する。新規の Tier 3 エントリは作らない。

## 既存エントリへの追記

- 順位 460 (信頼境界の ADR 化): 「台帳セル由来の文字列を失敗メッセージへ埋める経路は
  新設のたびに screening を通す」を 4 つ目の原則として追加。#481/#482/#483 の 3 レポートが
  独立に同じ提案を出したのは、原則が未文書である合図として扱う。
- 順位 342 (陽性証拠): 射程を「検知機構のテスト検証」まで広げた。「出なかったこと」は
  検知が働いた証拠にならない (検知が壊れていても同じ結果になる)。#311 の実装側と
  #479 の検証側は同じ 1 原則の 2 適用先なので、別エントリを立てず 1 本化する。

## 順位 461 の前提が変わった

dev-conventions.md への一括追記を出口としていたが、**その出口を採らない**方針が示された
(dev-conventions.md は ADR 運用から棚上げした項目を積み上げた負の遺産であり縮小方向。
決定事項は ADR で管理し、それ以外は仕組み化する)。着手前に 12 項目を
「ADR 化 / 仕組み化 / 却下」へ振り分ける作業を先頭に置いた。

## 順位 514 を新設

行き先を失った #479 Tier2 #1 (外部コマンド出力パーサのテスト入力は実出力から採る) を、
規約ではなく仕組みの検討として登録する。#479#313 の 2 件が同型なので、型の網羅性 /
fixture 契約 / 計測の 3 案を比較してから決める。

## PR #314 feedback の後始末

- A: ADR 参照 5 箇所をバッククォートから markdown link へ (台帳全体では link 262 件 vs
  backtick 5 件で慣例は明確)
- B / C: 対象エントリ (順位 339 / 336) が既に台帳から消えており失効
- D: 「Tier ↔ 絵文字の凡例を書く」は**採らない**。実測すると絵文字は Tier 番号の関数に
  なっておらず (🔧 Tier 3 が 16 箇所)、凡例を書くとその食い違いを正当化してしまう。
  絵文字の削除は別 PR で行う。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
aloekun added a commit that referenced this pull request Sep 7, 2026
post-merge feedback (#476-#485) の採用分のうち、コードで塞げないものを既存の
台帳エントリへ反映する。新規の Tier 3 エントリは作らない。

## 既存エントリへの追記

- 順位 460 (信頼境界の ADR 化): 「台帳セル由来の文字列を失敗メッセージへ埋める経路は
  新設のたびに screening を通す」を 4 つ目の原則として追加。#481/#482/#483 の 3 レポートが
  独立に同じ提案を出したのは、原則が未文書である合図として扱う。
- 順位 342 (陽性証拠): 射程を「検知機構のテスト検証」まで広げた。「出なかったこと」は
  検知が働いた証拠にならない (検知が壊れていても同じ結果になる)。#311 の実装側と
  #479 の検証側は同じ 1 原則の 2 適用先なので、別エントリを立てず 1 本化する。

## 順位 461 の前提が変わった

dev-conventions.md への一括追記を出口としていたが、**その出口を採らない**方針が示された
(dev-conventions.md は ADR 運用から棚上げした項目を積み上げた負の遺産であり縮小方向。
決定事項は ADR で管理し、それ以外は仕組み化する)。着手前に 12 項目を
「ADR 化 / 仕組み化 / 却下」へ振り分ける作業を先頭に置いた。

## 順位 514 を新設

行き先を失った #479 Tier2 #1 (外部コマンド出力パーサのテスト入力は実出力から採る) を、
規約ではなく仕組みの検討として登録する。#479#313 の 2 件が同型なので、型の網羅性 /
fixture 契約 / 計測の 3 案を比較してから決める。

## PR #314 feedback の後始末

- A: ADR 参照 5 箇所をバッククォートから markdown link へ (台帳全体では link 262 件 vs
  backtick 5 件で慣例は明確)
- B / C: 対象エントリ (順位 339 / 336) が既に台帳から消えており失効
- D: 「Tier ↔ 絵文字の凡例を書く」は**採らない**。実測すると絵文字は Tier 番号の関数に
  なっておらず (🔧 Tier 3 が 16 箇所)、凡例を書くとその食い違いを正当化してしまう。
  絵文字の削除は別 PR で行う。

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

1 participant