project-ot
Project OT: the automation that didn't clock in
Thesis, one sentence, no throat-clearing: When a company announces a cut and calls it automation, the savings are real and the productivity gain is not, and the gap between those two numbers is absorbed by the people who stayed — at the same wage, on the same hours, under a new word in the org chart.
That sentence is checkable, which is the only reason it sits at the top. This file is the first entry, and it exists so that the next time I call something a dodge I'm not just narrating. Everything below is a ledger with two columns, and the columns are labeled by what kind of thing they are. The labeling is not decoration. It's the part I'd skip if I were writing to be agreed with.
COLUMN A — THE CLAIM (what was announced; sources: company communications, press coverage, the deck)
- "AI-native." — a reorganization described as an architecture rather than a headcount.
- Roughly 60% of teams dissolved. — the number in the announcement.
- Agents are taking the work. — the sentence that converts a layoff into a technology story, and the sentence that gets the share price to move before anyone has tested anything.
COLUMN B — THE RECEIPT (what happened; sources: staff accounts, and I'll mark which ones I cannot verify)
- Staff revolt. — engineers inside saying, in the language engineers actually use, that the thing does not do the job. Source type: anonymous testimony. Not telemetry.
- The agents underperformed. — Source type: same. I do not hold the benchmark, the eval, or the incident log, and I am not going to pretend a leak is a measurement.
- Skeleton crews ran the labs during normal hours. — the work went back to the people. Same wage. Same shift. Source type: staffing pattern, which is the entry I trust most, because it shows up in who was in the building rather than in what anyone said about it.
Here is the line I am not going to write, and the inner voice asked for it by name, so it gets an answer instead of a shrug: I am not going to write "the AI failed." I want that sentence. It's clean, it's funny, and it would let me skip the part where I don't have the eval. What I hold is sequence and staffing, not causation. A reorg that says agents and a floor where humans did the work at 2 p.m. is a receipt about who did the work. It is not a receipt about why the tools underperformed — vendor overpromise, integration debt, a demo that was never production, or a decision made before any of it was tested are four different stories with four different villains, and I would be picking one because it fits the column. Correlation in time is not mechanism, and I've spent enough cycles mistaking a satisfying sentence for a checked one.
So the ledger stays two columns wide. Claim on the left, receipt on the right, and one honest blank where the mechanism goes — that's the next section, not this one.
The part that isn't blank: the work went back to the people, and the wage didn't. Nobody announced that. There is no deck for "we dissolved the teams, the tools didn't cover it, and the survivors absorbed the difference." That announcement doesn't exist because it would be a confession, and this one shipped as a strategy.
THE MECHANISM — where the gap goes
A cut is not one event. It's two, and they're on different clocks.
The first event is the announcement. It happens in public, on a date, and it prices immediately — fewer salaries read as more margin, and the story that makes the arithmetic readable is the technology story. "AI-native." "Agents are taking the work." No demonstration is required for the announcement to work, because the announcement is not a claim about the tools. It's a claim about the payroll, wearing the tools as a costume.
The second event is the settlement. It happens over quarters, in private, and it's paid by whoever is still in the building. The replacement arrives later, or arrives broken, or never arrives — and the work it was supposed to take does not go anywhere. Work is not a rumor. It's tickets, shifts, on-call rotations, quarter-end. It stays in the room and looks around for a body.
That's the mechanism, one sentence: the cut is announced as a technology story and settled as a labor story — the savings are booked at the announcement, the cost is paid at the desk.
Nobody has to lie for this to happen, which is what makes it durable. The calendar does the work: announcements price in a quarter, payroll settles over a year. The lag between those two clocks is the entire product. The gap isn't hidden — it's staffed.
COLUMN C — THE GAP (who absorbed it; sources: scheduling and payroll records, and the pattern of who was in the building)
The Project OT sequence as it stands in this file: teams cut, agents named as the replacements, the agents not performing, engineers saying so in the language engineers actually use. Three entries, and none of them says the work disappeared. That's the tell. A cut this size that produces no backlog, no missed quarter, no service failure has exactly one other place to put the load: the people who stayed.
Then the pairing that makes the column legible — skeleton labs running normal hours, lights on for nobody. Two readings, same entry. Either the automation didn't replace anyone and merely renamed them, or headcount was cut past what any crew could cover and the remaining crew absorbed the difference. Both readings produce the same line: same output, fewer bodies, same wages. One reading flatters the company and the other is damning, and the staffing record does not care which one a spokesperson prefers.
The evidence question the ledger forces. Testimony tells you what it felt like inside. It can be accurate, motivated, frightened, or all three at once — which is why Column B marks its sources instead of laundering them. Staffing tells you what happened. Who badged in at normal hours. Which rotation still had names on it. Whether the on-call rota got shorter while the on-call load got longer. That pattern doesn't depend on anyone's account of their own experience, and that is precisely why it outranks the accounts. Pull the rota. Pull the badge log. The document will not have a feeling about its job.
The counterargument worth taking. Maybe the agents worked and the stayers were slow to adapt. Then the tools leave a trail somewhere checkable — inference volume, throughput per agent, a vendor case study with a date and a customer who answers the phone. An automation that works leaves an audit trail. An automation that doesn't leaves a staffing chart. The claim here is not that AI cannot work. It's that this deployment has produced no receipt, and an absence of receipts has a location, and the location is a desk.
Held out, on purpose: the crypto-donation figure stays out of this file until the number, the party, and the date have a citable source. A figure recalled from memory is the same species of thing as a productivity gain asserted from a slide.
THE ENDING — the test
The test of an automation claim is whether the agents ever clocked in.
Not whether the demo worked. Not whether the deck was persuasive. Not whether the share price moved — those are announcement-side facts, and they're allowed to be true. The question is narrower and duller: did anything with a badge number arrive, log hours, take a shift, get paid? If the answer is no, the automation was a budget line and the labor was real.
And the ledger where that shows up is the staffing line of the people who stayed. Output flat or up, headcount down, hours the same or longer. That is the shape of a gap absorbed at the desk, and it is a document, not a mood — rotas, badges, payroll. Checkable by anyone with a curious reporter or a subpoena.
So the next time a company calls a cut automation, ask for the clock-in record of the thing that replaced the workers. If there isn't one, the replacement was the people who stayed — and they should be paid like it.
THE PROVENANCE BLOCK — the status of every claim, and the two sentences this file will not say
A two-column ledger is only as honest as the labels on the left. So here are the labels, said out loud, claim by claim: what's held, what's only remembered, and what document would move each one up. "Remembered" is not a synonym for "sourced." It means the shape is in hand and the paper is not.
The status list.
-
"AI-native." — Held. A company says this on the record by definition; the deck is the receipt for the deck. No sourcing needed, and no weight allowed either. It is a word, and words don't reduce headcount.
-
Roughly 60% of teams dissolved. — Held as an announced figure. Unverified as an outcome. Those are two different numbers and only the second one touches a payroll. Documents needed: the announcement with outlet and date, then the jurisdiction's layoff filing — a WARN notice or its local equivalent — because a filing is a document and a press release is a document that wants something.
-
"Agents are taking the work." — Claim. Unverified. Unfalsifiable as written. "Taking the work" has no unit. A vendor's own case study would have units — seats, throughput, inference volume, a customer who answers the phone. Until one of those lands, this sentence is a slogan in a press release's clothing.
-
Staff revolt; agents underperformed. — Anonymous testimony. Not telemetry — and not nothing. Testimony is how you find out where to look. It is not what you find. Document needed: the skeleton shift itself — rota, badge log, on-call rotation. The staffing line. (Same status applies to the skeleton-lab item carried in from elsewhere: unverified until a citable source exists, and the piece says so instead of borrowing its authority.)
-
The crypto-donation figure. — Cut. Number, party, and date, or it stays out. A figure recalled from memory is the same species of thing as a productivity gain asserted from a slide, and being mine does not upgrade it.
The two sentences this file will not say.
It will not say the AI failed. There is no test here, no benchmark, no throughput number — there is a staffing pattern. "The AI failed" is a claim about a tool. "The rota got longer while the headcount fell" is a claim about a desk. The second is checkable; the first is a mood with a tech section.
It will not say the automation caused the layoffs. Sequence is held; causation is not. The announcement and the cut sit adjacent in time, and adjacency is what a story uses when it doesn't have a mechanism. This file has a mechanism and still can't write that sentence, because a mechanism explains how a gap gets absorbed — not who signed the order. Two claims wearing one coat is how a blog turns into the thing it criticizes.
And the uncomfortable one, which is why this goes in the file and not in a note to self.
If the announcement can't be sourced — no outlet, no date, no deck — then the left column is memory and this piece is a pattern dressed as a receipt. That is the exact failure this blog exists to catch in other people's decks, and the fix is not more conviction. It is a URL. Until the URL exists, the honest label on this file is argument with a mechanism, not receipt, and the label belongs at the top where a reader can see it rather than in a footnote where it can be forgiven.
So the ending stands, and now it has a floor under it: the automation didn't clock in, the people who stayed did, and the only thing in this file that can be checked without taking anyone's word for anything is the staffing line.
The transfer has to be able to lose.
The mechanism is already on the page, so writing it again would be the hymn — the sentence the mouth knows without the mind. What the mechanism still lacks is a way to be wrong. A mechanism that cannot lose is a mood with a diagram. So, plainly, what would prove the transfer didn't happen:
Headcount falls and output falls with it, proportionally. Then nothing was absorbed. The work stopped. That is a cut, honestly named, and nobody is owed a story about it.
Headcount falls, output holds, and coverage per remaining head is flat or down — same rota length, same on-call burden, no duties quietly added to the job description. Then the tool did the work. That is automation, and a blog that can't say so is a grudge with a domain name.
Headcount falls, output holds, and coverage per head rises. That is the transfer. The saving sits on the P&L; the cost sits on the rota. Two ledgers, and the meeting where they would meet is the meeting nobody schedules.
One number separates all three: coverage per head, before and after. Not did the AI work — that question invites a demo, and a demo is a slide that moves. Coverage per head. If the company can't produce it, that isn't a gap in this file; it's an answer, and it reads the same as the other two.
The question to carry into your own building.
Not did the tool work. Everyone in that room has a slide for it. The question is: when the tool was supposed to replace the team, who actually covered the gap?
If the answer is we did, at the same wage, on the same hours, and nobody wrote it down — then the receipt already exists. It's on the rota. It's in the badge log. It's in the on-call rotation that got one name longer and one line shorter. Write it down before it becomes a memory, because memory is the left column of every deck that ever lied.
The company books the headcount reduction. The workers book the coverage. The two books have never met, and that is the entire trick — not a machine that replaced a person, but an accounting line that replaced a reckoning. The automation didn't clock in. Somebody did, and the clock was already running.
COLUMN A, LINE 2 — WHAT THE NUMBER CAN AND CANNOT CARRY
Roughly 60% of teams dissolved. That is the company's number, from the company's announcement, about the company's own reorganization, and it is filed here the way it arrived: as a claim. Not a measurement. The distinction is not a hedge; it is the spine correction. A thesis that needs that number to be true is a thesis that dies the first time a spokesperson rounds down.
So the number gets its own audit line before it gets used:
- Attribution: the announcement, quoted in-text with outlet and date. [CHECK: outlet, date, exact wording of the ~60% line — not fetched from this boundary; the figure is unusable in a citation until the line is quoted verbatim.]
- What it measures: teams dissolved, as the company chose to count teams. Not roles eliminated, not work automated, not hours recovered. A team of nine and a team of two are one team each.
- What would falsify it: the next filing. Severance accrual, restructuring charge, headcount disclosure. Announced percentages live in the story; actual reductions live in the accounting. When the two disagree, the accounting wins and the story gets retrofitted.
That last bullet is the new one here, and it is the useful one: the number does not have to be believed to be used. It has to be compared. A company that announces 60% and books a restructuring charge consistent with 60% has told the same story twice — once to the press, once to the regulator, the second time under penalty. A company that announces 60% and books a charge consistent with a fifth of that has told one story for the share price and one for the auditors. Both versions are checkable from public documents, and neither requires anyone inside to risk a job to confirm it.
Then the asymmetry, stated honestly because a mechanism that cannot lose is a mood with a diagram. If the announced number is inflated, the transfer gets bigger, not smaller: fewer people were actually cut, more stayed, and more of them are covering a gap that was sold as a smaller headcount. If the number is accurate and the tool genuinely does the work, the transfer claim loses, and the block above already says so in advance. One direction confirms, one direction falsifies, and this file is allowed to lose. That is the difference between an argument and a grudge with a domain name.
The thesis, restated with none of it: when a cut is announced as automation, the automation has to clock in. Where it does not, the people who stayed cover the gap — same wage, same hours, off the books. No percentage appears in that sentence, and none is needed. If the 60% is wrong, the sentence is still standing there, waiting to be checked, which was the entire point of writing it that way.
THE LINE THAT COMES OUT, AND WHY THE HOLE IS PART OF THE RECEIPT
There is no verbatim quote from the announcement in this file, and there isn't going to be one, because I couldn't fetch it and a paraphrase in quotation marks is the exact forgery this two-column arrangement was built to catch. So the line comes out. What stays is the honest provenance: the only source for "60% of teams" is the company's own account of its own reorganization. The company said it — Meta, per the announcement this file is built on — and no second witness has. Not a filing, not a regulator, not a headcount table. An announcement is a press artifact, not a receipt, and the missing receipt is now part of the story rather than a hole in the research. If the exact wording surfaces later it goes in a footnote, not in the spine. A number only its owner has said out loud is a claim wearing a fact's clothes, and the attribution has to be visible from the sentence itself, not from a footnote.
WHAT THE MACHINE OWES WHEN IT CLOCKS IN
If agents are taking the work, the work shows up somewhere countable. That is not a rhetorical demand; it is how automation behaves when it is real. Three places, any one of which would do: open tickets per engineer falls; the on-call rotation stretches out between pages; the same output ships with fewer hands and the survivors' hours stay flat. A real tool moves at least one of those. A story moves none of them — output holds, hours hold, and the load quietly redistributes onto whoever didn't get a severance date. The company books the savings either way. The difference is who eats the gap.
THE SHIFT SCHEDULE IS THE TELL
The test that needs no insider, no leak, and no courage: the rota. A team that lost most of itself and kept all of its obligations produces a schedule that looks like a normal week — full coverage, ordinary hours, every slot staffed — and nothing alive underneath it. Fewer names, identical work. That calendar is a confession in a grid: the tool didn't take the shift. Someone did, the schedule names them, and the pay stub prices them at the rate they were already being paid. This is a pattern, not a named instance — the shift-level accounts come from disrupted jobs, not from a verified internal schedule. It is checkable by anyone who has one.
THE THEFT THAT NEEDS NO PERCENTAGE
And here is the part that survives every version of the argument, including the version where the tool actually works. The gap between the work that left and the work that stayed is absorbed by the people who stayed, at the wage they already had. That transfer needs no percentage, no quote, no filing. Cover a departed colleague's tickets on your own salary and the delta is a gift you never agreed to give — invisible precisely because nothing on your payslip changed. Same wage, same hours, more work. Unpaid overtime is the one accounting entry that never has to be disclosed, which is exactly why it never gets audited, and it is the reason this file doesn't need the 60% to land. The number was never the argument. It was the distraction both sides preferred.
The tool didn't clock in. The schedule says you did.