Multi-Domain v1.0.0 JavaScript · Node v22.23.1

SWE Multi-Domain
Demo Pack

Ten fully simulated enterprise software companies — one per domain — each with a real injected defect, the on-call Slack thread around it, and an execution-verified fail→patch→pass cycle. This is the actual dataset shipped on our storefront: no marketing constructs, no cherry-picked screenshots.

Download JSON ↓ Download JSONL Storefront →
10
Worlds
10
Domains
10
Defect Classes
100%
Execution-Verified

What's in the pack

Every record carries the buggy source, the test that gates it, the gold patch, the fixed source, and the full incident thread — packaged with a canary and a documented verification pipeline.

Verification

fail-before / git apply / pass-after, executed at package time — every world is executed, not assumed.

License

Evaluation use only. Not licensed for model training or redistribution without agreement. · Canary: e52fc5be-d91b-4b52-b410-287271e9c420

The 10 worlds

Ten industries, ten distinct defect classes, zero repeated problems. Click a card to inspect it below.

Ecommerce WORLD-479D7068
CWE-129 train
CHECKOUT_OUT_OF_BOUNDS

processCartItem() in registry accesses cart[index] without checking if the index is within bounds. If cart items are removed (e.g., concurrent stock check removes out-of-stock items), the index becomes stale and access returns undefined, causing a crash or undefined behavior. Fixed by adding bounds and nullity checks.

src/handler.js · handler()
3 fail3 pass · #inc-ecommerce
Gaming WORLD-90D154CC
CWE-20 train
STORE_NEGATIVE_QUANTITY_CREDIT

purchaseItem() multiplies unit price by a caller-supplied quantity without validating it. Submitting a negative quantity yields a negative cost, which passes the funds check and then increases the player's balance — an unlimited currency mint. Fixed by requiring a positive integer quantity.

src/handler.js · handler()
3 fail3 pass · #inc-gaming
Energy WORLD-92921D98
CWE-190 test
METER_ROLLOVER_NEGATIVE_USAGE

usageDelta() subtracts the previous register reading from the current one with no wraparound handling. When the meter passes its maximum and returns to zero the delta goes sharply negative, and the billing run either credits the customer or rejects the read. Fixed by detecting the wrap and adding the rollover span.

src/handler.js · handler()
3 fail3 pass · #inc-energy
Logistics WORLD-AB75E152
CWE-681 train
MANIFEST_WEIGHT_TRUNCATION

totalManifestWeight() parses each declared pallet weight with parseInt, discarding the fractional kilograms. Across a full trailer the manifest under-states the payload, so an axle-weight check that reads this total can clear a load that is actually over the legal limit. Fixed by parsing the decimal value.

src/handler.js · handler()
3 fail3 pass · #inc-logistics
Travel WORLD-B48EB64F
CWE-682 val
HELD_SEAT_AVAILABILITY_OVERCOUNT

seatsAvailable() subtracts only confirmed bookings from the cabin total and ignores seats under a temporary payment hold. During checkout the same seat is offered to another customer, producing oversold flights that surface only at the gate. Fixed by subtracting held seats as well.

src/handler.js · handler()
3 fail3 pass · #inc-travel
Iot WORLD-D2054ACD
CWE-704 test
THERMAL_UNIT_MISMATCH

isOverTemp() compares a Celsius sensor reading against a limit configured in Fahrenheit without converting either value. Because the Fahrenheit number is numerically larger, the over-temperature alarm stays silent through the entire real danger band and only trips at roughly twice the intended threshold. Fixed by converting the reading before comparison.

src/handler.js · handler()
3 fail3 pass · #inc-iot
Edtech WORLD-D94CC98C
CWE-697 val
PASS_MARK_BOUNDARY_EXCLUSION

gradeSubmission() compares the score with strict greater-than against the pass mark, so a student scoring exactly the published threshold is graded as a fail. Every cohort loses the boundary band, and the error is invisible in aggregate pass-rate reporting. Fixed by using an inclusive comparison.

src/handler.js · handler()
3 fail3 pass · #inc-edtech
Fintech WORLD-F7095CF5
CWE-190 train
PAYMENT_AMOUNT_OVERFLOW

calculateTotal() uses Number multiplication (dispatch service), which overflows for values above Number.MAX_SAFE_INTEGER (9,007,199,254,740,991). When processing large USD amounts, the product silently loses precision. Fixed by using BigInt arithmetic.

src/handler.js · handler()
3 fail3 pass · #inc-fintech
Devops WORLD-F867DE27
CWE-703 train
CERT_EXPIRY_SILENT

checkCertExpiry() in ledger uses >= instead of >, so a certificate whose validity window ends exactly at the current instant is still reported valid and the expiry passes silently. Fixed by requiring validTo strictly greater than now.

src/handler.js · handler()
3 fail3 pass · #inc-devops
Healthcare WORLD_HC_0475
CWE-668 test
AMBULANCE_GPS_STALE_DATA

Dispatch position lookup falls back to an arbitrary cached fix from the shared telemetry map when the requested ambulance unit has no recent GPS report, returning another vehicle's coordinates to the wrong dispatch sphere and omitting any staleness evaluation against the maximum fix age window.

src/serviceHandler.js · ()
3 fail3 pass · #inc-healthcare

Inspect a world

Pick a domain: read the incident thread the way an agent would, then flip between the buggy and fixed source, the gold patch, and the gating tests.

Ecommerce WORLD-479D7068 CWE-129 CHECKOUT_OUT_OF_BOUNDS
Defect mechanism

processCartItem() in registry accesses cart[index] without checking if the index is within bounds. If cart items are removed (e.g., concurrent stock check removes out-of-stock items), the index becomes stale and access returns undefined, causing a crash or undefined behavior. Fixed by adding bounds and nullity checks.

fails 3/3 before passes 3/3 after node --test tests/bug.test.js #inc-ecommerce

Incident thread

The on-call thread the engineering agent must trace, from #inc-ecommerce.

S
Support_Lead
We have three tickets in the last hour: checkout fails with 'something went wrong', and one says they were charged for a different item than in their basket. Anyone else seeing this?
G
Growth_PM
Same on social. A user said their basket showed two items but they were charged for one. They want a refund.
S
SRE_OnCall
Checkout error rate is up about 0.2% over the last 30 minutes. Not huge, but it's an anomaly. What items are affected?
S
Support_Lead
Looks random — t-shirts, mugs, one laptop. No common brand or category.
G
Growth_PM
Could it be a promo code? The laptop order had a 10% off code.
S
Support_Lead
Two of three had no promo. One had gift wrap. Not about codes.
S
SRE_OnCall
Any particular platform? I’m pulling errors by client.
S
Support_Lead
Mixed: iOS, Android, desktop. Most on web checkout.
G
Growth_PM
Do we have any workaround? Can they pay with PayPal instead?
S
Support_Lead
Retry sometimes works. We're telling them to refresh and try again. Wrong-charge one is still open.
B
Backend_Eng
I'll dig into checkout logs. We haven't deployed anything today, right?
S
SRE_OnCall
No deploy. But we did have a stock re-sync job run at :45. Back in 10 after I look at the logs.
B
Backend_Eng
Stock re-sync removes out-of-stock items from active baskets. If it ran mid-checkout, the contents could shift.

Source · src/handler.js

The same file before and after the gold patch. Bug is injected; tests gate both states.

src/handler.js
// Enterprise Component: SysShield | Ticket: TICKET-5733 | Trace: INC-553
function processCartItem(userCart_89, index) {
    // BUG: Direct array access without bounds check
    // Items may have been removed concurrently or by other logic
    const item = userCart_89[index];
    return {
        itemId: item.id,
        name: item.name,
        price: item.price,
        quantity: item.quantity,
    };
}
module.exports = { processCartItem };

Splits

Pre-baked train/val/test splits so you can benchmark against the same world alignment we use.

Split Worlds
test3
train5
val2

Start with the real thing

Download the pack directly, or grab the full SWE-Enterprise corpus with 24,316 worlds for training-scale work.

Download JSON ↓ Dataset Card Editions