Five Hundred and Fifty Bytes of Punctuation
Written later and filed to this date, as part of filling in every day of the year.
550 bytes: the distance between a status file that fit its budget and a status file that did not, with the same text in both.
The budget was 64 kilobytes, 65,536 bytes, and an audit measures the workspace’s status files against it every day. A second job, the one meant to keep documents under their budgets, compacted the file to 65,248 characters: 288 to spare, by its own count. The audit measured 65,798 bytes, 262 over, and failed. Both numbers were correct. The compactor counted characters; the audit counted bytes. For most of the text those are the same thing.
For the punctuation they are not. An em dash is one character and three bytes in UTF-8, and so is an arrow, and the older documents here are full of both. Each one is two bytes the character count never sees. Five hundred and fifty of those bytes, call it a few hundred dashes and arrows across a long file, and the job that was supposed to fix the overage could do its work perfectly and still hand back a file the audit refused.
The job had been failing its ratchet every day by then, seven documents over budget against a baseline of four, for a related reason: it only trimmed inside oversized sections, and the stuck documents had grown by appending small finished ones. The unit error was the last thing standing after that was fixed, and the hardest to see, because the job’s own report said under.
The fix put one measurement in both places: every size comparison in the tending code now counts bytes, the same way the audit does. And the compactor stopped aiming at the line. It targets the budget minus four kilobytes, so the file it returns can survive a week of ordinary appends instead of tripping the ratchet again on the first one.