feat: runtime manager

This commit is contained in:
Ilia Denisov
2026-04-28 20:39:18 +02:00
committed by GitHub
parent e0a99b346b
commit a7cee15115
289 changed files with 45660 additions and 2207 deletions
@@ -0,0 +1,25 @@
package ports
import (
"context"
"galaxy/notificationintent"
)
// NotificationIntentPublisher is the producer port Runtime Manager uses
// to publish admin-only notification intents to Notification Service.
// The production adapter is a thin wrapper around
// `notificationintent.Publisher`; the wrapper drops the entry id
// returned by the underlying publisher because Runtime Manager does
// not track per-intent ids in v1.
//
// A failed Publish call is a notification degradation per
// `galaxy/rtmanager/README.md §Notification Contracts` and must not roll
// back already committed business state. Callers log the error and
// proceed.
type NotificationIntentPublisher interface {
// Publish normalises intent and appends it to the configured Redis
// Stream. Validation failures and transport errors are returned
// verbatim.
Publish(ctx context.Context, intent notificationintent.Intent) error
}