Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs/harness-improvement-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@ Anthropic 公式のハーネスエンジニアリング指針(決定論的基
### WP-11 残: scope_guard の本採用判定

- 現状: observe 期間(2026-07-12〜08-01、fix step 実行 5 回)で誤検知ゼロを確認し、2026-08-01 に `mode = "enforce"` へ昇格済(ADR-054 の dogfood 記録参照)。
- 残作業: enforce で 3〜5 PR(fix step 発生ベース)誤検知ゼロを確認したら本採用(ADR-054 の status 更新)。判定基準・kill-switch は ADR-054 を参照。
- **2026-08-08 に enforce 下で BLOCK を 1 件観測**(#366、WP-18)。自動 fix の push が「finding 対象外ファイルへの変更を検知 (injection の疑い): `.github/workflows/nightly-todo.yml`」で止まった。実装を確認したところ、`evaluate_scope_guard` の allowlist は `allowlist_from_paths(findings.iter().map(|f| f.file))` = **finding の anchor(`file`)位置だけ**で構成され、remedy が別ファイルにある場合はそれを含まない(ADR-054 も「allowlist を findings の file 集合に限定する欠点」を明記)。したがって**これは誤検知ではなく、scope guard の現行設計どおりの保守的 deny** である。CodeRabbit finding の anchor(`docs/adr/adr-072`)と remedy(workflow)が別ファイルだったために起きた(memory `coderabbit-finding-summary-truncates-scope` と同根で、anchor と remedy が別ファイルの指摘は構造的に必ず deny される)。
- 残作業: 本採用の「誤検知ゼロ」判定基準を、**この設計上の保守的 deny を誤検知に数えないよう明確化する**(ADR-054 の status 更新時に扱う)。enforce で 3〜5 PR(fix step 発生ベース)の観測を続ける。判定基準・kill-switch は ADR-054 を参照。

### WP-15 追補残: レート制限時の保留保証(GitHub Actions 経路)

Expand Down
5 changes: 4 additions & 1 deletion docs/todo-summary2.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,10 @@
| 381 | 🚀 Tier 1 | **台帳由来 SUMMARY の draft PR 本文出力に screening を追加 (#363 Tier1 #4)** | todo20.md | S | 順位 378 (public repo では draft PR 本文も第三者に可視 = 攻撃者制御文字列の公開面) |
| 382 | 🔧 Tier 2 | **台帳 prompt injection payload の regression test (#363 Tier2 #1)** | todo20.md | M | 順位 380 (framing が入ってから、その framing が効くことを固定する) |
| 383 | 🔧 Tier 2 | **`is_separator_row` のパイプ検証欠落を塞ぐ + 回帰テスト (#363 Tier2 #2)** | todo20.md | S | なし (2026-08-07 実コード確認済み。bare `---` がセパレータ行として通る) |
| 384 | 🚀 Tier 1 | **夜間ループの外部設定 (GitHub App / repository variables・secrets) の実体を ADR-072 へ記録 — ADR-051 違反の解消** | todo20.md | S | 順位 374 と同時実施 (スモークで GitHub UI を触る過程で実値が揃う。ADR-072 は決定 8 で設計根拠を厚く残す一方、App の作成・インストール範囲・variable/secret の登録先を 1 行も記録していない) |
| 385 | 🔧 Tier 3 | **cli-pr-monitor の lock に liveness check が無く、プロセス死後も最大 30 分監視が skip される** | todo21.md | S | なし (2026-08-08 実測。stale 判定は経過時間 1800s のみで pid 生存を見ない。module doc に既知トレードオフとして明記済みのため「不要」判断も正規の出口) |
| 386 | 🔧 Tier 2 | **監視・自動 fix 経路が積む空コミットで bookmark がずれ `pnpm merge-pr` / `pnpm push` が失敗する** | todo21.md | M | なし (2026-08-08 セッションで 7 回観測。`BOOKMARK_SEARCH_REVSETS` は @/@-/@-- の 3 段のみ。生成元は監視・自動 fix 経路と確定。深さ非依存 revset へ変える案が本命) |
| 387 | 🔧 Tier 2 | **自動 fix 経路は push が BLOCK されてもローカル作業コピーを書き換える** | todo21.md | M | なし (2026-08-08 実測。#366 で scope guard BLOCK 後もローカルは fix 版に。push を止めても local 状態は変わる。ADR-022 の後始末責務) |
| 388 | 🔧 Tier 3 | **post-merge-feedback の完了判定が書き込みと race し成功した feedback を failed marker にする** | todo21.md | S | なし (2026-08-08 実測。#367 で report は run dir に存在したのに不在判定。データ損失なし・誤 fail のみ) |

**戦略**: Tier 1 を 2〜3 セッションで片付け → Tier 2 で ADR-032 の前提 + rate-limit + convergence cost 削減を進める → Tier 3 で ADR-032 を land + ドキュメント整備。Tier 4-5 は cleanup / 外部展開で daily efficiency への直接効果は小さい。

Expand Down
9 changes: 5 additions & 4 deletions docs/todo.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> **運用ルール**: 各タスクには **やろうとしたこと / 現在地 / 詰まっている箇所** を必ず書く。完了タスクは ADR か仕組みに反映後、このファイルから削除する。過去の経緯は git log で追跡可能。
>
> **本ファイル + [docs/todo2.md](todo2.md) 〜 [docs/todo20.md](todo20.md) + [docs/todo-summary.md](todo-summary.md) の使い分け** (PR #83 T3-2 で恒久化、2026-04-28 強化、PR #88 で todo3.md 追加、PR #96 セッションで todo4.md 追加、PR #101 セッションで todo5.md 追加、PR #123 セッションで todo6.md 追加、2026-05-09 に todo-summary.md 切り出し + todo5.md 分割で todo7.md 追加、PR #143 = 2026-05-11 で todo8.md 追加、PR #172 仕組み化方針切替 = 2026-05-25 で todo9.md 追加、PR #185 land 後 2026-05-29 で todo10.md 追加、2026-06-06 todo9.md 分割で todo11.md 追加、2026-06-12 PR #204 で todo10.md 分割により todo12.md 追加、2026-06-29 PR #224 セッションで todo13.md 追加、2026-07-19 週次レビュー WR-2026-07-19-T02 採用で todo14.md 追加、2026-07-20 docs 50KB 超過解消で todo13.md を todo15/16/17・todo10.md を todo18/19 へ物理分割、2026-08-04 todo14.md の 50KB 超過で todo20.md 追加):
> **本ファイル + [docs/todo2.md](todo2.md) 〜 [docs/todo21.md](todo21.md) + [docs/todo-summary.md](todo-summary.md) + [docs/todo-summary2.md](todo-summary2.md) の使い分け** (PR #83 T3-2 で恒久化、2026-04-28 強化、PR #88 で todo3.md 追加、PR #96 セッションで todo4.md 追加、PR #101 セッションで todo5.md 追加、PR #123 セッションで todo6.md 追加、2026-05-09 に todo-summary.md 切り出し + todo5.md 分割で todo7.md 追加、PR #143 = 2026-05-11 で todo8.md 追加、PR #172 仕組み化方針切替 = 2026-05-25 で todo9.md 追加、PR #185 land 後 2026-05-29 で todo10.md 追加、2026-06-06 todo9.md 分割で todo11.md 追加、2026-06-12 PR #204 で todo10.md 分割により todo12.md 追加、2026-06-29 PR #224 セッションで todo13.md 追加、2026-07-19 週次レビュー WR-2026-07-19-T02 採用で todo14.md 追加、2026-07-20 docs 50KB 超過解消で todo13.md を todo15/16/17・todo10.md を todo18/19 へ物理分割、2026-08-04 todo14.md の 50KB 超過で todo20.md 追加、2026-08-08 todo20.md の 50KB 超過で todo21.md 追加):
>
> - **docs/todo-summary.md**: 推奨実行順序サマリー table 専用 (旧 todo.md から切り出し)、順位 6-219 を収容。既存行編集・順位再採番はここで行う。
> - **docs/todo-summary2.md**: todo-summary.md の table を 2026-07-20 に docs 50KB 超過解消で分割した後半 (順位 220 以降を収容)。新規行追加は末尾 = 本ファイルで行う。cli-docs-lint の priority-inversion / preamble は両 summary を統合検査。
Expand All @@ -25,9 +25,10 @@
> - **docs/todo17.md**: 既存タスクの編集・完了削除専用 (2026-07-20 todo13.md 分割で新設、順位 319-332 収容)。**新規タスクは追加しない**
> - **docs/todo18.md**: 既存タスクの編集・完了削除専用 (2026-07-20 todo10.md 分割で新設、順位 215-219 収容)。**新規タスクは追加しない**
> - **docs/todo19.md**: 既存タスクの編集・完了削除専用 (2026-07-20 todo10.md 分割で新設、順位 220-224 収容)。**新規タスクは追加しない**
> - **docs/todo20.md**: 新規タスクの追加先。50KB に到達するまでは本ファイルへ追加 (2026-08-04 todo14.md の 50KB 超過で新設、順位 365 以降を収容)
> - 例外: 既存 todo.md / todo2.md 〜 todo20.md タスクと **同一ファイル / 同一コンポーネント** を編集する密結合タスクは該当ファイルに追加可 (例: `~/.claude/rules/common/git-workflow.md` 配下のグローバルルール群)
> - **新セッションでは全 todo ファイルを確認すること** (todo.md / todo2-20.md / todo-summary.md / todo-summary2.md)
> - **docs/todo20.md**: 既存タスクの編集・完了削除専用。**新規タスクは追加しない** (2026-08-04 todo14.md の 50KB 超過で新設・順位 365-388 を収容、2026-08-08 に本ファイルも 50KB 超過で新規追加先は todo21.md へ移行)
> - **docs/todo21.md**: 新規タスクの追加先。50KB に到達するまでは本ファイルへ追加 (2026-08-08 todo20.md の 50KB 超過で新設、順位 385 以降を収容)
> - 例外: 既存 todo.md / todo2.md 〜 todo21.md タスクと **同一ファイル / 同一コンポーネント** を編集する密結合タスクは該当ファイルに追加可 (例: `~/.claude/rules/common/git-workflow.md` 配下のグローバルルール群)
> - **新セッションでは全 todo ファイルを確認すること** (todo.md / todo2-21.md / todo-summary.md / todo-summary2.md)

---

Expand Down
2 changes: 1 addition & 1 deletion docs/todo10.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> **運用ルール** ([docs/todo.md](todo.md) と同一): 各タスクには **やろうとしたこと / 現在地 / 詰まっている箇所** を必ず書く。完了タスクは ADR か仕組みに反映後、このファイルから削除する。過去の経緯は git log で追跡可能。
>
> **本ファイルの位置付け**: docs/todo9.md がファイルサイズ 50KB を超え行数 1100+ 行に到達したため、Claude Code の読み取り安定性 (50KB 超で不安定化) を考慮して新規エントリは本ファイルに記録する (PR #185 = Bundle CR-RL land 後、2026-05-29 ユーザー判断)。**本ファイルは既存タスクの編集・完了削除専用** (新規エントリの追加先は PR #224 セッション = 2026-06-29 で [docs/todo13.md](todo13.md) へ移行し、その後 todo14.md を経て、**現在は [docs/todo20.md](todo20.md)**。2026-06-12 PR #204 で PR #185 〜 PR #196 era の 8 エントリを [docs/todo12.md](todo12.md) に分離して file_size_check 50KB threshold 内に収めた、todo12.md は新規追加先ではない)。todo.md / todo2.md 〜 todo9.md / todo11.md / todo12.md の既存エントリは引き続き有効、相互に独立。**2026-07-20 に順位 215-224 を todo18.md/todo19.md へ物理分割し、本ファイルは順位 198-214 のみ収容 (docs 50KB 超過解消、39KB 台に縮小)。**新セッションでは22つすべてを確認すること (todo.md / todo2-20.md / todo-summary.md / todo-summary2.md)。
> **本ファイルの位置付け**: docs/todo9.md がファイルサイズ 50KB を超え行数 1100+ 行に到達したため、Claude Code の読み取り安定性 (50KB 超で不安定化) を考慮して新規エントリは本ファイルに記録する (PR #185 = Bundle CR-RL land 後、2026-05-29 ユーザー判断)。**本ファイルは既存タスクの編集・完了削除専用** (新規エントリの追加先は PR #224 セッション = 2026-06-29 で [docs/todo13.md](todo13.md) へ移行し、その後 todo14.md → todo20.md を経て、**現在は [docs/todo21.md](todo21.md)** (2026-08-08 に todo20.md が 50KB 超過で移行)。2026-06-12 PR #204 で PR #185 〜 PR #196 era の 8 エントリを [docs/todo12.md](todo12.md) に分離して file_size_check 50KB threshold 内に収めた、todo12.md は新規追加先ではない)。todo.md / todo2.md 〜 todo9.md / todo11.md / todo12.md の既存エントリは引き続き有効、相互に独立。**2026-07-20 に順位 215-224 を todo18.md/todo19.md へ物理分割し、本ファイルは順位 198-214 のみ収容 (docs 50KB 超過解消、39KB 台に縮小)。**新セッションでは23つすべてを確認すること (todo.md / todo2-21.md / todo-summary.md / todo-summary2.md)。
>
> **推奨実行順序**: 全タスク横断のサマリーは [docs/todo-summary.md](todo-summary.md#recommended-order-summary) を参照。

Expand Down
2 changes: 1 addition & 1 deletion docs/todo11.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> **運用ルール** ([docs/todo.md](todo.md) と同一): 各タスクには **やろうとしたこと / 現在地 / 詰まっている箇所** を必ず書く。完了タスクは ADR か仕組みに反映後、このファイルから削除する。過去の経緯は git log で追跡可能。
>
> **本ファイルの位置付け**: docs/todo9.md がファイルサイズ 75KB 超 (890 行) に到達したため、Claude Code の読み取り安定性 (50KB 超で不安定化) を考慮して、PR-specific follow-up entries (PR #174 以降の post-merge-feedback 採用 entry) を本ファイルに分離 (2026-06-06)。todo9.md には「既存ルール仕組み化バンドル + 週次レビュー拡張」themed entries が残る。todo.md / todo2.md 〜 todo10.md の既存エントリは引き続き有効、相互に独立。新セッションでは22つすべてを確認すること (todo.md / todo2-20.md / todo-summary.md / todo-summary2.md)。
> **本ファイルの位置付け**: docs/todo9.md がファイルサイズ 75KB 超 (890 行) に到達したため、Claude Code の読み取り安定性 (50KB 超で不安定化) を考慮して、PR-specific follow-up entries (PR #174 以降の post-merge-feedback 採用 entry) を本ファイルに分離 (2026-06-06)。todo9.md には「既存ルール仕組み化バンドル + 週次レビュー拡張」themed entries が残る。todo.md / todo2.md 〜 todo10.md の既存エントリは引き続き有効、相互に独立。新セッションでは23つすべてを確認すること (todo.md / todo2-21.md / todo-summary.md / todo-summary2.md)。
>
> **推奨実行順序**: 全タスク横断のサマリーは [docs/todo-summary.md](todo-summary.md#recommended-order-summary) を参照。

Expand Down
2 changes: 1 addition & 1 deletion docs/todo13.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> **運用ルール** ([docs/todo.md](todo.md) と同一): 各タスクには **やろうとしたこと / 現在地 / 詰まっている箇所** を必ず書く。完了タスクは ADR か仕組みに反映後、このファイルから削除する。過去の経緯は git log で追跡可能。
>
> **本ファイルの位置付け**: docs/todo10.md がファイルサイズ約 95KB (50KB 安定読み取り閾値の約 2 倍) に到達したため、新規エントリを本ファイルに記録していた (PR #224 セッション、2026-06-29 ユーザー判断)。**本ファイルも約 171KB に到達したため、新規エントリの追加先は 2026-07-19 (週次レビュー WR-2026-07-19-T02 採用) に [docs/todo14.md](todo14.md) へ移動し、その todo14.md も約 70KB に達したため 2026-08-04 以降の追加先は [docs/todo20.md](todo20.md) である。本ファイルは既存タスクの編集・完了削除専用**。todo.md / todo2.md 〜 todo12.md / todo14.md 〜 todo20.md の既存エントリは引き続き有効、相互に独立。**2026-07-20 に順位 248-332 を todo15.md/todo16.md/todo17.md へ物理分割し、本ファイルは順位 225-247 のみ収容 (docs 50KB 超過解消、45KB 台に縮小)。**
> **本ファイルの位置付け**: docs/todo10.md がファイルサイズ約 95KB (50KB 安定読み取り閾値の約 2 倍) に到達したため、新規エントリを本ファイルに記録していた (PR #224 セッション、2026-06-29 ユーザー判断)。**本ファイルも約 171KB に到達したため、新規エントリの追加先は 2026-07-19 (週次レビュー WR-2026-07-19-T02 採用) に [docs/todo14.md](todo14.md) へ移動し、その todo14.md も約 70KB に達したため 2026-08-04 以降の追加先は [docs/todo20.md](todo20.md)、さらに todo20.md も 50KB 超過で 2026-08-08 以降は [docs/todo21.md](todo21.md) である。本ファイルは既存タスクの編集・完了削除専用**。todo.md / todo2.md 〜 todo12.md / todo14.md 〜 todo21.md の既存エントリは引き続き有効、相互に独立。**2026-07-20 に順位 248-332 を todo15.md/todo16.md/todo17.md へ物理分割し、本ファイルは順位 225-247 のみ収容 (docs 50KB 超過解消、45KB 台に縮小)。**
>
> **推奨実行順序**: 全タスク横断のサマリーは [docs/todo-summary.md](todo-summary.md#recommended-order-summary) を参照。

Expand Down
2 changes: 1 addition & 1 deletion docs/todo14.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> **運用ルール** ([docs/todo.md](todo.md) と同一): 各タスクには **やろうとしたこと / 現在地 / 詰まっている箇所** を必ず書く。完了タスクは ADR か仕組みに反映後、このファイルから削除する。過去の経緯は git log で追跡可能。
>
> **本ファイルの位置付け**: docs/todo13.md がファイルサイズ約 171KB (50KB 安定読み取り閾値の約 3.4 倍) に到達したため、2026-07-19 週次レビュー WR-2026-07-19-T02 採用時に新設した。**本ファイル自体も約 70KB に到達したため新規エントリは追加しない** — 2026-08-04 以降の新規エントリは [docs/todo20.md](todo20.md) へ記録する。todo.md / todo2.md 〜 todo19.md の既存エントリは引き続き有効、相互に独立 (2026-07-20 に todo13.md→todo15/16/17・todo10.md→todo18/19 の物理分割で todo15-19 を新設)。
> **本ファイルの位置付け**: docs/todo13.md がファイルサイズ約 171KB (50KB 安定読み取り閾値の約 3.4 倍) に到達したため、2026-07-19 週次レビュー WR-2026-07-19-T02 採用時に新設した。**本ファイル自体も約 70KB に到達したため新規エントリは追加しない** — 2026-08-04 以降の新規エントリは [docs/todo20.md](todo20.md) へ記録していたが、todo20.md も 50KB 超過で **2026-08-08 以降の追加先は [docs/todo21.md](todo21.md)** である。todo.md / todo2.md 〜 todo21.md の既存エントリは引き続き有効、相互に独立 (2026-07-20 に todo13.md→todo15/16/17・todo10.md→todo18/19 の物理分割で todo15-19 を新設)。
>
> **推奨実行順序**: 全タスク横断のサマリーは [docs/todo-summary.md](todo-summary.md#recommended-order-summary) を参照。

Expand Down
Loading
Loading