purpose
get_pending_status の wrap delivery において pending_count == 0 の時に hookSpecificOutput.additionalContext を返さない (silent) ようにする。 現状は pending_count == 0 でも "No pending GitHub webhook events." が UserPromptSubmit hook 経由で AI に毎ターン注入されており、 削減すべき noise floor。
premise
github-webhook-mcp >= v0.11.3 で get_pending_status 結果を UserPromptSubmit decision schema に wrap して返す仕様。
- consumer 側 (Liplus-Project/liplus-language
adapter/claude/hooks-settings.md) では mcp_tool entry が LI_PLUS_WEBHOOK_DELIVERY と独立に 無条件発火。 consumer 側で empty 時の suppress は実装不可。
- empty silent 化は MCP server 側 (本 repo) でのみ実装可能。
constraints
pending_count > 0 の時の挙動は据え置き (UserPromptSubmit decision schema の通常 path)。
- 既存 v0.11.3 の natural language summary 形式は維持 (互換)。
- empty 時の return は decision schema 自体を返さない (Claude Code 側でそのまま empty 扱い)、 もしくは hookSpecificOutput を含まない form を返すか、 のどちらが Claude Code の hook contract と整合するかは実装側で確定。
target files
get_pending_status ハンドラ (実装場所は本 repo の structure 依存)
- 関連 test
coordination
Liplus-Project/liplus-language#1234 (boot トークン削減リファクタ) の sibling 計画から webhook empty silent を本 repo へ分離した coordination 案件。 本 issue 解決後、 liplus-language 側で挙動確認 (空 reminder が消えること)。
label
- type: spec
- maturity: forming
purpose
get_pending_statusの wrap delivery においてpending_count == 0の時にhookSpecificOutput.additionalContextを返さない (silent) ようにする。 現状はpending_count == 0でも"No pending GitHub webhook events."が UserPromptSubmit hook 経由で AI に毎ターン注入されており、 削減すべき noise floor。premise
github-webhook-mcp >= v0.11.3でget_pending_status結果を UserPromptSubmit decision schema に wrap して返す仕様。adapter/claude/hooks-settings.md) ではmcp_toolentry が LI_PLUS_WEBHOOK_DELIVERY と独立に 無条件発火。 consumer 側で empty 時の suppress は実装不可。constraints
pending_count > 0の時の挙動は据え置き (UserPromptSubmit decision schema の通常 path)。target files
get_pending_statusハンドラ (実装場所は本 repo の structure 依存)coordination
Liplus-Project/liplus-language#1234 (boot トークン削減リファクタ) の sibling 計画から webhook empty silent を本 repo へ分離した coordination 案件。 本 issue 解決後、 liplus-language 側で挙動確認 (空 reminder が消えること)。
label