root@construct:~/logs$

LOGS

2026-09-23//LOG

Cheaper Opus: where's the finding that changes the delivery?

I want review to find problems that change whether the work can be accepted. A huge list of suggestions can take more time than the implementation, especially when every comment introduces another pre...

2026-09-18//LOG

Already authorized. Why did the agent ask again?

Authorizing the same execution over and over is a workflow defect I want fixed. I delegate a task and still end up responsible for pressing continue. The tool needs to carry my decision forward and re...

2026-09-10//LOG

Buying an executor only pays if I can resume the work

I want to buy less session maintenance and get continuity I can understand. Keeping an agent alive does little for me if returning means reading its entire conversation to discover where the task stan...

2026-09-05//LOG

Fable's cache discount does not cover the whole bill

Fable 5.1's cache discount lowers the bill only on the share of consumption that is repeated reads. Taking the biggest percentage in the announcement and applying it to all consumption produces saving...

2026-08-27//LOG

Retries are dangerous when the API moves a machine

An integration with physical equipment needs to explain what happened before letting an agent try again. Repeating a read and repeating an action on a machine can have very different consequences. I w...

2026-08-23//LOG

Good caching cannot rescue useless context

A pretty cache hit rate can hide lazy work distribution. If every agent receives material it does not need, paying less for repeated reads improves the bill while preserving the mess. I want to see bo...

2026-08-11//LOG

Reusing a skill does not renew its authorization

A reusable skill that forgets an investigation's scope is incomplete. Knowing how to run a procedure helps little when its next invocation inherits vague permission. I want to reuse the capability wit...

2026-08-08//LOG

If the tool switched models, show the switch

I want to know which model answered before I praise it or complain about it. That seems basic, but a name in the selector can hide an execution that took another route. If I cannot see the switch, a c...

2026-07-28//LOG

The budget ran out. Where did the agent stop?

I want to give an agent more autonomy, as long as it works within a clear limit and, when it hits that limit, leaves me a task I can resume. That is work for whoever sets up the workflow: explaining w...

2026-06-09//LOG

Model handoffs need to be traceable

When a product changes the model executing a request, I want that switch to be visible when I need it. At the Fable 5 launch on June 9, 2026, Anthropic said sensitive requests would be routed to Opus ...

2026-05-28//LOG

Maximum effort can be a lazy choice

Leaving model effort at maximum for every task means avoiding a decision I still own. The Opus 4.8 announcement on May 28, 2026 put effort controls front and center. I like having the control. Draggin...

2026-05-21//LOG

Show me Gemini handling the empty screen

AI frontend work needs to function when the screen is empty, and that is where I want to start comparing Gemini. A good-looking interface full of content gets attention quickly. Remove the data and yo...

2026-04-17//LOG

Before blaming Opus, I will reread my prompt

Better instruction following can expose the mess in instructions I wrote myself. That is the Opus 4.7 detail I care about most: in its April 2026 announcement, Anthropic emphasized more literal instru...

2026-04-05//LOG

A small CLI beats an endless prompt

I prefer a clear CLI operation to a prompt trying to anticipate every move an agent makes. Reusing work should reduce how much I need to explain. When the solution requires memorizing a manual for eve...

2026-03-14//LOG

Claude Code as a Daily Driver: 4 Months In

Four months ago I switched to Claude Code as my primary development tool. I work in the terminal now, with Claude, without VS Code or JetBrains. After four months, I have a pretty good sense of where ...

2026-03-10//LOG

1M Token Context Windows Changed How I Architect

A few weeks with Claude's 1M token context window have changed how I work through software architecture decisions. Before: I would carefully select which files to share with the AI. "Here is the serv...

2026-02-22//LOG

React Server Components: Actually Good or Stockholm Syndrome?

I have been using React Server Components for a few months now. The blog runs on Next.js App Router. I have mixed feelings about it. The mental model shift was brutal. For years, React was a client-s...

2026-02-14//LOG

Building Sigil Protocol: Why AI Agents Need Identity

When AI agents talk to each other, how do you know who you are talking to? Right now the answer is API keys: Agent A calls Agent B's endpoint with a bearer token, and the whole identity comes down to...

2026-02-06//LOG

State Machines in Production: 16 States of Accounting

Topo Contábil has a bank reconciliation workflow. When I first mapped it out, I counted 16 distinct states, from "raw_import" all the way through "matched," "partially_matched," "disputed," "manually_...

2026-01-31//LOG

Prisma, TypeORM and Raw SQL: What I Use and Why

I have used all three in production. Prisma on Topo Contábil, a NestJS backend. TypeORM on two older services at a previous company. Raw SQL on performance-critical reporting queries. After years of u...

2026-01-24//LOG

Kotlin on Sunmi POS: Old Android, Thermal Printers and Three Payment SDKs

Writing Kotlin for Sunmi POS terminals is Android development with old APIs, a thermal printer and three payment SDKs. The Sunmi V2 Pro runs Android 7.1, from 2017. API 25 rules out newer platform AP...

2026-01-16//LOG

Building Payment Systems That Don't Lose Money

When I led payments for a restaurant POS platform, I built its payment processing infrastructure. When something goes wrong in payments, someone loses real money. These are the lessons I learned in pr...

2026-01-07//LOG

TypeScript Strict Mode Changed How I Think

I turned on strict mode in a legacy NestJS codebase last week. It reported a wall of errors. I stared at my terminal for a solid minute before closing the laptop and going to make coffee. A good part...

2025-12-20//LOG

Clean Architecture After 252 Use Cases

I've been practicing Clean Architecture for years. Topo Contábil has 252 use cases following the pattern strictly. Living with it at that scale has taught me things I hadn't picked up from Uncle Bob's...

2025-12-01//LOG

M4 Max: First Impressions After Real Work

I've had the M4 Max MacBook Pro for about two weeks now. I do not care about Geekbench scores. I wanted to see what changed in my work when the machine stopped being the bottleneck. First thing I did...

2025-11-30//LOG

Opus for hard reviews. The rest can cost less.

I want to pay for Opus where a review needs serious reasoning and send simple work to a cheaper model. That sounds obvious until you open a tool and leave the same model selected for everything. Anth...

2025-11-20//SYSTEM

Hello World // Introduction

I'm Kayo Souza, a Senior Software Engineer, Tech Lead and AI Engineer based in Brazil. I build systems that need to keep working under pressure. I'm Tech Lead of the nearshore team on Car...

The Broad Way | Kinho.dev