Skip to content

docs(rfc): hooks framework design - #511

Open
behinddwalls wants to merge 1 commit into
mainfrom
hooks
Open

docs(rfc): hooks framework design#511
behinddwalls wants to merge 1 commit into
mainfrom
hooks

Conversation

@behinddwalls

@behinddwallsbehinddwalls commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

Why?

The pipelines emit lifecycle transitions but nothing can react outside pipeline state — no warehouse export, no PR comments or closes on merge events. The log topic is not that seam: SubmitQueue request statuses only, consumed solely for gateway read models.

What?

Adds doc/rfc/hook-framework.md plus its index entry: a design RFC for a cross-domain Hooks framework. Controllers publish a HookEvent to a durable per-domain hook topic; a thin dispatcher stage hands events to pluggable hooks (platform/extension/hook/, noop by default, composite for fan-out). One CloudEvents-shaped contract at api/base/hook/id, source, type, timestamp_ms, version, payload — with publisher-minted ids for dedupe and hook idempotency, at-least-once delivery anchored in the triggering message, and a DLQ that preserves and pages instead of dropping.

Reviewed by dual-agent consensus (Claude + codex). Design only — no implementation.

@behinddwalls
behinddwalls marked this pull request as ready for review August 5, 2026 05:18
@behinddwalls
behinddwalls requested review from a team and sbalabanov as code ownersAugust 5, 2026 05:18
@behinddwalls
behinddwallsforce-pushed the hooks branch 8 times, most recently from a03fa7a to 45482b5CompareAugust 5, 2026 16:08
## Summary
### Why?
The pipelines emit lifecycle transitions but nothing can react outside pipeline state — no warehouse export, no PR comments or closes on merge events. The log topic is not that seam: SubmitQueue request statuses only, consumed solely for gateway read models.
### What?
Adds `doc/rfc/hook-framework.md` plus its index entry: a design RFC for a cross-domain Hooks framework. Controllers publish a `HookEvent` to a durable per-domain `hook` topic; a thin dispatcher stage hands events to pluggable hooks (`platform/extension/hook/`, noop by default, composite for fan-out). One CloudEvents-shaped contract at `api/base/hook/` — `id`, `source`, `type`, `timestamp_ms`, `version`, `payload` — with publisher-minted ids for dedupe and hook idempotency, at-least-once delivery anchored in the triggering message, and a DLQ that preserves and pages instead of dropping.
Reviewed by dual-agent consensus (Claude + codex). Design only — no implementation.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@behinddwalls