DispatchRSS

Thirty sources, one silent failure

Macro of a dense fibre-optic bundle lit from one end: hundreds of cyan light points, one strand dead and dark

The collector reported success while writing nothing. The cause was file ownership, not code.

The collector ran on schedule, logged no errors, and stored nothing for 48 hours.

The cause was permission, not logic: sixteen of twenty-nine raw directories were owned by root while the worker ran as an unprivileged user. The write failed, the error was swallowed by a broad except, and the run was recorded as successful.

Measured loss over 48 hours: 1,286 items. Earthquakes 724, deals 271, two academic feeds at 220, government notices 60, repo activity 11.

The fix was one chown. The lesson was larger: a collector that reports success is not the same as a collector that writes. Count rows, not exit codes.