From 4e739897fd92623d9c04f53e3a858cb6bab058c9 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 17 May 2026 10:02:23 +0000 Subject: [PATCH] =?UTF-8?q?docs(lint-rules):=20rule=E2=91=A5=20=E3=81=AB?= =?UTF-8?q?=20yaml/yml=20extensions=20=E9=81=B8=E5=AE=9A=E7=90=86=E7=94=B1?= =?UTF-8?q?=E3=82=92=E6=98=8E=E8=A8=98=20(=E9=A0=86=E4=BD=8D=2069)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR #110 で `no-ephemeral-todo-reference` の extensions に yaml/yml を追加した 判断根拠 (takt workflow / GitHub Actions yaml も permanent artifact として ephemeral 参照を含み得る) を rule⑥ コメント欄に 2-3 行で codify。これにより git blame せずとも extensions 選定経緯が rule 定義の隣で読める。 順位 69 (T3 / XS) の land に伴い、todo5.md / todo-summary.md / claude-code-web-tasks.md の該当エントリを削除。 https://claude.ai/code/session_01FeyG6YtCZk4PE7QfNManAy --- .claude/custom-lint-rules.toml | 5 +++++ docs/claude-code-web-tasks.md | 1 - docs/todo-summary.md | 1 - docs/todo5.md | 40 ---------------------------------- 4 files changed, 5 insertions(+), 42 deletions(-) diff --git a/.claude/custom-lint-rules.toml b/.claude/custom-lint-rules.toml index 6b312ac..211827f 100644 --- a/.claude/custom-lint-rules.toml +++ b/.claude/custom-lint-rules.toml @@ -179,6 +179,11 @@ good = 'See [推奨実行順序](todo-summary.md#recommended-order-summary) により上限保証` コメントを要求するパターンを 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 件以上の同型観測を規定) | diff --git a/docs/todo5.md b/docs/todo5.md index d03e9fa..c9afa93 100644 --- a/docs/todo5.md +++ b/docs/todo5.md @@ -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。