A catalog job crawled for the better part of an hour, and the obvious suspect — heavy PDF parsing — took the blame. Profiling put ~40 of every ~41 seconds somewhere no one had looked: a one-line regex hunting for an email that wasn't there.
A running field guide to the traps that bite a Windows dev box day after day - the ones that are small on their own and expensive in aggregate. Each is written as a thirty-second diagnosis.
"Keep the last fourteen" is a sentence about time. A disk only understands bytes. Here is the morning that difference cost us, and the small change that fixed it for good.
Handing out the form link is safe — nobody who fills it can see anyone else's answers. The spreadsheet behind it is a different file with its own sharing, and that is the one quietly filling with names, numbers, and dates of birth.
You imported the record correctly. Then someone fixed a typo in the source — and your re-run skipped right past it, because dedup saw a record that already existed and moved on.
You're mapping a messy source vocabulary onto a clean target taxonomy. The target has about 5,600 slots, so the job must be roughly 5,600 decisions — right? The backlog is already past 8,900, and still climbing.
You shipped a fix to how one field is computed, re-ran the pipeline across everything, and it reported a clean run. Then the consistency check still flags those records as wrong. The fix is in the code, the rebuild "ran" — and the records never changed. Your own optimisation skipped them.
The report said 80 duplicate groups still to resolve. You'd been resolving them for days. You run it again after a big batch and it *still* says 80-ish. The backlog isn't stubborn — the scan is counting work you already finished.
You hardened a skill in the repo, shipped the PR, and the agent kept loading the old one. Or you fixed the live skill by hand, and the versioned copy quietly stayed behind. Same root cause: the copy you run and the copy you version are two different files.