DL-302
The Linear webhook mount is POST /webhooks/linear (NOT bare /webhooks) and is LANDED BY THE FORGE NOTIFICATION LANE (RIG-2732), amending DL-254’s path + mount-ownership only (Matt, RIG-2717, 2026-08-30): one shared Linear http.Handler on the same DL-254 network TLS door does one fail-closed raw-body HMAC verify then an inner type-switch — AgentSessionEvent → the RIG-2717 dispatcher via linearagent.Dispatcher.Enqueue (full → ErrQueueFull → HTTP 500 so Linear retries), Issue/Comment data-change → RIG-2732’s notify/board arms; provider-suffixed for symmetry with /webhooks/github (RIG-2883), the bare path being a pre-GitHub-webhook artifact. RIG-2717’s residual T7 shrinks to dispatcher ASSEMBLY only (construct + wire seams + start Dispatcher.Run on the serve errgroup + expose Enqueue); it mounts nothing. T8 e2e stays RIG-2717’s, driven through the shared mount. The per-deployment Linear App webhook URL registers at <public-base>/webhooks/linear (a manual console step already required). All other DL-254 invariants survive (network-door placement, fail-closed HMAC, ack-200-before-work, per-deployment public base URL)
Status: Active (Matt, 2026-08-30)
Record: ../../server/compass-linear-webhook-mount-amendment/design.md#approach