<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://sks.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://sks.github.io/" rel="alternate" type="text/html" /><updated>2026-07-03T15:59:45+00:00</updated><id>https://sks.github.io/feed.xml</id><title type="html">Production Notes</title><subtitle>AI agents, Go, and production systems — by Sabith</subtitle><author><name>Sabith</name></author><entry><title type="html">Contributing Back While Building a Commercial Product</title><link href="https://sks.github.io/blog/open-source-ecosystem/" rel="alternate" type="text/html" title="Contributing Back While Building a Commercial Product" /><published>2026-07-01T17:00:00+00:00</published><updated>2026-07-01T17:00:00+00:00</updated><id>https://sks.github.io/blog/open-source-ecosystem</id><author><name>Sabith K S</name></author><category term="open-source" /><category term="community" /><category term="ai-agents" /><category term="go" /><category term="engineering" /><summary type="html"><![CDATA[We built a proprietary product. We also merged 17 PRs into the agent framework we depend on. Here's how to navigate that tension.]]></summary></entry><entry><title type="html">From CLI Agent to Multi-Tenant Platform — Building Aiden</title><link href="https://sks.github.io/blog/aiden-platform/" rel="alternate" type="text/html" title="From CLI Agent to Multi-Tenant Platform — Building Aiden" /><published>2026-06-30T17:00:00+00:00</published><updated>2026-06-30T17:00:00+00:00</updated><id>https://sks.github.io/blog/aiden-platform</id><author><name>Sabith K S</name></author><category term="platform" /><category term="multi-tenant" /><category term="architecture" /><category term="temporal" /><category term="ai-agents" /><summary type="html"><![CDATA[A CLI tool for one developer is fun. Making it work for 50 teams with different policies is engineering.]]></summary></entry><entry><title type="html">Terraform for Agent Configuration — Infrastructure as Code Meets AI Governance</title><link href="https://sks.github.io/blog/terraform-config/" rel="alternate" type="text/html" title="Terraform for Agent Configuration — Infrastructure as Code Meets AI Governance" /><published>2026-06-29T17:00:00+00:00</published><updated>2026-06-29T17:00:00+00:00</updated><id>https://sks.github.io/blog/terraform-config</id><author><name>Sabith K S</name></author><category term="terraform" /><category term="iac" /><category term="gitops" /><category term="ai-agents" /><category term="governance" /><summary type="html"><![CDATA[We use Terraform to configure our AI agents. Not YAML. Not a dashboard. Terraform. Here's why.]]></summary></entry><entry><title type="html">You Can’t Debug What You Can’t See — Observability for AI Agents</title><link href="https://sks.github.io/blog/observability/" rel="alternate" type="text/html" title="You Can’t Debug What You Can’t See — Observability for AI Agents" /><published>2026-06-28T17:00:00+00:00</published><updated>2026-06-28T17:00:00+00:00</updated><id>https://sks.github.io/blog/observability</id><author><name>Sabith K S</name></author><category term="observability" /><category term="ai-agents" /><category term="langfuse" /><category term="monitoring" /><category term="production" /><summary type="html"><![CDATA[Traditional APM can't tell you why your agent spent $4.72 asking the same question three times. Here's what agent observability actually requires.]]></summary></entry><entry><title type="html">Your Agent Has Root — Defense-in-Depth for AI Agents That Wield Real Tools</title><link href="https://sks.github.io/blog/defense-in-depth/" rel="alternate" type="text/html" title="Your Agent Has Root — Defense-in-Depth for AI Agents That Wield Real Tools" /><published>2026-06-27T17:00:00+00:00</published><updated>2026-06-27T17:00:00+00:00</updated><id>https://sks.github.io/blog/defense-in-depth</id><author><name>Sabith K S</name></author><category term="security" /><category term="ai-agents" /><category term="hitl" /><category term="governance" /><category term="production" /><summary type="html"><![CDATA[Your agent can run rm -rf /. Your prompt saying 'don't do that' is not security. Here's a 5-layer defense model.]]></summary></entry><entry><title type="html">The HITL Paradox — When Human Approval Makes Agents Worse</title><link href="https://sks.github.io/blog/hitl-paradox/" rel="alternate" type="text/html" title="The HITL Paradox — When Human Approval Makes Agents Worse" /><published>2026-06-26T17:00:00+00:00</published><updated>2026-06-26T17:00:00+00:00</updated><id>https://sks.github.io/blog/hitl-paradox</id><author><name>Sabith K S</name></author><category term="hitl" /><category term="ai-agents" /><category term="ux" /><category term="governance" /><category term="production" /><summary type="html"><![CDATA[Human-in-the-loop is supposed to make agents safer. It can also make them useless. Here's how to find the balance.]]></summary></entry><entry><title type="html">Teaching Agents to Learn Without Fine-Tuning</title><link href="https://sks.github.io/blog/skill-distillation/" rel="alternate" type="text/html" title="Teaching Agents to Learn Without Fine-Tuning" /><published>2026-06-25T17:00:00+00:00</published><updated>2026-06-25T17:00:00+00:00</updated><id>https://sks.github.io/blog/skill-distillation</id><author><name>Sabith K S</name></author><category term="ai-agents" /><category term="learning" /><category term="skills" /><category term="llm" /><category term="architecture" /><summary type="html"><![CDATA[Post-session skill distillation from agent traces — how we teach agents to write their own runbooks.]]></summary></entry><entry><title type="html">Pensieve — Memory Management for AI Agents That Actually Forget</title><link href="https://sks.github.io/blog/pensieve-memory/" rel="alternate" type="text/html" title="Pensieve — Memory Management for AI Agents That Actually Forget" /><published>2026-06-24T17:00:00+00:00</published><updated>2026-06-24T17:00:00+00:00</updated><id>https://sks.github.io/blog/pensieve-memory</id><author><name>Sabith K S</name></author><category term="ai-agents" /><category term="memory" /><category term="rag" /><category term="architecture" /><category term="go" /><summary type="html"><![CDATA[Your agent remembers everything. That's a bug, not a feature. Here's how we built a memory system that learns, forgets, and self-prunes.]]></summary></entry><entry><title type="html">Implementing ReAcTree — 6 Production Bugs the Paper Didn’t Warn You About</title><link href="https://sks.github.io/blog/reactree-bugs/" rel="alternate" type="text/html" title="Implementing ReAcTree — 6 Production Bugs the Paper Didn’t Warn You About" /><published>2026-06-23T17:00:00+00:00</published><updated>2026-06-23T17:00:00+00:00</updated><id>https://sks.github.io/blog/reactree-bugs</id><author><name>Sabith K S</name></author><category term="ai-agents" /><category term="reactree" /><category term="production" /><category term="bugs" /><category term="go" /><summary type="html"><![CDATA[What happens when you take an arXiv algorithm to production. We found 6 bugs that no paper mentions.]]></summary></entry><entry><title type="html">52 Packages in 4 Months — Architecture at Speed Without Drowning</title><link href="https://sks.github.io/blog/anatomy-of-a-platform/" rel="alternate" type="text/html" title="52 Packages in 4 Months — Architecture at Speed Without Drowning" /><published>2026-06-22T17:00:00+00:00</published><updated>2026-06-22T17:00:00+00:00</updated><id>https://sks.github.io/blog/anatomy-of-a-platform</id><author><name>Sabith K S</name></author><category term="go" /><category term="architecture" /><category term="ddd" /><category term="engineering" /><category term="ai-agents" /><summary type="html"><![CDATA[From Hello World to 76K lines of Go — the architecture patterns that made rapid development sustainable.]]></summary></entry><entry><title type="html">TOML Over YAML and PKL — How We Stopped Fighting Config and Started Shipping</title><link href="https://sks.github.io/blog/toml-over-yaml/" rel="alternate" type="text/html" title="TOML Over YAML and PKL — How We Stopped Fighting Config and Started Shipping" /><published>2026-06-21T17:00:00+00:00</published><updated>2026-06-21T17:00:00+00:00</updated><id>https://sks.github.io/blog/toml-over-yaml</id><author><name>Sabith K S</name></author><category term="config" /><category term="toml" /><category term="yaml" /><category term="devops" /><category term="ai-agents" /><summary type="html"><![CDATA[We tried YAML, considered PKL, and landed on TOML for agent configuration. The reason surprised us.]]></summary></entry><entry><title type="html">Why We Chose Go for Our AI Agent Platform (When Everyone Else Picked Python)</title><link href="https://sks.github.io/blog/why-go/" rel="alternate" type="text/html" title="Why We Chose Go for Our AI Agent Platform (When Everyone Else Picked Python)" /><published>2026-06-20T17:00:00+00:00</published><updated>2026-06-20T17:00:00+00:00</updated><id>https://sks.github.io/blog/why-go</id><author><name>Sabith K S</name></author><category term="go" /><category term="ai-agents" /><category term="architecture" /><category term="llm" /><summary type="html"><![CDATA[Every AI framework is in Python. We built ours in Go. Here's why we'd do it again — and when you shouldn't.]]></summary></entry></feed>