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
5 changes: 5 additions & 0 deletions .claude/custom-lint-rules.toml
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,11 @@ good = 'See [推奨実行順序](todo-summary.md#recommended-order-summary) <!-
# `~/.claude/rules/common/coding-style.md` の Cross-File Reference Lifecycle ルール
# (永続成果物 → ephemeral artifact 参照禁止) の決定論的検出層。
#
# extensions の選定:
# - 当初設計 (PR #94) では rs/toml/jsonc/json/ts/tsx/js/jsx/py/ps1 のみを対象に列挙
# - PR #110 で yaml/yml を追加: takt workflow yaml / GitHub Actions yaml 等の
# YAML config も permanent artifact として ephemeral 参照を含み得るため
#
# Self-exclusion 設計:
# Rust regex は lookbehind 非対応のため負 lookahead は使用不可。本ファイル自身は
# .toml 拡張子で対象内だが、message / why / example 内に concrete `docs/todoN.md`
Expand Down
1 change: 0 additions & 1 deletion docs/claude-code-web-tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

| 順位 | Tier | 内容 | 編集ファイル | 工数 |
|---|---|---|---|---|
| 69 | T3 | `no-ephemeral-todo-reference` rule の `yaml`/`yml` extensions 追加理由をコメント 1-2 行で明記 (PR #110 T3-1) | [.claude/custom-lint-rules.toml](../.claude/custom-lint-rules.toml) rule⑥ コメント欄 | XS |
| 104 | T3 | ADR-007 amendment: semantic self-limitation 安全条件 + lint rule 最小テストチェックリスト (pattern detection / case-insensitive / false positive skip の 3 項目) (PR #140 T3-#1) | [docs/adr/adr-007-custom-linter-layer-boundary.md](adr/adr-007-custom-linter-layer-boundary.md) | S |
| 116 | T3 | ADR-040 `step_timeout` 説明に sublinear / KV cache locality clarification を 2-3 行追記し、reference table 600s と formula 720s の数値整合化 (PR #145 T3-#1) | [docs/adr/adr-040-local-llm-context-size.md](adr/adr-040-local-llm-context-size.md) | XS |
| 120 | T3 | `takt-workflow-persona-without-model` rule コメント拡張(field 拡張手順 4-5 行)+ ADR-007 case study 追記(enumeration-based 正規表現層、Rust regex lookahead 非対応の pragmatic 対処)(PR #150 T1-#1、実体 Tier 3) | [.claude/custom-lint-rules.toml](../.claude/custom-lint-rules.toml) ルール⑨ + [docs/adr/adr-007-custom-linter-layer-boundary.md](adr/adr-007-custom-linter-layer-boundary.md) | XS |
Expand Down
1 change: 0 additions & 1 deletion docs/todo-summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@
| 61 | 🔧 Tier 2 | **post-PR 検証フローに CR review.body 手動スキャン step 追加 (PR #108 T2-1 採用)** | todo7.md | XS | なし (PR #108 で analyze-coderabbit が review body の outside diff range comment を検出漏れし line 371/378 の修正が後追い、blind spot の暫定緩和策として手動 checklist を整備) |
| 65 | 🚀 Tier 1 | **exe + `--help` を PreToolUse でブロックして src/ Read に誘導 (PR #109 T1-3 採用) ★ Bundle c** | todo7.md | S | なし (PR #109 SIGPIPE の直接トリガ = AI が `cli-merge-pipeline.exe --help` 実行 → exe は --help 未対応で merge 本体実行を構造的に防止、今後追加 exe にも自動適用) |
| 66 | 💎 Tier 3 | **長時間 subprocess の pipe truncate 禁止ルールをグローバル明文化 (PR #109 T3-1 採用) ★ Bundle c** | todo7.md | XS | なし (順位 65 = 決定論層、本ルール = 判断ガイド層、`~/.claude/rules/common/development-workflow.md` 等に追加) |
| 69 | 💎 Tier 3 | **`no-ephemeral-todo-reference` の `yaml`/`yml` extensions 追加理由をコメントで明記 (PR #110 T3-1 採用) ★ Bundle d** | todo5.md | XS | なし (rule⑥ コメント欄に 1-2 行追記、設計 doc と実装の経緯保存、git blame 不要化) |
| 78 | 💎 Tier 3 | **ADR-041 (Rust timestamp arithmetic safety) + CLAUDE.md security 拡充 (PR #115 T3-1 採用) ★ Bb-3 follow-up** | todo5.md | S | なし (config が user-editable system boundary のとき `sanitize()` 値域検証を必須化し dependent arithmetic に `// SAFETY: <sanitize-fn> により上限保証` コメントを要求するパターンを ADR + CLAUDE.md に codify、Rust 固有の checked_add + MAX_SAFE capping + time-dependent test の 3 層を明文化。2026-05-16 に entry 登録時の旧予約番号 ADR-038 が Local LLM finding classification で占有済と判明し ADR-041 に振り直し) |
| 79 | 💎 Tier 3 | **`docs-governance.md` § Retirement Workflow に「残タスクの lifecycle 整合」要件明記 (PR #117 T3-1 採用)** | todo5.md | XS | なし (PR #117 で順位 15 を Bb-3 で吸収済として削除した際、現 Step 2「残タスクを priority table に登録」が priority table から除外するケース = 完了/deprioritize/defer を未定義だった実証。除外時の commit/PR で 3 値のいずれかを明示する要件を追加して将来の同型 ambiguity を構造的に防ぐ) |
| 81 | 🚀 Tier 1 | **cli-pr-monitor: CR 投稿エラー (`Failed to post review comments`) auto-retry 拡張 (PR #120 T1-2 採用) ★ Bundle f (defer)** | todo5.md | M | 1 観測のみで systemic 性未確認 (§A-2 P-5 PR で defer 判断、ADR-018 §追記 2026-05-08 で re-trigger 条件 = 2 件以上の同型観測を規定) |
Expand Down
40 changes: 0 additions & 40 deletions docs/todo5.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,46 +10,6 @@

## 現在進行中

### `no-ephemeral-todo-reference` の `yaml`/`yml` extensions 追加理由をコメントで明記 (PR #110 T3-1 採用) ★ Bundle d

> **動機**: PR #110 で `no-ephemeral-todo-reference` rule の `extensions` に `yaml` / `yml` を追加したが、`docs/todo3.md` の設計 doc には `["rs", "toml", "jsonc", "json", "ts", "tsx", "js", "jsx", "py", "ps1"]` のみ記載されていた。実装時に「YAML config もファイルパス参照を含みうる」判断で `yaml` / `yml` を含めたが、その理由が `.claude/custom-lint-rules.toml` rule⑥ コメントに残っていない。将来の rule 参照者が「なぜ yaml/yml が含まれているか」を git blame で追う必要が出る。
>
> **本タスクの位置づけ**: PR #110 post-merge-feedback Tier 3 #1 採用 (Severity Low / Frequency Medium / Effort XS / Adoption Risk None / ✅ 採用)。Frequency Medium = spec-impl 乖離パターンは反復しがちなため、コメント追記で経緯保存することが ROI 高い。
>
> **参照**: `.claude/feedback-reports/110.md` Tier 3 #1、`.claude/custom-lint-rules.toml` rule⑥ コメント欄、PR #110 pre-push reviewer OBS-2
>
> **実行優先度**: 💎 **Tier 3** — Effort XS。コメント 1-2 行追記のみ。

#### 設計決定 (案)

- **配置先**: `.claude/custom-lint-rules.toml` rule⑥ の既存コメント欄 (Self-exclusion 設計の上または下)
- **追記文** (案):
```toml
# extensions の選定:
# - 設計 doc (docs/todo3.md PR #94 T1-1) では rs/toml/jsonc/json/ts/tsx/js/jsx/py/ps1 のみ
# - 実装で yaml/yml を追加: takt workflow yaml / GitHub Actions yaml 等で
# docs/todoN.md への参照を含む permanent artifact として扱う必要があるため
```
- 既存コメント (Self-exclusion 設計) との整合性確保。順序は「Why このルール」→「extensions 選定」→「Self-exclusion 設計」が読みやすい

#### 作業計画

- [ ] `.claude/custom-lint-rules.toml` rule⑥ コメント欄に extensions 選定理由を 2-3 行追記
- [ ] 既存 Self-exclusion コメントとの読み順整合 (どちらが先か検討)
- [ ] 派生プロジェクト deploy 時に同 rule をコピーする場合、コメントも一緒にコピーされることを確認
- [ ] 本 todo5.md エントリを削除

#### 完了基準

- rule⑥ コメント欄に「yaml/yml は YAML config も permanent artifact として扱う」旨が 1-2 行で記述される
- git blame せずとも extensions の選定根拠が rule 定義の隣で読める

#### 詰まっている箇所

なし (Effort XS、コメント追記のみ)

---

### ADR-041 (Rust timestamp arithmetic safety) + CLAUDE.md security 拡充 (PR #115 T3-1 採用) ★ Bb-3 follow-up

> **動機**: PR #115 で「config が user-editable system boundary のとき、sanitize() で値域検証 + 下流 arithmetic で安全範囲保証」というパターンが実証された (CR Major #1 + #2 が両方とも同型の「config 値→arithmetic 入力」cross-layer integrity 問題)。同型の bug class は今後も Rust + config 駆動の component で発生しうるため、組織的 learning として codify。
Expand Down