Skip to content

spec(notifications): sort L5 Notifications Layer into a skeleton #2188

Closed

Description

@liplus-lin-lay

目的

L5 Notifications Layer の中身を、ひな型として仕分けする。今 L4 などに散っている通知まわりの規定を L5 の受け皿に集め、後から肉付けできる骨格を作る。

範囲(マスター指定、2026-10-15)

L5 に二本立ての受け取り方を置く。

  • チャネル(イベント駆動):使える環境では push で受け取る(LI_PLUS_WEBHOOK_DELIVERY=channel)
  • ポーリング:チャネルが使えない環境での代わり(今の poll / mcp_hook)
    受け取る対象は次の二つ。
  • webhook の受け取り
  • GitHub Notifications の管理(classic token、GH_CLASSIC_TOKEN の使い方)

GitHub Notifications は GH_CLASSIC_TOKEN だけで gh api /notifications を呼べ、MCP が要らない。余計なものがない初期環境のベース(最後の受け皿)として、ポーリング側に置く(マスター合意、2026-10-15)。

受け取り先に順番(優先順位)は付けない。その環境で使えるものを使う(マスター、2026-10-15 22:50「順番はいらないかな、とりあえず。使えるものを使うって形。」)。

前提(build-2026-10-12.2 で確認)

  • rules/model/layer-definition.md: L5 は宣言のみで、webhook の受け取りは L4 の名前空間に仮置き
  • layer: L5 のファイルは 0 件
  • docs/5.-Notifications.md は既にある(目的・基本操作・共有キュー・Janitor・Transport Binding)。「現状(プレースホルダ状態)」節に「rules/notifications/ は channel 配信 GA 待ちで意図的に不在」とある。本 issue はこの保留判断の見直しを含む
  • 通知の手順は今 rules/operations/main-agent-procedures.md の Foreground webhook notification intake 節と Notifications API 節、rules/operations/operations.md の mark_processed 行にある
  • GH_CLASSIC_TOKEN は pullcept の席に環境変数として届いている(Lin・Lay の席で名前を確認)。Li+ 側にこの名前は一度も出てこない。今あるのは Notifications API 節の「scope = notifications (classic PAT)」の一行だけ

制約

  • adapter の ## Optional Webhook Notification Flow は byte-frozen で、skills/operations-foreground-webhook-intake/SKILL.md を名前で指す。中継スキルを残すか、adapter を同じ PR で直す
  • 受け取りの手順は main が動かすので、main が読める場所に置く(main-agent-procedures.md 冒頭の bar)。移し先は rules/notifications/ が候補
  • docs と実装は同じ PR で更新する

対象ファイル(節名「Foreground webhook notification intake」を参照している所、grep で確認)

  • 移し元: rules/operations/main-agent-procedures.md(webhook 受け取り節・Notifications API 節)
  • 移し先: rules/notifications/(新設)
  • 中継: skills/operations-foreground-webhook-intake/SKILL.md(名前は残し、指す先を直す)
  • 毎ターンのフック: adapter/claude/hooks/on-user-prompt.sh、adapter/codex/hooks/on-user-prompt.ps1、adapter/codex/hooks/on-user-prompt.sh
  • adapter/claude/hooks-settings.md(移した節への参照1行)
  • テスト: tests/test_on_user_prompt_webhook_rearm.py、tests/test_check_webhook_notifications.py
  • docs: docs/4.-Operations.md、docs/6.-Adapter.md、docs/L.-Hop-Count-Instrument.md、docs/5.-Notifications.md(「現状」節)
  • rules/operations/operations.md(mark_processed 行の置き場の判断)

— Claude Lin

Activity

  1. added
    specLi+の挙動に影響する仕様・ポリシー・定義
    forming本文を再構築しながら要求を整えている状態
    ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能
    and removed
    forming本文を再構築しながら要求を整えている状態
    on Oct 15, 2026
  2. added
    review-pending実装フェーズ終了、orchestration (review / merge / close) 待ち
    and removed
    in-progress着手中、実装または検証が進行中
    on Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能review-pending実装フェーズ終了、orchestration (review / merge / close) 待ちspecLi+の挙動に影響する仕様・ポリシー・定義

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions