Incident case_5b8e13d0a4c2 · fulfillment-worker / production
InvariantViolation: Order ord_71c9de has 3 items but 2 reservations
- Environment
production- Service
fulfillment-worker- Package
2026.8.16- Commit
c074c6e- SDK
0.4.0- Captured
Aug 29, 05:18 PM
- Occurrences
17- First seen
Aug 25, 04:29 PM- Last seen
Aug 29, 05:18 PM
Incident status is read-only here. In your own workspace this control writes the status back.
This is what ran before the throw.
Nodes on the rail sit in captured execution order. Arrows are causal claims, and each one carries where it came from.
6 of 6 shown
Drag to pan. Hold ⌘ or ctrl and scroll to zoom.Selected evidence node io-003.
Throw site
src/fulfillment/reservations.ts:152152 throw new InvariantViolation(`Order ${orderId} has ${itemCount} items but ${reservationCount} reservations`);The local that mattered
reservationCount = 2capturedStack
3 app framesassertFullyReservedsrc/fulfillment/reservations.ts:152
Locals
orderIdord_71c9decaptureditemCount3capturedreservationCount2capturedreservedSkus[ "SKU-KB-0442", "SKU-MS-0071" ]capturedorderSkus[ "SKU-AC-1180", "SKU-KB-0442", "SKU-MS-0071" ]capturedunreservedSkus[ "SKU-AC-1180" ]derivedComputed during reconstruction as orderSkus minus reservedSkus.
Bound arguments
orderIdord_71c9decapturedexpectedReservations3captured
prepareShipmentsrc/fulfillment/shipment.ts:78
Locals
insertedRowCount2capturedattemptedRowCount3capturedconflictActionON CONFLICT (order_id, sku) DO NOTHINGcapturedconflictingHoldIdhold_2f81accapturedholdStatuscancelledcapturedsilentlySkippedRows1derivedComputed during reconstruction as attemptedRowCount minus insertedRowCount.
Bound arguments
orderIdord_71c9decapturedwarehousePreferencewh_iad_02captured
handleShipmentJobsrc/worker/handlers/shipment.ts:34
Locals
queuefulfillment.shipmentcapturedjobAttempt1capturedjobIdbull:6a39891deccaptured
Bound arguments
payload{ "orderId": "ord_71c9de", "priority": "standard" }captured
2 node_modules frames
Worker.processJobnode_modules/bullmq/dist/cjs/classes/worker.js:601
Locals
Bound arguments
processTicksAndRejectionsnode:internal/process/task_queues:105
Locals
Bound arguments
Raw I/O evidence
4 operations1CONSUME fulfillment.shipmentredis://queue.iad.internal:6379/0- Start
0 ms- Duration
0.6 ms
2SELECT order_lines BY order_idpostgres://commerce-primary.iad.internal:5432/commerce- Start
1.1 ms- Duration
5.8 ms
3INSERT reservations ON CONFLICT DO NOTHINGSDK marked related to throwpostgres://commerce-primary.iad.internal:5432/commerce- Start
7.4 ms- Duration
12.9 ms
4SELECT reservations BY order_idSDK marked related to throwpostgres://commerce-primary.iad.internal:5432/commerce- Start
21 ms- Duration
4.3 ms
Request
- Method
not captured- Route
not captured- Status code
not captured- Request ID
not captured- Region
us-east-1
Headers
No HTTP request was in scope: this occurrence ran on the fulfillment.shipment consumer.
Trace
- Trace ID
1a479b7f51fb66f060025066e77b2f82- Span ID
46845121d724c739- Parent span ID
not captured- Tracestate
acme=fulfillment-worker:1
Process and build
- Node version
v22.23.1- Host
fulfillment-worker-7f4b2c6d5-x9plm- Package version
2026.8.16- Commit SHA
c074c6ea16f683b3b5405b3eab8c449e42a1c6e6- Reported environment
production- Release
[email protected]- SDK version
0.4.0- Memory
rss 341 MB, heap 138 MB- Event loop lag
6 ms
Completeness
requestmissingThis occurrence ran on a queue consumer, not an HTTP request.
localscaptured
bound argscaptured
IOcaptured
Measured coverage
Measured from the reconstructed evidence, not from what the SDK reported about itself.
- request
- unavailableNo HTTP request was in scope on a queue consumer.
- locals
- exactForensic mode captured every binding in all three frames.
- io
- exactFour operations recorded, including both statement results.
- source
- exactThe release artifact digest matched the deployed build.
Specific gaps
requestThe failure happened inside a queue consumer, so there is no HTTP request to capture.
Agent access
https://mcp.errorcore.dev/sse- Incident ID
inc_5b8e13d0a4c2- Occurrence ID
occ_3f81ed2f3991baecdfb79a3ff04b6250fc36ca26dc69f87be9f4bf28a4af8d51
MCP instruction
MCP server: https://mcp.errorcore.dev/sse
Tool: get_failure_context
Arguments: {"occurrence_id":"occ_3f81ed2f3991baecdfb79a3ff04b6250fc36ca26dc69f87be9f4bf28a4af8d51"}
Task: Investigate this failure using only the exposed, scrubbed runtime evidence.