Skip to content

docs(todo): split summary and todo5.md tasks to keep files under 50KB - #133

Merged
aloekun merged 2 commits into
masterfrom
docs-todo-split-50kb
May 9, 2026
Merged

docs(todo): split summary and todo5.md tasks to keep files under 50KB#133
aloekun merged 2 commits into
masterfrom
docs-todo-split-50kb

Conversation

@aloekun

@aloekun aloekun commented May 9, 2026

Copy link
Copy Markdown
Owner

Summary

Claude Code の読み取り安定性閾値 (~50KB) を超過していた docs/todo.md (68KB) と docs/todo5.md (67KB) を分割。全 todo*.md / todo-summary.md (8 ファイル) を 50KB 以下に整列。

File Sizes (50KB Threshold Check)

File Before After Status
docs/todo.md 68KB 36KB
docs/todo2.md 32KB 32KB ✅ (unchanged)
docs/todo3.md 18KB 18KB ✅ (unchanged)
docs/todo4.md 47KB 47KB ✅ (unchanged)
docs/todo5.md 67KB 25KB
docs/todo6.md 15KB 15KB ✅ (unchanged)
docs/todo7.md (new) 45KB
docs/todo-summary.md (new) 33KB

Split Boundary Rationale

docs/todo5.md は古い半分 (PR #101#109、順位 47-67、13 タスク) を docs/todo7.md に移動し、新しい半分 (PR #110 以降、順位 68-88、11 タスク) を残す形で分割。これにより docs/local-llm-offload-history.md の "末尾"・"順位 80-88 = todo5.md" 参照が破壊されない。

Pre-push Review

simplicity-review / security-review 両方 APPROVE (run: 20260509-054442-pre-push-review)。

Non-blocking findings 2 件 (preamble カウント不整合):

  • docs/todo6.md line 5: 「六つすべてを確認すること」 → 八つに更新が必要
  • docs/todo7.md line 5: 「七つすべてを確認すること」todo-summary.md を含めて八つに更新が必要

機能影響なしの ephemeral tracking なので別 commit で fold-in 検討。

Test Plan

  • recommended-order-summary anchor が GitHub 上で正しく解決すること (markdown プレビュー確認)
  • docs/todo-summary.md table 内のファイル列リンク (todo2.mdtodo7.md) が解決すること
  • CodeRabbit が分割整合性 (移動前後で順位 47-69 のメタ情報が一致) を検証すること

Summary by CodeRabbit

  • Documentation

    • 推奨実行順序のサマリーテーブルを専用ドキュメントとして新規追加しました
    • タスク管理ドキュメント群の参照先を一括更新し、参照構造と運用ルールを明確化しました
    • lintルールの説明例を修正し、悪例の参照先を更新しました
  • Chores

    • ドキュメント構成を最適化し、タスク分割とマルチファイルワークフローを確立しました

Review Change Stack

Claude Code の読み取り安定性閾値 (~50KB) を超過していた docs/todo.md (68KB)
と docs/todo5.md (67KB) を分割。

- docs/todo.md (68KB → 36KB): 推奨実行順序サマリー section を独立した
  docs/todo-summary.md (新規 33KB) に切り出し。todo.md には pointer のみ残す
- docs/todo5.md (67KB → 25KB): PR #101#109 由来の古い半分 13 タスクを
  docs/todo7.md (新規 45KB) に分離。todo5.md には PR #110 以降が残存
- recommended-order-summary anchor 参照 7 箇所 (todo2-6.md /
  custom-lint-rules.toml) を todo-summary.md# に更新
- ADR-034 / local-llm-offload-history.md の priority table 参照 4 箇所も
  todo-summary.md に追従更新
- todo-summary.md table の「ファイル」列で 順位 47-67 を todo5.md → todo7.md
  に変更、todo7.md 内部チェックリストの「本 todoN.md エントリを削除」も整合

全 8 ファイル (todo.md / todo2-7.md / todo-summary.md) が 50KB 以下に収まる。
@coderabbitai

coderabbitai Bot commented May 9, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bedac609-1d74-48e6-8d23-9342813a3292

📥 Commits

Reviewing files that changed from the base of the PR and between 8a99495 and 4889413.

📒 Files selected for processing (2)
  • docs/todo6.md
  • docs/todo7.md
✅ Files skipped from review due to trivial changes (2)
  • docs/todo7.md
  • docs/todo6.md

📝 Walkthrough

Walkthrough

PR #133 は、TODO 関連ドキュメント群の参照構造を再編成し、新規 docs/todo-summary.md を推奨実行順序の中央索引として追加、関連ファイルの参照先を todo-summary.md に統一し docs/todo7.md を新設して一部タスクを分離しました。

Changes

TODO ドキュメント構造再編成

Layer / File(s) Summary
文書体系ポリシー
docs/todo.md
冒頭ルール更新:分割ルール・ファイル役割分担・セッション検証要件(8 ファイル確認)を明文化し、docs/todo-summary.md を索引ファイルに位置付け。
推奨実行順序の中央索引
docs/todo-summary.md
新規追加。順位/Tier/タスク/参照ファイル/工数/依存を列挙する大規模表と Bundle 群の運用履歴・採否情報を追加。
PR 起源タスク群
docs/todo7.md
新規追加。時刻境界検出カスタムルール、エラーパステスト、takt 更新、comment-lint MultiEdit 対応、post-merge 堅牢化、PreToolUse 制御、pipe truncate 禁止、ADR-030 回復仕様などのタスク群を収録。
todo2–todo6 の参照リンク統一
docs/todo2.md, docs/todo3.md, docs/todo4.md, docs/todo5.md, docs/todo6.md
「推奨実行順序」参照先を docs/todo-summary.md#recommended-order-summary に統一。
ADR・履歴ドキュメントの参照更新
docs/adr/adr-034-coderabbit-auto-monitoring.md, docs/local-llm-offload-history.md
ADR-034 の新セッション確認手順や履歴中の Bundle 登録記述で参照先を docs/todo-summary.md に差し替え。
Lint ルール例の更新
.claude/custom-lint-rules.toml
no-mutable-anchor ルールの「bad」リンク例を todo-summary.md に変更。

推定レビュー工数

🎯 3 (Moderate) | ⏱️ ~25 分

関連 PR

🚥 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 PRタイトルは、このPRの主要な変更である「docs/todo.mdとdocs/todo5.mdを分割し、ファイルを50KB以下に保つ」という目的を明確かつ簡潔に要約している。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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 and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/todo6.md`:
- Line 5: The preamble in docs/todo6.md incorrectly states "六つすべてを確認すること" even
though the repo currently has eight todo files; update that sentence to reflect
eight files and list them explicitly (todo.md, todo2.md, todo3.md, todo4.md,
todo5.md, todo6.md, todo7.md, todo-summary.md) and ensure the parallel note in
todo7.md is also updated so both preambles are consistent with the PR summary.

In `@docs/todo7.md`:
- Line 5: Update the sentence that reads "新セッションでは七つすべてを確認すること" to reflect the
current count after adding todo-summary.md by replacing "七つ" with "八つ" (or
otherwise adjusting the number to match the actual files to be checked), and
verify any neighboring text that enumerates files still matches the new total so
the statement and any counts remain consistent.
- Line 103: The relative ADR link
"../docs/adr/adr-036-bundle-z-three-layer-review.md" in docs/todo7.md is
incorrect (it resolves to docs/docs/...), so update that link text to the
correct path from the docs/ folder (e.g.
"adr/adr-036-bundle-z-three-layer-review.md" or
"./adr/adr-036-bundle-z-three-layer-review.md") so the reference to ADR-036
resolves properly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d01e3962-dc52-4675-b430-b47cd196d9a3

📥 Commits

Reviewing files that changed from the base of the PR and between fd54b08 and 8a99495.

📒 Files selected for processing (11)
  • .claude/custom-lint-rules.toml
  • docs/adr/adr-034-coderabbit-auto-monitoring.md
  • docs/local-llm-offload-history.md
  • docs/todo-summary.md
  • docs/todo.md
  • docs/todo2.md
  • docs/todo3.md
  • docs/todo4.md
  • docs/todo5.md
  • docs/todo6.md
  • docs/todo7.md

Comment thread docs/todo6.md Outdated
Comment thread docs/todo7.md Outdated
Comment thread docs/todo7.md Outdated
PR #133 で CodeRabbit が検出した 3 件 Minor finding を修正:

- docs/todo6.md:5: 「六つすべてを確認すること」→「八つすべてを確認すること
  (todo.md / todo2-7.md / todo-summary.md)」
- docs/todo7.md:5: 「七つすべてを確認すること」→「八つすべてを確認すること
  (todo.md / todo2-7.md / todo-summary.md)」 (todo-summary.md カウント漏れ修正)
- docs/todo7.md:103: ADR-036 link を `../docs/adr/...` → `adr/...` に修正
  (todo7.md は docs/ 配下なので `../docs/` は誤り。todo5.md からの分割で表面化
  した pre-existing bug)

cli-finding-classifier (ADR-038) は ADR-035 docs-only filter で
not_applicable 判定したが、GitHub thread state は依然 unresolved のため
fold-in fix で thread を closeable な状態にする。
@aloekun

aloekun commented May 9, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented May 9, 2026

Copy link
Copy Markdown
✅ Actions performed

Review triggered.

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 4210e79 into master May 9, 2026
1 check passed
@aloekun
aloekun deleted the docs-todo-split-50kb branch May 9, 2026 08:45
aloekun added a commit that referenced this pull request May 9, 2026
…#134)

- todo6.md / todo-summary.md に Bundle j 3 タスク追加 (順位 94-96)
  - 94: docs/ 内 ../docs/ 相対パストラップ検出 lint rule (Tier 1, S)
  - 95: docs/todo*.md preamble file count 自動照合 (Tier 2, S)
  - 96: Markdown cross-reference validator CI step (Tier 2, M)
- local-llm-offload-analysis.md に Phase c MVP 完了 (PR #132) を反映
  - 実装方針変更 (takt facet -> cli-push-runner stage) を §1 Phase c に記述
  - Phase c+ (Bundle i) として PR #132 post-merge-feedback 採用 3 件
  - §8.E を MVP land 済みステータスに更新
  - 再開チェックリストに Phase c smoke / Bundle i 着手手順を追加
- todo-summary.md retrospective に Bundle j (PR #133 post-merge-feedback) 追記
aloekun added a commit that referenced this pull request Jun 6, 2026
本 PR は以下 4 つの作業を 1 コミットに統合:

## A. PR #196 post-merge-feedback 採用 2 件 (順位 193, 194 登録)

PR #196 (Bundle 195-FB) post-merge-feedback 8 件のうち 2 件採用、6 件却下/様子見。

採用 (todo10.md に entry 追加、todo-summary.md table に行追加):
- 順位 193 (T2): Companion helper group 署名整合 compile-time validation test
- 順位 194 (T3): development-workflow.md \"1. Plan First\" に Codification
  重複確認 step 追記

却下/様子見の詳細は .claude/feedback-reports/196.md 参照。

## B. queue 棚卸し (順位 ≤ 100 の 32 件を audit)

8 件削除 + 7 件改訂で queue の signal/noise 改善:

削除 8 件 (既存 land 確認、または動機失効):
- 順位 41 (Bundle Y2 効果定量計測): 動機の主軸失効 (Bundle Z 完成 + Z2 不採用)
- 順位 42, 43, 46 (rate-limit auto-retry 系): PR #97/#113/#129/#185 段階 land 完了
- 順位 45 (--list-findings Rust モード): PR #101 で land 済
- 順位 57 (Aggregation cap integration test): PR #171 で land 済
- 順位 93 (coding-style.md partial fix 例追加): ~/.claude/rules/common/
  coding-style.md に既に section 存在
- 順位 97 (with_num_ctx serialization test): lib.rs:494 で mockito test 実体存在

改訂 7 件 (Status update 2026-06-06 を front-matter に追加、現状反映):
- 順位 11: ADR-018 park / ADR-030 短命プロセス移行後の再現確認が前段
- 順位 19: ADR-037/043/PR #194 land 後の残余 case baseline 観測が前段
- 順位 27: Phase D-7 = PR #154 land 済を反映
- 順位 38: ADR-031 採用昇格済 (PR #192) → Bundle W/X land のみ残依存
- 順位 40: PR #175 push-runner bookmark_check 実装済 → skill 側は二重防御に縮小
- 順位 51: 採用案 C (fix.md instruction 追加) は land 済、残作業 = dogfood 観測のみ
- 順位 92: ADR-038 採用昇格済 (PR #156) で Phase d 運用入り、動機書き換え

cross-reference 修復:
- 順位 49: 旧依存 Bundle a Sub-PR 2 (順位 42/43/46) 消滅を反映
- 順位 61: 旧依存 順位 45 land 済を反映

## C. todo9.md → todo11.md 分割

todo9.md が 75KB / 890 行に到達し読み取り安定性閾値 (50KB) 超過のため分割:

- todo9.md (37KB / 454 行): 既存ルール仕組み化バンドル (順位 146-151) + 週次
  レビュー拡張 (順位 152-154) を保持
- todo11.md (41KB / 453 行、新規): PR-specific follow-up entries 10 件
  (順位 157, 160, 161, 162, 163, 165, 170, 171, 172, 173)

theme-based split で意味的分離 + 両ファイルとも 50KB 閾値以下に収まる。
todo-summary.md table の file 参照を Python script で一括更新 (10 件)、
todo-summary.md 冒頭の \"追加先ファイル\" 説明を todo10.md に更新。

## D. 順位 177 優先度引上げ

PostToolUse hook ファイルサイズ検出 task が 4 回目の同型観測に到達 (PR #133 +
#172 + #186 + 本セッション = Very High frequency)。CLAUDE.md code-review.md
\"同型 finding の閾値判定\" (3 観測 = Tier 1 昇格) を超え systemic risk 閾値到達。

3 箇所同期更新:
- todo10.md entry 本体に Status update 2026-06-06 blockquote 追加、優先度を
  \"Tier 1\" → \"Tier 1 (優先実装)\" に格上げ
- todo-summary.md table 行で Tier 列を太字 + 注記、dependency 列に urgency note
- todo-summary.md 末尾の戦略 note に \"直近優先 (2026-06-06 ユーザー指示)\"
  段落を新設、Bundle 195-FB-Followup (順位 193 + 194) の次の PR で消化推奨と
  specific call-out

## 統計

- 10 ファイル変更 (1 新規)
- ~670 lines insertions, ~910 lines deletions (net ~240 行削減)
- 全 todo*.md が 50KB 閾値以下に収まる (todo9: 37KB, todo10: 36KB, todo11: 41KB)

## 参照

- .claude/feedback-reports/196.md (採否確定 commit、PR #196 由来)
- memory feedback_post_merge_feedback_adoption_requires_user_approval per
  ユーザー承認済
- memory feedback_todo_no_history (削除は痕跡なし、コメントマーカー不使用)
- ADR-035 (docs-only PR 評価ポリシー)
- ADR-033 (採番管理簡素化、順位 renumber は避けて semantic markers で表現)
aloekun added a commit that referenced this pull request Jun 6, 2026
…順位 177) (#198)

PostToolUse Edit / Write 直後にファイルサイズ閾値超過を検出して分割を促す mechanical layer
を実装。ファイル分割を user 判断ベース → mechanical layer に移管し、認知負荷削減 + 早期検出
を実現する。

## 背景

4 PR の同型観測 (Very High frequency) で systemic risk 閾値到達:
- PR #133: todo.md → todo2.md split
- PR #172: todo8.md → todo9.md split
- PR #186: todo9.md → todo10.md split
- PR #197: todo9.md → todo11.md split (本日 land)

順位 177 として todo10.md に登録済み、PR #197 で Tier 1 (優先実装) に格上げ。
ユーザー指示 (2026-06-07) で次の PR で消化と決定。

## 設計

配置: option B = 既存 hooks-post-tool-linter (generic linter) に Layer 0.5 として統合。
option A (新 binary) に対する優位性:
- 新 binary 追加なし → deploy 簡素 (Effort S 寄り)
- PostToolUse hook 数の最小化 (1 PR push で発火する hook 数を抑制)
- ADR-039 bounded lifetime dogfood サイクルを最短で開始可能

## 実装

### Layer 0.5 配置

main() を 4 layer helper に refactor (関数長 50 行制限内に収まる構造):
- Layer 0: UTF-8 整合性 (既存)
- Layer 0.5: file_size_check (新規、metadata-only) ★
- Layer 1: 正規表現 custom-rules (既存)
- Layer 2: 外部ツール pipeline (既存)

### Config schema

[post_tool_use.file_size_check] section (ADR-039 opt-in pattern 準拠):
- enabled = false (default OFF)
- threshold_bytes = 51200 (50KB、Claude Code 読み取り安定性閾値)
- paths = ["docs/**/*.md", "src/**/*.rs"] (default 対象 glob)
- touch_trigger = true (ratchet、既存超過は触られるまで grandfather)

Kill-switch: enabled = false で完全停止。

### Pure function design

check_file_size_threshold(file, size_bytes, config) は I/O フリーの純粋関数として実装、
file system access は呼び出し側 (run_file_size_layer) に分離。tests が deterministic に
書け、memory feedback_test_dry_antipattern に従い各 variant 独立 setup が trivial。

### touch_trigger ratchet の MVP 制限

touch_trigger = false (strict mode = 全 enabled paths を毎回スキャン) は ADR-039 bounded
lifetime dogfood 後の判定に倒し、MVP では config field 受理のみ (true/false 同挙動)。
3-5 PR の dogfood 観測後に default-ON 昇格 or strict mode 実装 or 却下を判定。

## ADR-007 amendment (Layer 0.5 追記)

ADR-007 § Layer 0.5 追記 section を新設し、file_size_check が Q1/Q2/Q3 判断フロー対象外
であることを codify。同型 (metadata-only、content 非依存) の future check は同 Layer 0.5
に追加することで regex / AST 層との責務境界を維持する原則を明文化。

## Tests

8 variant 独立 setup (memory feedback_test_dry_antipattern 適用):
1. enabled=false で短絡 (kill-switch 動作確認)
2. paths glob 不一致で skip
3. size 閾値内で skip
4. size 超過で feedback emit
5. docs/todo* に対する recovery hint 文脈別出し分け
6. paths が空配列の場合 skip
7. touch_trigger=false が MVP では true と同挙動
8. Windows backslash path の forward-slash 正規化

全 8 test pass、既存 141 test との non-regression 確認済 (cargo test 149/149 passed)。
cargo clippy --workspace -- -D warnings clean。

## Dogfood

threshold=30720 で hooks-config.toml を temporarily enable、docs/todo10.md (38155 bytes)
に hook 発火を実観測:
[file-size-check] docs/todo10.md: ファイルサイズ 38155 bytes が threshold 30720 bytes
(= 30.0 KB) を超過しています。ファイル分割を推奨します (docs/todo*.md の場合は新
todo<N+1>.md を新設して entry を移管).

小ファイル (docs/todo5.md 11909 bytes) は no-op を確認。dogfood 後 enabled=false /
threshold=51200 に revert 済 (production default = opt-in).

## 関連 docs 更新

- docs/todo10.md: 順位 177 entry 削除 (実装完了)
- docs/todo-summary.md: 順位 177 table 行 + 「直近優先 2026-06-07」call-out 段落 削除
- docs/adr/adr-007-custom-linter-layer-boundary.md: § Layer 0.5 追記 新設

## 参照

- memory feedback_pipeline_over_rules: rule → hook 切替の体系適用
- ADR-039: experimental feature 標準パターン (opt-in + kill-switch + bounded lifetime)
- ADR-007: custom-linter layer boundary (本 PR で Layer 0.5 追記)
- 順位 102 (PR #148 land): paths glob filter helper を再利用
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