---
title: "FoundrySoft Blog"
description: "Engineering notes from senior practitioners on generative AI, retrieval systems, and the real work of shipping LLM-powered software to production."
image: "https://foundrysoft.co/api/og?type=page&title=FoundrySoft+Blog&st=Engineering+notes+from+senior+practitioners+on+generative+AI%2C+retrieval+systems%2C+and+the+real+work+of+shipping+LLM-powered+software+to+prod%E2%80%A6"
url: "https://foundrysoft.co/blog"
---

Field Notes, 127 Articles

# Notes from the foundry

Engineering essays on generative AI, retrieval systems, and what it takes to ship intelligent software to production.

[01 Insights // Development Why Trusting AI Generated Code Is the Wrong Goal 2026-08-05 →](https://foundrysoft.co/blog/developers-dont-trust-ai-generated-code) [02 AI Engineering Five AI Agents, One Bug: When Missing Data Looks Like a Clean Result 2026-08-05 →](https://foundrysoft.co/blog/five-ai-agents-one-bug-missing-data-clean-result) [03 Comparisons Best Open Weight LLMs for Agents in 2026 2026-08-04 →](https://foundrysoft.co/blog/best-open-weight-llms-agents-2026) [04 Tutorial // Infrastructure Self-Hosted LLM Observability: Tracing Agents in Production with Langfuse 2026-08-04 →](https://foundrysoft.co/blog/self-hosted-llm-observability-langfuse) [05 Tutorial // Agents We Open-Sourced the AI Agent We Use to Scope Work and Watch Retainers 2026-08-03 →](https://foundrysoft.co/blog/open-source-ai-agent-agency-sow-retainer) [06 Insights // Technology When Not to Build a Multi-Agent System 2026-08-03 →](https://foundrysoft.co/blog/when-not-to-build-multi-agent-system) [07 Tutorial // Security Slopsquatting: How AI Hallucinated Packages Become a Supply Chain Attack 2026-08-01 →](https://foundrysoft.co/blog/slopsquatting-ai-hallucinated-packages-supply-chain) [08 Tutorial // Security AI Agent Security After the First Sandbox Escape 2026-07-31 →](https://foundrysoft.co/blog/ai-agent-sandbox-escape-credential-hygiene) [09 Tutorial // MCP MCP Went Stateless: Migrating Your Server to the 2026-07-28 Spec 2026-07-31 →](https://foundrysoft.co/blog/mcp-stateless-spec-migration) [10 Tutorial // DevTools How to Use Stacked Pull Requests on GitHub 2026-07-31 →](https://foundrysoft.co/blog/stacked-pull-requests-github-guide) [11 Tutorial // Agents We Open-Sourced an AI Agent for Coverage Citations: And Broke It Twice 2026-07-30 →](https://foundrysoft.co/blog/open-source-ai-agent-insurance-coverage-citations) [12 Comparisons AI Agent Memory: Mem0 vs Zep vs Letta 2026-07-29 →](https://foundrysoft.co/blog/ai-agent-memory-mem0-vs-zep-vs-letta) [13 Insights // Development The AI Coding Tools Stack: Why Teams Run Cursor, Claude Code, and Copilot Together 2026-07-29 →](https://foundrysoft.co/blog/multi-tool-ai-coding-stack-cursor-claude-code-copilot) [14 Tutorial // Agents agent-for-accounting: An Open-Source AI Agent for Bank-to-Ledger Reconciliation 2026-07-28 →](https://foundrysoft.co/blog/open-source-ai-agent-bank-ledger-reconciliation) [15 AI Engineering AI Coding Agents in Large Codebases: Why Repository Intelligence Beats a Bigger Context Window 2026-07-27 →](https://foundrysoft.co/blog/ai-coding-agents-large-codebases-repository-intelligence) [16 Comparisons Claude Opus 5 vs Grok 4.5 vs Muse Spark 1.1: Which Agentic Model to Use in 2026 2026-07-26 →](https://foundrysoft.co/blog/claude-opus-5-vs-grok-4-5-vs-muse-spark-comparison) [17 AI Engineering Claude Opus 5 Batch API Tutorial: AI Contract Data Extraction at Scale, with Real Costs 2026-07-25 →](https://foundrysoft.co/blog/claude-opus-5-batch-api-contract-extraction) [18 AI Engineering Claude Opus 5 Effort Parameter Guide: How to Reduce Claude API Costs Without Switching Models 2026-07-25 →](https://foundrysoft.co/blog/claude-opus-5-effort-parameter-cost-routing) [19 AI Engineering How to Build a Long-Running AI Agent with the Claude Opus 5 API: An Overnight Build Log 2026-07-25 →](https://foundrysoft.co/blog/claude-opus-5-overnight-long-horizon-agent) [20 AI Engineering How to Handle Claude Opus 5 Refusals in Production: stop_reason, stop_details, and the Fallbacks Parameter 2026-07-25 →](https://foundrysoft.co/blog/claude-opus-5-refusal-fallbacks-production)

‹ Prev 1 [2](https://foundrysoft.co/blog/page/2) [3](https://foundrysoft.co/blog/page/3) [4](https://foundrysoft.co/blog/page/4) [5](https://foundrysoft.co/blog/page/5) [6](https://foundrysoft.co/blog/page/6) [7](https://foundrysoft.co/blog/page/7) [Next ›](https://foundrysoft.co/blog/page/2)

```json
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "FoundrySoft",
  "url": "https://foundrysoft.co",
  "logo": "https://foundrysoft.co/logo.svg",
  "description": "FoundrySoft builds production-grade software and AI systems for US companies, from an India-based team of senior engineers.",
  "sameAs": [
    "https://github.com/foundrysofthq",
    "https://www.linkedin.com/company/foundrysoft",
    "https://www.instagram.com/foundrysoft/"
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "FoundrySoft",
  "url": "https://foundrysoft.co"
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "Blog",
  "name": "FoundrySoft Blog",
  "url": "https://foundrysoft.co/blog",
  "blogPost": [
    {
      "@type": "BlogPosting",
      "headline": "Why Trusting AI Generated Code Is the Wrong Goal",
      "url": "https://foundrysoft.co/blog/developers-dont-trust-ai-generated-code",
      "datePublished": "2026-08-05"
    },
    {
      "@type": "BlogPosting",
      "headline": "Five AI Agents, One Bug: When Missing Data Looks Like a Clean Result",
      "url": "https://foundrysoft.co/blog/five-ai-agents-one-bug-missing-data-clean-result",
      "datePublished": "2026-08-05"
    },
    {
      "@type": "BlogPosting",
      "headline": "Best Open Weight LLMs for Agents in 2026",
      "url": "https://foundrysoft.co/blog/best-open-weight-llms-agents-2026",
      "datePublished": "2026-08-04"
    },
    {
      "@type": "BlogPosting",
      "headline": "Self-Hosted LLM Observability: Tracing Agents in Production with Langfuse",
      "url": "https://foundrysoft.co/blog/self-hosted-llm-observability-langfuse",
      "datePublished": "2026-08-04"
    },
    {
      "@type": "BlogPosting",
      "headline": "We Open-Sourced the AI Agent We Use to Scope Work and Watch Retainers",
      "url": "https://foundrysoft.co/blog/open-source-ai-agent-agency-sow-retainer",
      "datePublished": "2026-08-03"
    },
    {
      "@type": "BlogPosting",
      "headline": "When Not to Build a Multi-Agent System",
      "url": "https://foundrysoft.co/blog/when-not-to-build-multi-agent-system",
      "datePublished": "2026-08-03"
    },
    {
      "@type": "BlogPosting",
      "headline": "Slopsquatting: How AI Hallucinated Packages Become a Supply Chain Attack",
      "url": "https://foundrysoft.co/blog/slopsquatting-ai-hallucinated-packages-supply-chain",
      "datePublished": "2026-08-01"
    },
    {
      "@type": "BlogPosting",
      "headline": "AI Agent Security After the First Sandbox Escape",
      "url": "https://foundrysoft.co/blog/ai-agent-sandbox-escape-credential-hygiene",
      "datePublished": "2026-07-31"
    },
    {
      "@type": "BlogPosting",
      "headline": "MCP Went Stateless: Migrating Your Server to the 2026-07-28 Spec",
      "url": "https://foundrysoft.co/blog/mcp-stateless-spec-migration",
      "datePublished": "2026-07-31"
    },
    {
      "@type": "BlogPosting",
      "headline": "How to Use Stacked Pull Requests on GitHub",
      "url": "https://foundrysoft.co/blog/stacked-pull-requests-github-guide",
      "datePublished": "2026-07-31"
    },
    {
      "@type": "BlogPosting",
      "headline": "We Open-Sourced an AI Agent for Coverage Citations: And Broke It Twice",
      "url": "https://foundrysoft.co/blog/open-source-ai-agent-insurance-coverage-citations",
      "datePublished": "2026-07-30"
    },
    {
      "@type": "BlogPosting",
      "headline": "AI Agent Memory: Mem0 vs Zep vs Letta",
      "url": "https://foundrysoft.co/blog/ai-agent-memory-mem0-vs-zep-vs-letta",
      "datePublished": "2026-07-29"
    },
    {
      "@type": "BlogPosting",
      "headline": "The AI Coding Tools Stack: Why Teams Run Cursor, Claude Code, and Copilot Together",
      "url": "https://foundrysoft.co/blog/multi-tool-ai-coding-stack-cursor-claude-code-copilot",
      "datePublished": "2026-07-29"
    },
    {
      "@type": "BlogPosting",
      "headline": "agent-for-accounting: An Open-Source AI Agent for Bank-to-Ledger Reconciliation",
      "url": "https://foundrysoft.co/blog/open-source-ai-agent-bank-ledger-reconciliation",
      "datePublished": "2026-07-28"
    },
    {
      "@type": "BlogPosting",
      "headline": "AI Coding Agents in Large Codebases: Why Repository Intelligence Beats a Bigger Context Window",
      "url": "https://foundrysoft.co/blog/ai-coding-agents-large-codebases-repository-intelligence",
      "datePublished": "2026-07-27"
    },
    {
      "@type": "BlogPosting",
      "headline": "Claude Opus 5 vs Grok 4.5 vs Muse Spark 1.1: Which Agentic Model to Use in 2026",
      "url": "https://foundrysoft.co/blog/claude-opus-5-vs-grok-4-5-vs-muse-spark-comparison",
      "datePublished": "2026-07-26"
    },
    {
      "@type": "BlogPosting",
      "headline": "Claude Opus 5 Batch API Tutorial: AI Contract Data Extraction at Scale, with Real Costs",
      "url": "https://foundrysoft.co/blog/claude-opus-5-batch-api-contract-extraction",
      "datePublished": "2026-07-25"
    },
    {
      "@type": "BlogPosting",
      "headline": "Claude Opus 5 Effort Parameter Guide: How to Reduce Claude API Costs Without Switching Models",
      "url": "https://foundrysoft.co/blog/claude-opus-5-effort-parameter-cost-routing",
      "datePublished": "2026-07-25"
    },
    {
      "@type": "BlogPosting",
      "headline": "How to Build a Long-Running AI Agent with the Claude Opus 5 API: An Overnight Build Log",
      "url": "https://foundrysoft.co/blog/claude-opus-5-overnight-long-horizon-agent",
      "datePublished": "2026-07-25"
    },
    {
      "@type": "BlogPosting",
      "headline": "How to Handle Claude Opus 5 Refusals in Production: stop_reason, stop_details, and the Fallbacks Parameter",
      "url": "https://foundrysoft.co/blog/claude-opus-5-refusal-fallbacks-production",
      "datePublished": "2026-07-25"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://foundrysoft.co/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://foundrysoft.co/blog"
    }
  ]
}
```
