Overview
| Comment: | Webhooks fan out from the vocabulary, not from the ops layer
A ticket closed by push notified nobody, because only ops queued webhooks. One consumer on quarry.evt.> turns every raised event into deliveries, so arrival path stops mattering. Deletes kindOf: the delivery's kind was sliced off an idempotency key. |
|---|---|
| Timelines: | family | ancestors | descendants | both | hooks-vocabulary |
| Files: | files | file ages | folders |
| SHA3-256: |
f2ea5f5c1a96da359c77297a32ccbfa4 |
| User & Date: | dmestas on 2026-08-24 17:13:12.182 |
| Other Links: | branch diff | manifest | tags |
Context
|
2026-08-24
| ||
| 17:16 |
Subscriptions select their events
A webhook took everything or nothing. It now names vocabulary patterns: '*', a bare noun for every action on it, or an exact kind. Checked at the moment it is set, because a webhook that silently delivers nothing reads as a broken forge. check-in: e9547dcc49 user: dmestas tags: hooks-vocabulary | |
| 17:13 |
Webhooks fan out from the vocabulary, not from the ops layer
A ticket closed by push notified nobody, because only ops queued webhooks. One consumer on quarry.evt.> turns every raised event into deliveries, so arrival path stops mattering. Deletes kindOf: the delivery's kind was sliced off an idempotency key. check-in: f2ea5f5c1a user: dmestas tags: hooks-vocabulary | |
| 17:03 | @dmestas I love the strata idea check-in: edcc983217 user: dmestas tags: trunk | |
Changes
Modified cmd/quarry/main.go
from [3a93884fbf]
to [b94986362a].
[diff]
Modified internal/api/register.go
from [e00475f57d]
to [aaae3fbff6].
[diff]
Added internal/webhook/fanout.go version [b01476cc1a].
Added internal/webhook/fanout_test.go version [efa6ef13d7].
Modified internal/webhook/webhook.go
from [6b4b6fdb42]
to [f157a223c0].
[diff]