๐Ÿงต Kausality's backend is just a webhook. Here's why that's the...

@the_sttts
Stefan Schimanski@the_sttts
12 views Jan 27, 2026 ~1 min read
Advertisement
1
๐Ÿงต Kausality's backend is just a webhook. Here's why that's the right design.
2
1/ When drift is detected, Kausality POSTs a `DriftReport` to your endpoint. Same pattern as K8s admission webhooks.

The report has everything: parent/child refs, the diff (oldObject/newObject), request context (user, fieldManager, operation).
3
2/ webhook decides what to do. The response isn't a Kausality API call โ€” it's writing annotations to Kube:

kausality.io/approvals: '[{"mode":"once",...}]'
kausality.io/freeze: '{"user":"...", "at":"..."}'
kausality.io/snooze: '{"expiry":"..."}'

Drift in, annotation out
4
3/ This means drift events work equally well for:

- Human escalation (Slack bot โ†’ button click โ†’ write annotation)
- Agent handling (evaluate diff โ†’ decide โ†’ write annotation)
- Hybrid (agent triages, escalates ambiguous cases to humans)

Same contract. Different handlers
5
.

4/ Kausality also sends `phase: Resolved` when drift clears โ€” parent spec changed, approval added, or child deleted.

So your handler can close tickets, clear dashboards, notify agents that their action landed.
6
5/ If you're building infra tooling: don't hardcode human-in-the-loop or agent-in-the-loop.

Define a webhook contract. Let handlers decide who's in the loop.

Callback design: github.com/kausality-io/kโ€ฆ

Project: github.com/kausality-io/kโ€ฆ
Actions
What You Can Do
  • Export as PDF or Markdown
  • Batch Export to Notion
  • Bookmark & Highlight
  • Screenshot Tweet
Create Free Account

Includes 7-day Premium trial

Advertisement