Agentic Experience: The Agent's Error Log is the Blueprint for Your CLI

I have a code agent—Claude Code—that interacts with Linear, my task management tool, about 800 times a month: listing tasks, creating issues, changing states, leaving comments. I reviewed 165 of its sessions and counted more than 500 errors and over 370 retries. None of these were caused by issues in Linear’s API. All were interface errors: the agent communicated with the command line, and the command line didn’t understand it. ...

May 22, 2026 · Fernando

Cloudflare's "Ask AI" created an API token with read access to my entire account

Last week, auditing my Cloudflare API tokens, I found one I never created: “Cloudflare Agent Token - 2026-04-28”, created by the dashboard’s AI assistant (“Ask AI”). Cloudflare’s tooltip says it exists so the AI can “understand your environment and take actions on your behalf.” Its actual grant, from the token’s own summary page: read access scoped to All accounts, All zones, and All users — more than 160 permissions. Every one is :Read: it cannot change anything. But “read-only” undersells it. The list includes Secrets Store:Read, Access: Keys:Read, Access: Service Tokens:Read, Zero Trust: PII:Read, Logs:Read, Account Audit Logs:Read, Billing:Read, API Tokens:Read, and every DNS, Access and identity-provider config you have. ...

May 21, 2026 · Fernando

Sentry Frontend Blocked by Brave: How to Fix it with a Tunnel

A student takes the psychometric test on KeepCoding using Brave and reports an error that never reaches Sentry. The support team checks the dashboard, finds nothing, and asks them to retake the test. Meanwhile, the smoke tests with Playwright against production show green results: the SDK loads, events are processed, and Sentry.flush() returns true. Everything seemed fine. Product decisions based on partial data are worse than those based on intuition, as they create a false sense of security. ...

May 18, 2026 · Fernando

Agentic Experience: 1,324 calls to my CLI, 15.9% error rate

My CLI’s most frequent user isn’t me lql is a Rust CLI for managing Linear issues. I wrote it because none of the existing alternatives worked for my actual use case: an AI agent that manages issues autonomously. Why I had to write my own CLI Linear’s MCP was the first attempt. The idea is elegant: an MCP server that exposes Linear’s API directly to the agent. In practice, it was slow, unstable, and the agent had to build GraphQL queries from scratch on every call. Each call was an opportunity to invent a field that doesn’t exist. I uninstalled it after two weeks. ...

April 29, 2026 · Fernando

The Two-Tier Pattern in Apple Silicon: Cheap Deterministic Code First, CoreML for the Heavy Lifting

In the last two posts (about perceptual hashes in the context of Chat Control and about their adversarial collisions), we explored how 40 lines of Python can solve a problem that the industry often deploys at a global scale. Perceptual hashes are the canonical example of a cheap deterministic layer: no models, no GPUs, no heavyweight dependencies. Hashes handle duplicate and similarity detection. But in a real-world image processing pipeline, there’s work that classical algorithms can’t do: detecting bounding boxes of arbitrary watermarks, filling gaps with inpainting that respects visual context, classifying whether a face is of an adult, or extracting semantic attributes. This work requires large neural networks. ...

April 18, 2026 · Fernando

The Adversarial Collisions that Broke Apple’s CSAM System (and Why They Matter Beyond Apple)

This post is a technical follow-up to “64 Bits Decide What You Can Upload to the Internet”. If you haven’t read that yet, I recommend starting there. Here, we assume you understand what a perceptual hash is and why PhotoDNA, PDQ, and NeuralHash are close cousins. On August 5, 2021, Apple announced NeuralHash. By August 18—just thirteen days later—a pseudonymous researcher named Asuhariet Ygvar published a complete reverse-engineering of the model, extracted from iOS binaries, on GitHub. Within days, two independent researchers—Brad Dwyer and others—published collisions: visually distinct images producing the exact same hash. The system that Apple had promised to deliver with a false positive rate of “one in a trillion accounts per year” was shown to be attackable using consumer-grade hardware. ...

April 18, 2026 · Fernando

64 Bits Decide What You Can Upload to the Internet: The Algorithm Behind Chat Control

In August 2021, Apple announced plans to scan every photo on your iPhone before uploading it to iCloud. By September of the same year—after two weeks of intense backlash—it withdrew the proposal. In December 2022, the initiative was officially declared dead. In the meantime, the European Commission proposed legislation in 2022 requiring platforms like WhatsApp, Signal, and Telegram to do exactly what Apple had backed away from. That proposal, known as Chat Control, is still being debated in the European Council. ...

April 18, 2026 · Fernando

Your CLI Has a New User—and It’s Not Human

You ask your AI copilot to capture a window. The copilot writes peek app "Xcode". The tool looks for a window owned by Xcode exactly. It doesn’t find one because the process is named Xcode-16.3. The tool responds with Error: application not found. The copilot, a large language model (LLM) with the memory span of a goldfish, then tries peek app "Xcode-16.3". This time it works—but it’s wasted a conversational turn, input tokens, output tokens, and the patience of the person paying the bill. ...

April 7, 2026 · Fernando

Apple's On-Device Model is Terrible for Chat But Surprisingly Good at Structured Output and Tool Calling

I’ve spent weeks stress-testing Apple’s on-device model — the ~3B parameter one that runs on the Neural Engine of any Apple Silicon Mac. To test it thoroughly, I built Think Local, a macOS app that exercises every capability of the model: chat, image generation, structured output, tool calling, and parameter comparison. My conclusion: As a chatbot, the model is terrible. As a structured output and tool calling engine, it’s surprisingly good. ...

April 7, 2026 · Fernando

Apple's sentiment analysis thinks 'delete the temp file' is a death threat

NLTagger is Apple’s API for sentiment analysis. It’s integrated into iOS and macOS, runs on-device, needs no server, and is three lines of code away. It’s the first thing you find when searching for “sentiment analysis Swift”. Here’s what it returns for text any developer would write on a normal day: Message NLTagger Reality “delete the temp file” -0.8 Neutral instruction “ok” -0.8 Neutral confirmation “run make test” -0.6 Neutral instruction “commit and push” -0.4 Neutral instruction “great job, thanks!” +1.0 Positive (correct) “this is fucking broken” -1.0 Negative (correct) The scale goes from -1.0 (very negative) to +1.0 (very positive). According to Apple, “delete the temp file” carries almost the same emotional weight as “this is fucking broken”. And “ok” – the most neutral response in the English language – scores -0.8. ...

April 5, 2026 · Fernando