The order was already paid. Only its billing city changed.

We froze a real store the moment an order was paid, copied it twice, and edited one copy. The customer's discount vanished from the receipt.

Order
4WQVKNWLNGQ5TFV6
Paid
$339.80, PaymentSettled
Promotion
10% off orders $100+

Twin A

no edit

Left exactly as it was when the customer paid.

Items
$372.00
10% promotion
−$37.20
Shipping
$5.00
State
PaymentSettled
Total$339.80

Twin B

drifted

Promotion switched off after payment, then only the billing city edited.

Items
$372.00
10% promotion
−$37.20removed
Shipping
$5.00
State
Modifying
Total$377.00
A $339.80 → B $377.00Discount dropped after payment. Nothing the customer bought changed.+$37.20

Both twins are CreateOS forks of one paused store. The Vendure server kept running through each fork, so they start from the same state in memory and on disk.

How the twins were made

Every step ran against a real Vendure 3.7.3 store in a CreateOS sandbox. Payments used Vendure's test handler, so no money moved.

  1. Seed a paid orderautomatic promotion → order over $100 → PaymentSettled
  2. Freeze the storecos fork pauses the running sandbox and snapshots it
  3. Copy it twicetwin A · twin B, each with the store still running
  4. Edit twin B onlyupdatePromotion(enabled: false) → modifyOrder(billing city)
  5. Compare receiptsA $339.80 · B $377.00 · difference +$37.20

Two controls rule out coincidence

Run on twin A, where the promotion is still on.

ControlActionResultVerdict
No driftThe same billing-city edit$339.80, discount keptPass
Eligible promotionDry run, quantity 1 → 2$674.60, −$74.40Pass

The address edit on its own is harmless. The total drifts only when a promotion changes after payment, and real edits still reprice correctly.

Second finding · live agent run

Nobody switched the promotion off. It simply expired.

An AI agent in twin B wrote and ran its own probe: a scheduled promotion ran out, then only the address on a paid order was edited, and the total rose from $1,397.12 to $1,407.92. Every figure was confirmed in the store's database.

+$10.80

Model
Opus 5.5 via OpenRouter
Runner
Claude Code in CreateOS
Run
10 turns · 3 min 22 s
Order
9ZHV3PFUU5JHNWBG