Engineering onboarding · 55 minutes
Build the right model of Northwind Ingestion before you operate it
Read the current path, learn where familiar queue assumptions fail, run one event locally, and finish with the questions worth asking on your first on-call review.
Learning goal · 55 minutes
By the end, you can
- draw the current path and mark its single failure boundary;
- run one synthetic event locally and read its
202correctly; - separate current, proposed, and unresolved facts without production access.
The working model
8 minNorthwind Ingestion is an internal acceptance and landing path. Producers send events to the gateway; one shared queue buffers them; consumers validate and write them to the warehouse.
Carry this sentence: the current queue is both the buffer and the failure boundary for every first-party producer.
The diagram also shows the proposed dispatcher and split queues. Those components are not production facts yet; they belong to RFC 014.
Four boundaries that prevent wrong assumptions
12 minAcceptance
202 is queued, not warehoused
Lookup and freshness are later concerns. Do not promise downstream visibility at gateway acceptance time.
Identity
Event ID is the retry anchor
Reuse it. A new ID turns a retry into a second logical event.
Ordering
Producer-local order is not guaranteed
The proposed split does not remove a promise because that promise does not exist today.
Rollback
Queues are retained, never deleted
Cutovers flip traffic. Destructive queue actions are not a rollback strategy.
If a design or incident response crosses one of these boundaries, stop and open the owning contract or runbook before acting.
Read the request path without running it
12 minhttpPOST /events
X-Request-Id: req_7f3
{"id":"evt_01","type":"checkout.paid"}
202 {"id":"evt_01","status":"accepted"}Then read configuration in this order: required queue URI, bind address, health endpoints, and alert thresholds. The reference page owns exact keys; onboarding owns the mental path through them.
Run one event locally
15 minRun the tests
bashmake ingest-testSuccess: contract and consumer tests pass.
Start the gateway
bashmake ingest-runSuccess: the log contains
listeningon 8443.Post the synthetic event
bashcurl -k https://127.0.0.1:8443/events \ -d '{"id":"evt_learn","type":"onboarding.ping"}'Success:
202repeatsevt_learn.
Prove readiness with understanding, not task completion
8 min- Draw the current path and mark its single failure boundary.
- Explain why scaling consumers recovers an incident but does not remove recurrence.
- Name the current and proposed overload responses without mixing them.
- Locate the runbook, API source, RFC, ADR, dashboard, and latest postmortem.
- Ask who can approve shed behavior and where the chaos environment will live.
You are ready for the next document when: you can explain what is current, proposed, unresolved, and safe to change without relying on memory or access to production.