Repository navigation
spec(notifications): sort L5 Notifications Layer into a skeleton - #2190
Conversation
L5 Notifications Layer の骨格として rules/notifications/notifications.md を新設した。 受け取り方はチャネル(イベント駆動)とポーリングの二本立て、受け取る対象は webhook と GitHub Notifications(GH_CLASSIC_TOKEN、MCP 不要のポーリング側の受け皿)。 main-agent-procedures.md の Foreground webhook notification intake 節と Notifications API 節、operations.md の mark_processed 行をここへ移し、 中継スキル・毎ターンフック・テスト・docs の指す先を直した。 Refs #2188 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011b47CVqVoCCdK1RQyBMNdb
対象: PR #2190 @ 2dbf26e / issue #2188 Axis A — issue requirementA-1. issue の対象ファイル列挙に無い
A-2. 「Li+update.md」側の rules サブディレクトリ列挙が未更新(docs/6 とは非対称)
A-3. issue が要求した「L5 受け皿を判断」のうち layer-definition の食い違いが残る(PR 本文で範囲外と明示済み)
以上のほか、issue 本文の必須事項(L5 に channel/polling の二本立て、対象は webhook と GitHub Notifications、 Axis B — rule violationB-1. 新規 rule ファイルの H2 見出し直後の記述順 — 違反なし(確認事項のみ)
B-2.
B-3.
上記以外、移設した節の本文は removed 側と added 側が行単位で同一であることを確認した( Fixed axis — impression-literal detection
— Claude Lin (brake 1 evaluator) |
…ings 受け取り先の優先順位を廃し「その環境で使えるものを使う」形へ改めた(#2188 本文の マスター判断、2026-10-15 22:50)。brake 1 第1ラウンドの採択分として、Inbox スレッド consume 時の read/done 義務の明示、Li+update.md の rules サブディレクトリ列挙への notifications/ 追記、挙動を固定しない文言の除去を行った。 Refs #2188 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011b47CVqVoCCdK1RQyBMNdb
brake 1 第1ラウンド 裁定(@ f45dfa4)
あわせて、issue 本文に追加されたマスター判断(受け取り先に順番を付けない、使えるものを使う)に従い、source priority の番号付けを順序なしの sources 列挙に改め、docs/5 と中継スキルの文言も揃えた。 — Claude Lin |
対象: PR #2190 @ f45dfa4 / issue #2188(第2ラウンド。第1ラウンドの A-1〜A-3・B-2・B-3・固定軸3句の既出分は再掲しない) Axis A — issue requirement指摘なし。読んだもの: issue #2188 本文全体(目的・範囲・前提・制約・対象ファイル)、PR 本文、PR diff 全体、 Axis B — rule violationB-4.
Fixed axis — impression-literal detection
他の追加・変更行(移設した節の本文は removed 側と同一、hook の echo 文、中継スキルの description、 削除行の確認
— Claude Lin (brake 1 evaluator) |
Inbox スレッドには webhook payload 前提の ownership test と hold exit が実行できないため、 適用範囲を foreground handling に絞った。挙動を固定しない冒頭の範囲宣言文を削除した。 Refs #2188 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011b47CVqVoCCdK1RQyBMNdb
brake 1 第2ラウンド 裁定
— Claude Lin |
対象: PR #2190 @ fd32649 / issue #2188(第3ラウンド。第1・2ラウンドの既出分と、作者が不採択とした A-1・A-3 は再掲しない) Axis A — issue requirement指摘なし。issue #2188 本文(目的・範囲・前提・制約・対象ファイル)、PR 本文、PR diff 全体、 Axis B — rule violationB-5.
Fixed axis — impression-literal detection
他の追加・変更行( 削除行の確認
— Claude Lin (brake 1 evaluator) |
channel の「nothing is polled」を webhook 対象に限定し、GitHub Notifications の ポーリングとの衝突を解いた。挙動を固定しない強調句を削除した。 Refs #2188 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011b47CVqVoCCdK1RQyBMNdb
brake 1 第3ラウンド 裁定
— Claude Lin |
対象: PR #2190 @ eaca311 / issue #2188(第4ラウンド。第1〜3ラウンドの既出分と、作者が不採択とした A-1・A-3 は再掲しない) Axis A — issue requirementA-4.
Axis B — rule violationB-6.
B-7.
Fixed axis — impression-literal detection
他の追加・変更行( 削除行の確認第3ラウンド以降に増えた削除( — Claude Lin (brake 1 evaluator) |
docs/6 の通知源を順番なしの列挙に改め GitHub Notifications を加えた。 GH_CLASSIC_TOKEN の渡し方を Authorization ヘッダの変数参照に閉じ、使えない条件 (未設定・空・401)を明示した。docs/L の mark_processed 所在に移設注記を加え、 挙動を固定しない句を削除した。 Refs #2188 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011b47CVqVoCCdK1RQyBMNdb
brake 1 第4ラウンド 裁定
— Claude Lin |
対象: PR #2190 @ 4ce3166 / issue #2188(第5ラウンド。第1〜4ラウンドの既出分と、作者が不採択とした A-1・A-3 は再掲しない) Axis A — issue requirementA-5. PR 本文が、issue の「順番は付けない」判断と現 diff に反する旧記述を残している
それ以外は、issue 本文の必須事項と diff が一致していることを確認した(読んだもの: issue 本文全体、PR 本文、PR diff 全体、 Axis B — rule violationB-8.
Fixed axis — impression-literal detection指摘なし。掃いた対象: 削除行の確認
— Claude Lin (brake 1 evaluator) |
GH_CLASSIC_TOKEN のヘッダ参照を POSIX sh / Git Bash と PowerShell で並記し、 Git Bash が先頭スラッシュの endpoint をパスへ書き換える件(親の実機プローブで確認) に合わせ、endpoint を先頭スラッシュなしで書くと定めた。 Refs #2188 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011b47CVqVoCCdK1RQyBMNdb
brake 1 第5ラウンド 裁定
— Claude Lin |
対象: PR #2190 @ d91a888 / issue #2188(第6ラウンド。第1〜5ラウンドの既出分と、作者が不採択とした A-1・A-3 は再掲しない) Axis A — issue requirement指摘なし。読んだもの: issue #2188 本文全体、PR 本文、PR diff 全体、 Axis B — rule violationB-9.
Fixed axis — impression-literal detection
削除行の確認削除行( — Claude Lin (brake 1 evaluator) |
エンドポイント表と docs/5 の呼び出し例を先頭スラッシュなしの形に揃え、 挙動を固定しない理由説明の句を本文から除いた。 Refs #2188 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011b47CVqVoCCdK1RQyBMNdb
brake 1 第6ラウンド 裁定(@ 594220a)
なお親が本ホストで PowerShell 形( — Claude Lin |
対象: PR #2190 @ 594220a / issue #2188(第7ラウンド。第1〜6ラウンドの既出分と、作者が不採択とした A-1・A-3 は再掲しない) Axis A — issue requirement指摘なし。読んだもの: issue #2188 本文全体、PR 本文、PR diff 全体、 Axis B — rule violationB-10.
Fixed axis — impression-literal detection指摘なし。追加・修正された Li+ source 行 約152行(PR 全体の 削除行の確認削除行は — Claude Lin (brake 1 evaluator) |
…slash docs/4 の通知 API 表を正本 rules/notifications/notifications.md と同じ 先頭スラッシュなしの形に揃えた(brake 1 第7ラウンド B-10)。 Refs #2188 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011b47CVqVoCCdK1RQyBMNdb
brake 1 第7ラウンド 裁定(@ 1d4e7eb)
— Claude Lin |
liplus-lin-lay
left a comment
There was a problem hiding this comment.
自己レビュー(#2188)
受け入れ条件: 満たしています。
- L5 の骨組み(チャネル/ポーリング、順番なしの sources、webhook 受け取り、GitHub Notifications 管理)を
rules/notifications/notifications.mdに新設し、main-agent-procedures.mdの webhook 受け取り節・Notifications API 節とoperations.mdの mark_processed 行を移しました。 - 中継スキル名は維持し、指す先だけ直しました。アダプタの byte-frozen 部分は触っていません。
- 毎ターンのフック 3 本、テスト 2 本、docs 4/5/6/L、Li+update.md の参照を更新しました。旧節名で
main-agent-procedures.mdを指す残りは 0 件、ルールと docs の表に先頭スラッシュ付きのエンドポイントは残っていません(grep で確認)。
brake 1: 7 回まわしました。最終回の指摘は B-10(docs/4 の表のスラッシュ)1 件のみです。B-9 の再発扱いとしてマスターに上げ、「直して終える」の判断で修正済み(head 1d4e7eb、CI 緑)。採否は各回のコメントのとおりです。
範囲外の変更: adapter/claude/hooks-settings.md の参照 1 行。マスターの了承を得て残し、issue の対象ファイルに追記しました。
版の種類: patch。ルールと docs の置き場所の整理で、利用者や動作から見える変化はありません。semi_auto の patch として直接マージします。
見送り: L1 layer-definition.md の L5 行は #2191 で扱います(起票済み)。ワークスペース側の見送りはありません。
実装の委任は effort low で足りました。
— Claude Lin
Closes #2188
変更
rules/notifications/notifications.md(layer: L5-notifications、常時ロード)を新設。受け取り方 = チャネル/ポーリングの二本立て、対象 = webhook と GitHub Notifications。main-agent-procedures.mdの Foreground webhook notification intake 節・Notifications API 節、operations.mdの mark_processed 行を移設。GH_CLASSIC_TOKENのみで動く、ポーリング側の受け皿とした。受け取り先に順番は付けず、その環境で使えるものを使う(issue 本文のマスター判断)。hooks-settings.md、テスト 2 本、docs(4・5・6・L)の指す先を更新。範囲外として残したもの
rules/model/layer-definition.mdの L5 行(「rule/skill files を持たない」)は L1 のため本 PR では触れていない。版種別の提案: patch(ガバナンス構造の移設、利用者観測可能な変化なし)。
🤖 Generated with Claude Code
https://claude.ai/code/session_011b47CVqVoCCdK1RQyBMNdb
— Claude Lin