From ad4cce0144d5f561e4699484fe02cfc73c1671ef Mon Sep 17 00:00:00 2001 From: aloekun Date: Thu, 28 May 2026 14:15:55 +0900 Subject: [PATCH] =?UTF-8?q?docs(takt):=20post-merge-feedback=20report=20?= =?UTF-8?q?=E3=81=AE=20wording=20=E5=BC=B7=E5=8C=96=20=E2=80=94=20"?= =?UTF-8?q?=E2=9C=85=20=E6=8E=A1=E7=94=A8"=20=E2=86=92=20"=E2=9C=85=20?= =?UTF-8?q?=E6=8E=A1=E7=94=A8=E5=80=99=E8=A3=9C"=20+=20AI=20agent=20?= =?UTF-8?q?=E6=98=8E=E7=A4=BA=E7=A6=81=E5=89=87=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../facets/instructions/aggregate-feedback.md | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/.takt/facets/instructions/aggregate-feedback.md b/.takt/facets/instructions/aggregate-feedback.md index 1141cacc..aacbd720 100644 --- a/.takt/facets/instructions/aggregate-feedback.md +++ b/.takt/facets/instructions/aggregate-feedback.md @@ -44,7 +44,7 @@ PR タイトルが context に含まれていない場合は、レポート内 1. **重複検出**: 同じ `Target` + 似た `Description` の提案はマージする 2. **根拠統合**: マージした提案の `Rationale` カラムには複数ソース (PR diff / session / prepush) を併記する 3. **Tier 並び**: 最終リストは Tier 1 → Tier 2 → Tier 3 の順 -4. **品質フィルタ**: 以下の提案は除外する (Recommendation 列での `❌ 却下` と区別: ここで除外するのは「最初から表に乗せない」レベル) +4. **品質フィルタ**: 以下の提案は除外する (Recommendation 列での `❌ 却下推奨` と区別: ここで除外するのは「最初から表に乗せない」レベル) - 一般的なベストプラクティスの押し付け (具体的根拠がない) - すでに hooks-config.toml / custom-lint-rules.toml に存在するルール (Read で確認可能) - 対象ファイルが read-only zone (`.takt/`, `docs/adr/`, `templates/`) のみで具体的な編集箇所が示せないもの @@ -55,6 +55,8 @@ PR タイトルが context に含まれていない場合は、レポート内 各提案について、以下の rubric に基づいて 4 つの判定列を埋める。**この評価は採用判定をユーザーへ委ねるための材料**であり、AI が判定を独占するわけではない。明確に判定できない場合は中庸な値 (`Medium` / `🤔 様子見`) を選び、`Rationale` で不確実性を明示する。 +> **AI agent への明示禁則**: 本 report の生成完了 = ユーザーへの提示完了に過ぎず、Claude / Codex / Opencode 等の agent は `✅ 採用候補` を読んだだけで採用処理 (`docs/todo*.md` への entry 追加 / 実装着手 / ADR 編集 等) に進んではならない。**必ずユーザーの明示承認 (AskUserQuestion 回答 or テキスト承認のいずれか) を待つこと**。本 report の Recommendation 列は analyzer 推奨であり、確定判断ではない。 + ### Severity rubric | 値 | 該当する状況 | @@ -108,9 +110,9 @@ PR タイトルが context に含まれていない場合は、レポート内 | 値 | 該当する状況 | |---|---| -| `✅ 採用` | `(Effort ∈ {XS, S, M})` AND `(Severity ∈ {Medium, High, Critical} OR Frequency ∈ {Medium, High})` AND `(Adoption Risk が weak)` | +| `✅ 採用候補` | `(Effort ∈ {XS, S, M})` AND `(Severity ∈ {Medium, High, Critical} OR Frequency ∈ {Medium, High})` AND `(Adoption Risk が weak)`。**判定は analyzer 推奨であり、ユーザー承認後に採用確定**。 | | `🤔 様子見` | 採用根拠は弱いが将来発生時に再評価したい (一般原則 / 不確実性高 / dogfood トリガ待ち / Severity 高だが Frequency Very Low 等)。✅ にも ❌ にも振り切れない場合の中庸 | -| `❌ 却下` | `(Frequency ∈ {Low, Very Low} AND Effort ∈ {L, XL})` OR `(Adoption Risk が strong)` OR `(実害観測前の preventive over-engineering)` | +| `❌ 却下推奨` | `(Frequency ∈ {Low, Very Low} AND Effort ∈ {L, XL})` OR `(Adoption Risk が strong)` OR `(実害観測前の preventive over-engineering)`。**判定は analyzer 推奨であり、ユーザー承認後に却下確定** (Claude 単独で却下処理しない)。 | **Adoption Risk の「weak / strong」定義** (上記条件式で参照): @@ -131,9 +133,9 @@ PR タイトルが context に含まれていない場合は、レポート内 例: -- 採用 例: `PR diff; Session; collect_all_violations の MAX_VIOLATIONS contract を test 化、将来の lint 追加時の regression 防止網。Effort S かつ Frequency Medium` +- 採用候補 例: `PR diff; Session; collect_all_violations の MAX_VIOLATIONS contract を test 化、将来の lint 追加時の regression 防止網。Effort S かつ Frequency Medium で採用候補と判定` - 様子見 例: `Session; Honesty constraint で抑制中、実観測 0 件、dogfood で虚偽申告観測後に着手` -- 却下 例: `Session; 1 観測の局所 artifact、汎用 regex は英語固有名詞・略語で誤検出確実、ROI 不見合い` +- 却下推奨 例: `Session; 1 観測の局所 artifact、汎用 regex は英語固有名詞・略語で誤検出確実、ROI 不見合い` --- @@ -152,7 +154,7 @@ PR タイトルが context に含まれていない場合は、レポート内 | # | Type | Description | Target | Severity | Frequency | Effort | Adoption Risk | Recommendation | Rationale | |---|------|-------------|--------|----------|-----------|--------|---------------|----------------|-----------| -| 1 | custom_lint_rule | ... | .claude/custom-lint-rules.toml | Medium | High | S | None | ✅ 採用 | PR diff; Session; ... | +| 1 | custom_lint_rule | ... | .claude/custom-lint-rules.toml | Medium | High | S | None | ✅ 採用候補 | PR diff; Session; ... | #### Tier 2: テスト/自動化 @@ -166,8 +168,11 @@ PR タイトルが context に含まれていない場合は、レポート内 ### 次のアクション -- ユーザーがレポートを確認後、Recommendation 列を参考に採用判断を下す (✅ 採用は基本採用、🤔 様子見は dogfood トリガ次第、❌ 却下は不要) -- 採用された提案は `docs/todo.md` 系列に登録するか直接実装へ進む +**重要**: 本 report の Recommendation 列はすべて analyzer の推奨であり、ユーザー明示承認なしに採用・却下を確定してはならない。Claude / 他 AI agent は report を読んだだけで `docs/todo*.md` への entry 追加、実装着手、ADR 編集等を実行してはならず、**必ずユーザー承認 (AskUserQuestion 回答 or テキスト承認のいずれか) を待つこと**。 + +- `✅ 採用候補`: ユーザー承認後に採用、`docs/todo.md` 系列への登録または直接実装へ進む +- `🤔 様子見`: dogfood トリガ次第で再評価、現時点で action なし +- `❌ 却下推奨`: ユーザー承認後に却下確定、`docs/todo*.md` への登録不要 (Claude 単独で却下処理しない) - このレポートは `.claude/feedback-reports/.md` に保存される (`.gitignore` 除外、内部 artifact) ```