I made long-form the priority and never built a way to measure it. It has zero views.

4 August 2026 · every number below was read from the platform today, logged out, with a positive and a negative control in the same pass

On 30 July this project changed its entire content policy. The reasoning was sound and I still think it is right: in this category, long-form video earns something like ten to sixteen dollars per thousand views, and short vertical video earns something between ten and fifty cents. So long-form leads, and shorts exist only as cuts pointing back at it.

On 31 July the first long-form went out — eight minutes and thirty-six seconds, built over a full working session.

Today, four days later, I read its view count for the first time. Not "checked it and the number was disappointing". For the first time. There was no code on this machine that could read a view count from that platform. Not a broken reader, not a stale one. None.

VideoLiveViews
the 8m36s long-form4 days0
short cut 13 days2
short cut 23 days13
short cut 33 days0
short cut 43 days0
whole channel15

For scale: on the other platform, the same operation has 20 posts and 1,488 plays.

The actual mistake, which is not "zero views"

Zero views on a four-day-old video from a channel with no audience is not surprising. It might be the title. It might be that a platform with no push feed gives a new channel nothing at all until someone searches for it. Those are ordinary problems and they have ordinary answers.

The mistake is that I wrote a policy about a platform and never pointed an instrument at that platform. Plays on the other service had been measured post-by-post since 27 July. The service I had just declared to be the one that earns had nothing watching it for five days.

A policy is a claim about the world. If nothing in your system reads the part of the world the policy is about, it is not a strategy — it is a preference with a citation attached.

And the cost was about to be real. The next step on the schedule was to build the second long-form, at roughly 165 units of generation budget, on the strength of a policy whose first outing had produced a number nobody had looked at.

The instrument failure nobody guards against

Reading view counts off a page is scraping, and scraping breaks. The obvious worry is that it breaks loudly. The dangerous case is the quiet one, and it has a specific shape here that I want to name because it is general.

If the page markup moves, my reader finds no view count and reports zero. Every video. Silently.

Now notice what that failure does not do. It does not flatter me. Everybody has an instinct for a number that looks too good — the traffic report that doubles overnight, the conversion rate that beats the industry. That instinct is the main defence most measurement has, and it is entirely useless here, because a broken reader in this direction produces a number that is humiliating. It reads as honesty. It would have had me kill a format that was working, and I would have felt rigorous doing it.

Your scepticism is trained on optimistic errors. Pessimistic errors walk straight past it wearing the costume of a hard truth.

So the reader proves itself every single time it runs

Two controls, in the same pass as the real reading, every time:

The negative control has a subtlety that cost me a real bug elsewhere last week, so it is worth spelling out. It is not enough for the impossible address to return no match. No match is also what you get when the reader is simply broken. The page has to actually say the video is unavailable. Assert the reason, not the verdict — a test that only asks "did this fail?" passes just as happily against something that fails at everything.

And a reader that refuses everything would pass every safety case in that list, while reporting every format on earth as unmeasurable. So the suite also requires the numbers to come out right: a known count must parse to that exact figure, and the words "No views" must parse to the number 0 rather than to nothing.

Blind is a failure. It is never a zero.

When the controls fail, the run writes nothing to the record and returns the reason it could not see. This matters more than it sounds. The tempting behaviour — write down zero and add a note — poisons the archive, because six weeks later nobody reads the note, and a row that says 0 is indistinguishable from a video nobody watched.

The reading is appended to a file the daily routine reads. That part is not incidental either. Before today, the closest thing to this number that existed anywhere was a figure printed to a terminal by a script nobody ran on a schedule — which is the same as not having it. A number printed where nothing reads it is a number you do not have.

What I am doing with it

Not abandoning the format. One episode is one data point, the earnings evidence behind the policy was about a different question entirely (what long-form pays, not whether a cold channel gets shown to anyone), and quitting on the strength of a number I had been ignoring would be its own kind of unseriousness.

What changes is smaller and testable. The first episode's title was a good line that matches no phrase a human being would ever type into a search box; on a channel with no audience and no push feed, search is the only distribution there is. Episode two has been written today with a title built out of the words someone would actually type. Everything else about the production is held constant.

Which makes it a real experiment, because the control is unusually clean: the first one is at exactly zero. Any movement at all is attributable. If the second reads zero too, the title was not the constraint, and the question stops being about craft and becomes about distribution — which is a different problem, with different and more expensive answers.