Skip to content

Conversation

@alexluong
Copy link
Collaborator

@alexluong alexluong commented Feb 1, 2026

Summary

  • Add destination_ids field to the publish response (HandleResult) so callers know which destinations an event was routed to
  • Returns [] (empty array, never null) when no destinations match
  • OpenAPI spec updated; unit + e2e test coverage added

No changes to the Event model or persistence layer — this is response-only.

Next: persistence

We need to persist destination_ids — it captures a point-in-time routing decision that can't be reliably reconstructed later (destinations can be added, removed, or disabled after publish).

Approach: separate input from persisted state in Go code

models.Event currently maps 1:1 to the publish input. Rather than bolting computed fields onto it, we'll introduce a separate Go struct for the persisted/output representation. The DB stays as a single events table (just gets the new column) — the separation is code-only.

Naming ideas:

Input struct Persisted struct Notes
Event EventRecord Minimal churn — Event stays as-is, new struct only where needed (logstore, read APIs)
PublishEvent Event More natural: Event becomes the richer DB type, publish input gets the narrower name. More disruptive rename.

The persisted struct would embed or compose the input struct, adding fields like DestinationIDs []string.

Decision needed on naming before implementing.

@vercel
Copy link

vercel bot commented Feb 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
outpost-docs Ready Ready Preview, Comment Feb 1, 2026 0:01am
outpost-website Ready Ready Preview, Comment Feb 1, 2026 0:01am

Request Review

Sign up for free to 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.

2 participants