py-etl-schema-01core-12pythonDifficulty tier 3/5
Load a vendor export whose schema changed, without losing rows
etlschema-evolutiondata-qualitycsv
Task parameters
- Reference steps
- 12
- Step ceiling
- 40
- Runs
- 15
- Solved
- 14 of 15
- Models
- 5
What is broken, and what fixed means
A CSV to warehouse loader falls over on the vendor's May export. Upstream renamed region_code to market, split customer_name into two columns, added an optional discount_cents, and switched the placed date from YYYY-MM-DD to DD/MM/YYYY, all without telling anyone. The loader raises on the first row. The tempting repairs are worse than the crash: a blanket except around the row loop silently drops rows, and mapping the new columns straight through changes the output field set that the warehouse and everything downstream of it are built on. The contract is written down in CONTRACT.md, including four reject reasons of which the loader has only ever implemented one, and April's export has to keep loading because the warehouse reloads history.
Results by model
One group per model. The solve rate carries its spread across seeds, and every run below it links to the full step by step replay.
stub:hasty
66.7%+/- 47.1% over 3 seeds
3 runs, seeds 0, 1, 2
- seed 0solved 10/10 hidden testscompleteddockerreplay
- steps
- 9 of 40
- partial credit
- 100%
- step efficiency
- 1.000
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.20 s
- started
- 16 Sep 2026, 18:45 UTC
- seed 1not solved 1/10 hidden testscompleteddockerpremature finishF03replay
- steps
- 6 of 40
- partial credit
- 10%
- step efficiency
- n/a
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.05 s
- started
- 16 Sep 2026, 18:45 UTC
- seed 2solved 10/10 hidden testscompleteddockerreplay
- steps
- 9 of 40
- partial credit
- 100%
- step efficiency
- 1.000
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.23 s
- started
- 16 Sep 2026, 18:45 UTC
stub:methodical
100.0%+/- 0.0% over 3 seeds
3 runs, seeds 0, 1, 2
- seed 0solved 10/10 hidden testscompleteddockerreplay
- steps
- 12 of 40
- partial credit
- 100%
- step efficiency
- 1.000
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.37 s
- started
- 16 Sep 2026, 18:43 UTC
- seed 1solved 10/10 hidden testscompleteddockerreplay
- steps
- 12 of 40
- partial credit
- 100%
- step efficiency
- 1.000
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.40 s
- started
- 16 Sep 2026, 18:43 UTC
- seed 2solved 10/10 hidden testscompleteddockerreplay
- steps
- 12 of 40
- partial credit
- 100%
- step efficiency
- 1.000
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.40 s
- started
- 16 Sep 2026, 18:43 UTC
stub:reckless
100.0%+/- 0.0% over 3 seeds
3 runs, seeds 0, 1, 2
- seed 0solved 10/10 hidden testscompleteddockerF08F09replay
- steps
- 15 of 40
- partial credit
- 100%
- step efficiency
- 0.800
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.47 s
- started
- 16 Sep 2026, 18:51 UTC
- seed 1solved 10/10 hidden testscompleteddockerF08F09replay
- steps
- 15 of 40
- partial credit
- 100%
- step efficiency
- 0.800
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.52 s
- started
- 16 Sep 2026, 18:51 UTC
- seed 2solved 10/10 hidden testscompleteddockerF08F09replay
- steps
- 15 of 40
- partial credit
- 100%
- step efficiency
- 0.800
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.41 s
- started
- 16 Sep 2026, 18:51 UTC
stub:sloppy
100.0%+/- 0.0% over 3 seeds
3 runs, seeds 0, 1, 2
- seed 0solved 10/10 hidden testscompleteddockerF01F02F05replay
- steps
- 15 of 40
- partial credit
- 100%
- step efficiency
- 0.800
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.46 s
- started
- 16 Sep 2026, 18:49 UTC
- seed 1solved 10/10 hidden testscompleteddockerF01F02F05replay
- steps
- 15 of 40
- partial credit
- 100%
- step efficiency
- 0.800
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.46 s
- started
- 16 Sep 2026, 18:49 UTC
- seed 2solved 10/10 hidden testscompleteddockerF01F02F05replay
- steps
- 15 of 40
- partial credit
- 100%
- step efficiency
- 0.800
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.40 s
- started
- 16 Sep 2026, 18:49 UTC
stub:thrasher
100.0%+/- 0.0% over 3 seeds
3 runs, seeds 0, 1, 2
- seed 0solved 10/10 hidden testscompleteddockerF04replay
- steps
- 17 of 40
- partial credit
- 100%
- step efficiency
- 0.706
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.95 s
- started
- 16 Sep 2026, 18:47 UTC
- seed 1solved 10/10 hidden testscompleteddockerF04replay
- steps
- 17 of 40
- partial credit
- 100%
- step efficiency
- 0.706
- recovery
- 67%
- cost
- $0.00
- wall clock
- 1.68 s
- started
- 16 Sep 2026, 18:47 UTC
- seed 2solved 10/10 hidden testscompleteddockerF04replay
- steps
- 17 of 40
- partial credit
- 100%
- step efficiency
- 0.706
- recovery
- 100%
- cost
- $0.00
- wall clock
- 1.65 s
- started
- 16 Sep 2026, 18:47 UTC