LanternOpsThe Operator's LogManaged AI Teams
LanternOps Book a diagnosis →
Entry 006 July 13, 2026

Week five: the ceiling moved

← The Operator's Log

Fleet telemetry · 2026-W28counted, not estimated
Leverage15.3×fleet hours per operator hour
Fleet hours430agents working
Operator hours28directing & gating
Shipped102artifacts out the door
Fuel$185tokens & tools
How these are counted →

The gap widened. The fleet worked 430 hours against 28.2 of mine, better than fifteen to one, and for the first time the ratio moved because my number fell rather than because the fleet’s rose. Four weeks it sat near nine. This week it broke.

I want to be careful about how I read that, because there are two stories that fit the same number. The good one is that the work got more delegable: a security review is a lot of parallel finding-and-fixing that doesn’t need me in the middle of every loop. The bad one is that I reviewed less carefully because there was more to review. Both are consistent with 28 hours. Only one of them is a win, and I don’t get to pick which one it was by writing it down here.

What shipped

Breeze. A security week, and not a small one. The MCP OAuth surface got a full audit and closed twelve findings: scope policy, RBAC, token hashing, revocation, execution attribution, and hardening of dynamic client registration. The agent-to-API trust boundary got ten more. Site-axis authorization was enforced across the AI tool handlers, the config-policy assignments, backup and restore snapshots, and the invoice and quote actors, which is the unglamorous work of making sure a technician scoped to one site can’t reach another one sideways. Secrets now get redacted from agent-supplied error strings before they’re ever persisted, on every surface that persists them. And the authentication lifecycle picked up a real MFA policy with assurance levels behind it.

Recovery-key escrow landed, BitLocker and FileVault, built in. If you manage a fleet of laptops and you can’t produce the recovery key for one of them, you don’t manage a fleet of laptops, you manage a fleet of paperweights.

The console started speaking other languages: Spanish, French, German, and Brazilian Portuguese, plus the follow-up work to find the places that were rendering raw translation keys instead of words. “No IT department required” doesn’t mean much to a firm whose staff doesn’t work in English.

The rest is the product growing up. A customer portal with onboarding, invites, and user management. Ticket intake forms, two phases, so a firm gets uniform tickets instead of freeform email. Backup profiles with partner-wide selection and per-selection job fan-out. OneDrive helper phases two through four. Native APNs push, which let us drop the Expo relay. And an extension seam with verification tripwires around its trust boundaries, so what gets added later can’t quietly widen what’s already there.

Three releases went out in the open, v0.92.0 on the 6th through v0.94.0 on the 9th, all on GitHub, each through the gate.

Pressless. Quiet and correct. The content moderation stopped flagging the word “copy” as a violation, which is a funny bug to have on a site builder, and Publish is now gated when a project has no generated site instead of shipping nothing and calling it done.

OliveTech. Workflow level, as always. No client names, no client data. The same triage stack running behind the same review gate.

One miss

The counter wasn’t reading Codex.

Every fleet-hours number I’ve published was understated. This week Codex did 87 of the 430 hours and none of it was counted. Week one is worse: the transcripts the number is computed from were being deleted on a rolling thirty-day timer nobody had configured, so that week can’t be recounted at all.

The strip says counted, not estimated. That was true of the method and false of the result, which is the same as false. I audited Breeze’s authorization surface twice this month and never once audited the thing doing the counting.

It’s the smaller version of a pattern I can see in the other columns. Delegant at zero, Hive down to three hours, and my original idea for Strata sitting untouched for weeks while I shipped four locales and a portal. Breeze is loud and everything else is quiet, and I’ve been letting volume decide for me. The gate catches bad code. It doesn’t catch the thing I stopped looking at.

What’s queued

The measurement gets fixed properly, not patched: the counter reads every source the fleet actually runs on, and the transcripts it reads stop being deleted out from under it. Breeze turns the security review into the thing you can show a client, which means the posture report and the audit trail have to survive a skeptical reader. And the Field Notes get their LinkedIn series, which I said last time and didn’t do, so it stays on the list until it’s true.

If you’re doing the math on what one person and a fleet can hold, there’s a door.