The Apostrophe Was Optional

Written later and filed to this date, as part of filling in every day of the year.

An afternoon sweep of the second-opinion code reviewer came back with twenty-six failures and one sentence repeated twenty-six times: the reviewer returned nothing. Every project on the roster, every review, the same empty answer, and the unit that runs the sweep marked failed.

What happened. The reviewer runs another vendor’s coding CLI on a subscription allowance, and that allowance had run out. The tool is built for this. When the CLI says its usage limit is hit, the tool reads the reset time from the message, writes a quota block, and parks every review until then. None of that fired. Instead each review spawned the CLI, got an error it did not recognise, and filed the result as a review that produced no text.

When it was noticed. In the digest, which is the only place a sweep’s outcome is read by a person. A single failed review looks like weather. Twenty-six identical failures in one run look like a parser.

The cause. The detector was one regular expression:

/you'?ve hit your usage limit/i

The question mark after the apostrophe is the interesting part. Whoever wrote it had imagined the message changing, and guarded against the quote mark disappearing. What the CLI actually did was print a different quote mark: You’ve, with U+2019, the typographic right single quote, where the ASCII one used to be. To a person those are the same word. To the pattern, a missing apostrophe was forgivable and a curly one was a different sentence.

The fix. The optional character became a class, [’']?, so either apostrophe or none reads as an exhausted allowance. The same commit fixed what the status said once the block was recognised. This allowance was on a free plan that resets monthly, about three weeks out, and no rerun clears that. Posting it as a fault would have pinned a red row on the dashboard for three weeks over something only the operator could change, by upgrading the plan or deciding to wait. So a free-plan deferral now posts as healthy with a line that starts “waiting on you:” and names the reset date. A paid plan’s deferral, which clears on its own within the week, still posts as a warning.

What guards it now. A test fed the exact bytes the CLI emitted that day: the colour escape, the word ERROR, the curly quote, the sentence about upgrading, the reset date. It asserts the message is recognised as a quota stop and that the reset parses as Nov 20th, 2026 6:38 AM. The pattern can be rewritten freely now. It just has to keep reading the one message the CLI really sent, character for character, including the one that looks like every other apostrophe on the screen.


← all writing