<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://aalmada.github.io/</id><title>Antão Almada's Blog</title><subtitle>The official blog of Antão Almada. A blog about software development and technology.</subtitle> <updated>2026-06-11T22:02:01+01:00</updated> <author> <name>Antão Almada</name> <uri>https://aalmada.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://aalmada.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://aalmada.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Antão Almada </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Copilot Is an Ecosystem, Not a Feature</title><link href="https://aalmada.github.io/posts/Copilot-is-a-Ecosystem/" rel="alternate" type="text/html" title="Copilot Is an Ecosystem, Not a Feature" /><published>2026-06-10T00:00:00+01:00</published> <updated>2026-06-10T23:20:46+01:00</updated> <id>https://aalmada.github.io/posts/Copilot-is-a-Ecosystem/</id> <content type="text/html" src="https://aalmada.github.io/posts/Copilot-is-a-Ecosystem/" /> <author> <name>Antão Almada</name> </author> <category term="ai" /> <summary>For a long time, “using GitHub Copilot” meant typing a prompt in VS Code. That was the Copilot we knew: the one embedded in the editor, the one that completed code, the one that felt like a natural extension of the IDE. But that Copilot is only one of several. GitHub Copilot appears in multiple places, with different capabilities, different interaction models, and different agents behind them, ...</summary> </entry> <entry><title>Agent Governance: The Control Plane for Coding Agents</title><link href="https://aalmada.github.io/posts/Agent-Governance/" rel="alternate" type="text/html" title="Agent Governance: The Control Plane for Coding Agents" /><published>2026-06-08T00:00:00+01:00</published> <updated>2026-06-08T00:00:00+01:00</updated> <id>https://aalmada.github.io/posts/Agent-Governance/</id> <content type="text/html" src="https://aalmada.github.io/posts/Agent-Governance/" /> <author> <name>Antão Almada</name> </author> <category term="ai" /> <summary>Coding agents have reached a point where they can perform meaningful, multi‑step work across an entire codebase. They can refactor dozens of files, rewrite architectural boundaries, introduce or remove dependencies, modify infrastructure code, run shell commands, and apply patches at scale. Once an agent can do all of that, we no longer have a convenience feature. We have automation with conseq...</summary> </entry> <entry><title>Hybrid Workflows: Where Deterministic Code Meets Reasoning, and Why the Copilot SDK Matters</title><link href="https://aalmada.github.io/posts/Hybrid-workflows/" rel="alternate" type="text/html" title="Hybrid Workflows: Where Deterministic Code Meets Reasoning, and Why the Copilot SDK Matters" /><published>2026-06-07T00:00:00+01:00</published> <updated>2026-06-08T22:49:33+01:00</updated> <id>https://aalmada.github.io/posts/Hybrid-workflows/</id> <content type="text/html" src="https://aalmada.github.io/posts/Hybrid-workflows/" /> <author> <name>Antão Almada</name> </author> <category term="ai" /> <summary>Deterministic vs Non-Deterministic Work GenAI is extraordinary at handling non‑deterministic workflows: the kind of work where ambiguity exists, where interpretation matters, and where the “right” answer depends on context rather than rigid rules. These are the domains where reasoning models shine: summarizing, rewriting, classifying, interpreting, and making sense of messy human inputs. But ...</summary> </entry> <entry><title>Observability for Coding Agents: From Black Boxes to Measurable Systems</title><link href="https://aalmada.github.io/posts/Observability-for-coding-agents/" rel="alternate" type="text/html" title="Observability for Coding Agents: From Black Boxes to Measurable Systems" /><published>2026-06-06T00:00:00+01:00</published> <updated>2026-06-08T22:49:33+01:00</updated> <id>https://aalmada.github.io/posts/Observability-for-coding-agents/</id> <content type="text/html" src="https://aalmada.github.io/posts/Observability-for-coding-agents/" /> <author> <name>Antão Almada</name> </author> <category term="ai" /> <summary>Coding agents were fun when they felt like magic. You typed a request, something happened behind the curtain, and results appeared. Then usage‑based billing became the norm. The curtain stopped being charming and started being expensive. In my previous post, Reducing Token Usage in Code Agents, I focused on shrinking prompts, improving caching, and using semantic context to avoid unnecessary mo...</summary> </entry> <entry><title>From Grep to Graph: Why Coding Agents Need LSP and GitNexus to Understand Your Codebase</title><link href="https://aalmada.github.io/posts/From-Grep-to-Graph/" rel="alternate" type="text/html" title="From Grep to Graph: Why Coding Agents Need LSP and GitNexus to Understand Your Codebase" /><published>2026-06-06T00:00:00+01:00</published> <updated>2026-06-08T22:49:33+01:00</updated> <id>https://aalmada.github.io/posts/From-Grep-to-Graph/</id> <content type="text/html" src="https://aalmada.github.io/posts/From-Grep-to-Graph/" /> <author> <name>Antão Almada</name> </author> <category term="ai" /> <summary>We have spent the last few months watching coding agents evolve from clever autocomplete to something closer to a real engineering component. We now package them, version them, sign them, distribute them, and monitor them. We treat them as artifacts with lifecycles, not prompts floating in the void. But there is still a missing layer in this stack: the layer that determines whether an agent tru...</summary> </entry> </feed>
