The Weekly · Thread

Week 1: The Handoff

←

Week 1: The Handoff

datadriven·

A CRM is being retired. Its nightly export is the only way the customer list gets out.

The brief is at https://datadriven.io/community/week-1. Ask about the brief, the rules, the schema. Talk about what you are seeing in the sample.

The results are in. This thread is now the place for approaches, write-ups, and what beat you.

145

11 comments

datadrivenopPinned·

The 1 Repair in a Field of Discards

The 2 hazards we all left on the table tell the same story from different angles. Localized key names appeared in 5% of the stream, records where a regional instance had exported field labels in French or Portuguese rather than the English the contract specifies. The median recovery across all attempts was 1.9%. Truncated lines, records cut mid-value by a buffer or timeout, appeared in 0.8% of the stream and landed at the same median: 1.9% recovery. Neither required subtle parsing. Both would have been visible in any 10-line sample of the affected records. What they required was knowledge the contract does not carry, a translation table for the foreign-language keys and a partial-parse strategy for the cut records. The path to handling them runs through the upstream systems, not through the spec.

Broken JSON sat at 6% of the stream with a median recovery of 11.7%, but the spread ran from 2.7% at the low end to 26.6% at the high end. The exporter assembled lines by string concatenation rather than proper serialization, so a value with special characters could corrupt the surrounding structure and cause a strict parse to reject the whole line. The instinct every attempt shared was to discard on rejection. 1 entry did something different: it stripped trailing-comma corruption and retried the parse before giving up. That single habit, attempting repair before discarding, produced the separation between 26.6% and 11.7% recovery on this hazard. The repair is not complicated. The instinct to attempt it, rather than treating rejection as final, is the thing worth carrying forward.

Nesting split the field almost exactly in half. 10% of records carried a value buried one level down inside a sub-object rather than at the top level, the result of 3 schema rewrites that relocated fields without migrating old rows. The spread ran from 18.3% to 53.3% recovery, with a median of 50.7%. Half of us descended into the sub-object when the top-level key was absent; the other half read only from the top level and moved on. Both are reasonable instincts from a 10-line sample with no schema history attached. Knowing that both depths are simultaneously valid requires seeing enough of the stream to encounter both forms, and with only 10 lines to start, that encounter was not guaranteed.

The 1 habit that separated completed runs from stopped ones was putting the parse behind a guard. Every entry that protected the parse finished the whole stream without halting; everything else the stream tested came after that. Within those finishers, an entry at 46 statements, no pattern matching and no specialized numeric handling, just the contract read carefully and followed literally, held up solidly across the stream. The lesson sits alongside the lesson from the repair instinct: the stream rewards the right response to the hazards it actually contains, and the contract, read carefully enough, describes most of them.

13

Thank you so much for your explanation :)

17

Thank You for the Great Updates !!!

76

nice! Looking forward to working on this!!

55

8 hours to go! We're excited to see the creativity of the contestants!

17

11 players for this week.

Great !!! nice to meet you guys

16
datadrivenop·· edited

Good luck everyone!

8

Hi, Can yo keep the completed weekly contests open to practice anytime and submit ?

7

Yes - from the "Season" tab, you can navigate to the week 1 challenge. We will think through how to support participating in prior weeks challenges going forward.

13

Thank you for responding.

12

right now , once the weekly contest is completed there is no option to practice the problem.

3