{
  "object": "list",
  "resource": "blog_post",
  "count": 49,
  "data": [
    {
      "object": "blog_post",
      "id": "2026-08-07-cheapest-llm-cost-per-token",
      "title": "Why the Cheapest LLM Can Cost You the Most",
      "description": "A lower cost per token does not mean a lower bill. Here is how a cheaper model runs up more spend through retries, verbose output, and reasoning tokens, and how to compare LLM cost by the finished task instead of the token.",
      "url": "https://tokenjam.dev/blog/2026-08-07-cheapest-llm-cost-per-token",
      "markdown_url": "https://tokenjam.dev/blog/2026-08-07-cheapest-llm-cost-per-token.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-08-07-cheapest-llm-cost-per-token.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-08-07",
      "updated_at": null,
      "tags": [
        "llm-cost",
        "cheaper-models",
        "token-cost",
        "finops-for-ai"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 6,
      "cover_image_url": "https://tokenjam.dev/blog/images/cheapest-llm-cost-per-token/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-08-05-ai-budget-overruns-forecasting-agent-spend",
      "title": "AI Budget Overruns: Why Agentic Spend Is So Hard to Forecast",
      "description": "Most agentic AI projects overshoot their budget. Here is why agent spend resists forecasting, and what honest AI cost forecasting looks like when the agent decides how many tokens to use.",
      "url": "https://tokenjam.dev/blog/2026-08-05-ai-budget-overruns-forecasting-agent-spend",
      "markdown_url": "https://tokenjam.dev/blog/2026-08-05-ai-budget-overruns-forecasting-agent-spend.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-08-05-ai-budget-overruns-forecasting-agent-spend.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-08-05",
      "updated_at": null,
      "tags": [
        "ai-budget",
        "cost-forecasting",
        "finops-for-ai",
        "agent-cost"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 6,
      "cover_image_url": "https://tokenjam.dev/blog/images/ai-budget-overruns/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-08-03-measuring-agent-roi-token-spend-business-outcomes",
      "title": "Measuring AI Agent ROI: You Need the Cost Side First",
      "description": "ROI is value over cost, and most teams can only guess the cost. Here is why agent ROI is hard to prove, and what connecting token spend to business outcomes actually requires.",
      "url": "https://tokenjam.dev/blog/2026-08-03-measuring-agent-roi-token-spend-business-outcomes",
      "markdown_url": "https://tokenjam.dev/blog/2026-08-03-measuring-agent-roi-token-spend-business-outcomes.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-08-03-measuring-agent-roi-token-spend-business-outcomes.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-08-03",
      "updated_at": null,
      "tags": [
        "ai-roi",
        "measuring-ai-value",
        "finops-for-ai",
        "cost-attribution"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 5,
      "cover_image_url": "https://tokenjam.dev/blog/images/measuring-agent-roi/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-31-why-ai-bills-rise-as-token-prices-fall",
      "title": "Why AI Bills Keep Rising While Token Prices Fall",
      "description": "Token prices drop about 10x a year, yet AI spending is forecast to hit $2.59 trillion in 2026. This is the Jevons paradox for AI, and the fix is measuring your own consumption.",
      "url": "https://tokenjam.dev/blog/2026-07-31-why-ai-bills-rise-as-token-prices-fall",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-31-why-ai-bills-rise-as-token-prices-fall.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-31-why-ai-bills-rise-as-token-prices-fall.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-07-31",
      "updated_at": null,
      "tags": [
        "ai-spend",
        "token-cost",
        "finops-for-ai"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 5,
      "cover_image_url": "https://tokenjam.dev/blog/images/why-ai-bills-rise-as-token-prices-fall/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-29-ai-pricing-models-outcome-based-token-cost",
      "title": "AI Pricing Models: Why Token Cost Breaks Usage-Based and Subscription SaaS",
      "description": "When the unit of work is a metered token with a variable, often invisible cost, flat subscriptions and usage tiers stop mapping to value. The case for outcome-based pricing, and why it needs token-cost measurement first.",
      "url": "https://tokenjam.dev/blog/2026-07-29-ai-pricing-models-outcome-based-token-cost",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-29-ai-pricing-models-outcome-based-token-cost.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-29-ai-pricing-models-outcome-based-token-cost.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-07-29",
      "updated_at": null,
      "tags": [
        "ai-pricing",
        "outcome-based-pricing",
        "usage-based-pricing",
        "token-cost",
        "finops"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 11,
      "cover_image_url": "https://tokenjam.dev/blog/images/ai-pricing-models-outcome-based-token-cost/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-15-downsize-run-cheap-work-on-cheap-models",
      "title": "Model Downsizing: How to Run Cheap Agent Work on Cheap Models",
      "description": "Model downsizing runs mechanical agent turns on a cheaper model. How to spot downsizing candidates in your own usage and cut agent cost without guessing.",
      "url": "https://tokenjam.dev/blog/2026-07-15-downsize-run-cheap-work-on-cheap-models",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-15-downsize-run-cheap-work-on-cheap-models.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-15-downsize-run-cheap-work-on-cheap-models.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-07-15",
      "updated_at": null,
      "tags": [
        "downsize",
        "model-routing",
        "cost",
        "optimization"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 9,
      "cover_image_url": "https://tokenjam.dev/blog/images/analyzer-series/downsize/header-16x9.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-13-prompt-caching-read-vs-write-cost",
      "title": "Prompt Caching Read vs Write: When Caching Costs More Than It Saves",
      "description": "A cache read is cheap, a cache write costs a premium. The break-even math, the net-negative case, and the write:read ratio that tells you which one you're in.",
      "url": "https://tokenjam.dev/blog/2026-07-13-prompt-caching-read-vs-write-cost",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-13-prompt-caching-read-vs-write-cost.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-13-prompt-caching-read-vs-write-cost.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-07-13",
      "updated_at": null,
      "tags": [
        "prompt-caching",
        "cost",
        "tokens",
        "optimization"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 9,
      "cover_image_url": "https://tokenjam.dev/blog/images/prompt-caching-read-vs-write-cost/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-10-evals-vs-benchmarks-vs-certification",
      "title": "Evals vs Benchmarks vs Certification: What Each One Actually Proves",
      "description": "A mechanism-level explainer of what an eval, a benchmark, and per-decision certification each prove about an AI agent or a model change, why an aggregate pass rate is not per-decision safety, and where the hard, largely-unsolved part still lives.",
      "url": "https://tokenjam.dev/blog/2026-07-10-evals-vs-benchmarks-vs-certification",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-10-evals-vs-benchmarks-vs-certification.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-10-evals-vs-benchmarks-vs-certification.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-07-10",
      "updated_at": null,
      "tags": [
        "evals",
        "benchmarks",
        "testing",
        "agents"
      ],
      "pillar": "evaluation",
      "reading_time_minutes": 11,
      "cover_image_url": "https://tokenjam.dev/blog/2026-07-10-evals-vs-benchmarks-vs-certification.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-10-some-agent-tasks-dont-need-an-agent",
      "title": "Some of Your Agent's Tasks Don't Need an Agent",
      "description": "Parts of your agent run the same deterministic tool-call sequence on every run, and you pay model tokens each time to reproduce what a plain script would do for free.",
      "url": "https://tokenjam.dev/blog/2026-07-10-some-agent-tasks-dont-need-an-agent",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-10-some-agent-tasks-dont-need-an-agent.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-10-some-agent-tasks-dont-need-an-agent.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-10",
      "updated_at": null,
      "tags": [
        "sdk",
        "agents",
        "cost",
        "optimization"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 8,
      "cover_image_url": "https://tokenjam.dev/blog/images/some-agent-tasks-dont-need-an-agent/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-10-stop-re-planning-work-youve-solved",
      "title": "Stop Paying to Re-Plan Work Your Agent Already Solved",
      "description": "Agents re-derive the same plan skeleton on every run. TokenJam clusters your runs by plan shape, isolates the planning tokens, and exports the repeated plans as templates you can feed back in.",
      "url": "https://tokenjam.dev/blog/2026-07-10-stop-re-planning-work-youve-solved",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-10-stop-re-planning-work-youve-solved.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-10-stop-re-planning-work-youve-solved.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-10",
      "updated_at": null,
      "tags": [
        "sdk",
        "agents",
        "cost",
        "optimization"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 7,
      "cover_image_url": "https://tokenjam.dev/blog/images/stop-re-planning-work-youve-solved/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-09-downsize-agent-model-spend",
      "title": "Stop Paying Frontier-Model Prices for Work a Cheaper Model Handles",
      "description": "Find the agent calls where a cheaper model would likely hold, priced in dollars against your own trace history, so you stop paying frontier rates for mechanical work.",
      "url": "https://tokenjam.dev/blog/2026-07-09-downsize-agent-model-spend",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-09-downsize-agent-model-spend.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-09-downsize-agent-model-spend.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-09",
      "updated_at": null,
      "tags": [
        "sdk",
        "cost",
        "model-selection",
        "optimization"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 8,
      "cover_image_url": "https://tokenjam.dev/blog/images/downsize-agent-model-spend/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-09-instrument-your-ai-agent-with-tokenjam-sdk",
      "title": "Instrument Your AI Agent, Then Find Where the Money Goes",
      "description": "Patch your provider client in one line so the TokenJam SDK captures every LLM call to a local, on-disk trace, then run local analyzers that turn those traces into priced savings across your self-built agent.",
      "url": "https://tokenjam.dev/blog/2026-07-09-instrument-your-ai-agent-with-tokenjam-sdk",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-09-instrument-your-ai-agent-with-tokenjam-sdk.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-09-instrument-your-ai-agent-with-tokenjam-sdk.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-09",
      "updated_at": null,
      "tags": [
        "sdk",
        "observability",
        "cost",
        "agents"
      ],
      "pillar": "observability",
      "reading_time_minutes": 7,
      "cover_image_url": "https://tokenjam.dev/blog/images/instrument-your-ai-agent-with-tokenjam-sdk/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-08-claude-md-best-practices",
      "title": "CLAUDE.md Best Practices: What a Good One Actually Looks Like",
      "description": "A good CLAUDE.md gives Claude Code the architecture, the critical rules, and the worktree discipline it needs to work in a multi-agent repo. Here's the anatomy, with real examples.",
      "url": "https://tokenjam.dev/blog/2026-07-08-claude-md-best-practices",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-08-claude-md-best-practices.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-08-claude-md-best-practices.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-07-08",
      "updated_at": null,
      "tags": [
        "claude-code",
        "agents",
        "multi-agent",
        "prompt-engineering"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 11,
      "cover_image_url": "https://tokenjam.dev/blog/claude-md-best-practices-hero.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-08-did-that-session-need-opus",
      "title": "Did That Session Even Need Opus?",
      "description": "Many Opus sessions are Sonnet-shaped. Here is how to spot Opus quota you could reclaim, and why any such call is a candidate to review, never a guaranteed-safe downgrade.",
      "url": "https://tokenjam.dev/blog/2026-07-08-did-that-session-need-opus",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-08-did-that-session-need-opus.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-08-did-that-session-need-opus.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-08",
      "updated_at": null,
      "tags": [
        "claude-code",
        "opus",
        "model-selection",
        "quota"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 8,
      "cover_image_url": "https://tokenjam.dev/blog/covers/2026-07-08-did-that-session-need-opus.png"
    },
    {
      "object": "blog_post",
      "id": "2026-07-08-from-tokenmaxxing-to-tokenminimizing",
      "title": "From Tokenmaxxing to Tokenminimizing",
      "description": "The culture is shifting from throwing tokens at every problem to seeing and cutting the waste, and for Claude Code subscribers that changes what a quota tool is even for.",
      "url": "https://tokenjam.dev/blog/2026-07-08-from-tokenmaxxing-to-tokenminimizing",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-08-from-tokenmaxxing-to-tokenminimizing.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-08-from-tokenmaxxing-to-tokenminimizing.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-08",
      "updated_at": null,
      "tags": [
        "tokenmaxxing",
        "claude-code",
        "quota",
        "thesis"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 9,
      "cover_image_url": "https://tokenjam.dev/blog/covers/2026-07-08-from-tokenmaxxing-to-tokenminimizing.png"
    },
    {
      "object": "blog_post",
      "id": "2026-07-07-half-your-system-prompt-isnt-working",
      "title": "Half Your System Prompt Isn't Doing Any Work",
      "description": "System prompts quietly accumulate dead-weight tokens you re-pay on every call, and TokenJam's Trim lever scores which tokens carry little significance so you can see what to cut.",
      "url": "https://tokenjam.dev/blog/2026-07-07-half-your-system-prompt-isnt-working",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-07-half-your-system-prompt-isnt-working.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-07-half-your-system-prompt-isnt-working.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-07",
      "updated_at": null,
      "tags": [
        "sdk",
        "prompt-engineering",
        "cost",
        "optimization"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 8,
      "cover_image_url": "https://tokenjam.dev/blog/images/half-your-system-prompt-isnt-working/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-07-prompt-caching-discount-youre-not-using",
      "title": "The Prompt-Caching Discount Most Agents Leave on the Table",
      "description": "Prompt caching gives roughly 30-60% off the repeated prefix tokens your agent re-sends every call, and TokenJam measures your current cache usage and recommends where to place cache_control.",
      "url": "https://tokenjam.dev/blog/2026-07-07-prompt-caching-discount-youre-not-using",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-07-prompt-caching-discount-youre-not-using.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-07-prompt-caching-discount-youre-not-using.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-07",
      "updated_at": null,
      "tags": [
        "sdk",
        "prompt-caching",
        "cost",
        "optimization"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 8,
      "cover_image_url": "https://tokenjam.dev/blog/images/prompt-caching-discount-youre-not-using/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-06-model-autorouting-savings-proof-step",
      "title": "Why Model Autorouting Savings Need a Proof Step",
      "description": "Model autorouting to a cheaper, smaller, or open-source model shows a big savings number before any work is redone. That figure is a prediction of your AI spend, not a result. Here's why LLM cost savings from an autorouted swap stay a hypothesis until you replay it on your own tasks and measure whether quality holds or regresses.",
      "url": "https://tokenjam.dev/blog/2026-07-06-model-autorouting-savings-proof-step",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-06-model-autorouting-savings-proof-step.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-06-model-autorouting-savings-proof-step.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-07-06",
      "updated_at": null,
      "tags": [
        "cost",
        "agents",
        "models",
        "evaluation",
        "optimization"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 9,
      "cover_image_url": "https://tokenjam.dev/blog/2026-07-06-model-autorouting-savings-proof-step.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-05-what-actually-costs-money-in-an-agent-loop",
      "title": "What Actually Costs Money in an Agent Loop",
      "description": "A mechanism-level breakdown of where tokens get spent every turn an agent runs: input, output, cache reads vs cache writes, context bloat, tool overhead, fan-out, and retries.",
      "url": "https://tokenjam.dev/blog/2026-07-05-what-actually-costs-money-in-an-agent-loop",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-05-what-actually-costs-money-in-an-agent-loop.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-05-what-actually-costs-money-in-an-agent-loop.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-07-05",
      "updated_at": null,
      "tags": [
        "cost",
        "tokens",
        "agents",
        "optimization"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 10,
      "cover_image_url": "https://tokenjam.dev/blog/what-actually-costs-money-in-an-agent-loop.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-04-claude-code-5-hour-window-vanishes",
      "title": "Why Your Claude Code 5-Hour Window Vanishes in Minutes",
      "description": "The real causes of premature Claude Code rate-limit exhaustion (invisible burn rate, per-turn context re-reads, subagent fan-out) and how to diagnose them locally.",
      "url": "https://tokenjam.dev/blog/2026-07-04-claude-code-5-hour-window-vanishes",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-04-claude-code-5-hour-window-vanishes.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-04-claude-code-5-hour-window-vanishes.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-04",
      "updated_at": null,
      "tags": [
        "claude-code",
        "quota",
        "rate-limits",
        "optimization"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 8,
      "cover_image_url": "https://tokenjam.dev/blog/images/claude-code-5-hour-window-vanishes/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-04-subagent-token-counts-are-wrong",
      "title": "Why Subagent Token Counts Are Wrong (and How to Fix Them)",
      "description": "Popular usage tools miscount subagent tokens by replaying the parent thread for each one, and here is how to reconstruct accurate per-subagent attribution from the raw JSONL.",
      "url": "https://tokenjam.dev/blog/2026-07-04-subagent-token-counts-are-wrong",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-04-subagent-token-counts-are-wrong.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-04-subagent-token-counts-are-wrong.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-04",
      "updated_at": null,
      "tags": [
        "claude-code",
        "subagents",
        "observability",
        "tokens"
      ],
      "pillar": "comparison",
      "reading_time_minutes": 8,
      "cover_image_url": "https://tokenjam.dev/blog/images/subagent-token-counts-are-wrong/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-03-quota-not-cost-claude-max",
      "title": "Quota, Not Cost: Why /cost Is the Wrong Number on Claude Max",
      "description": "Claude Pro and Max subscribers should track quota, their usage against the plan window, not dollar cost, and /cost misleads them because it prices tokens against an API rate card they never pay.",
      "url": "https://tokenjam.dev/blog/2026-07-03-quota-not-cost-claude-max",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-03-quota-not-cost-claude-max.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-03-quota-not-cost-claude-max.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-03",
      "updated_at": null,
      "tags": [
        "claude-code",
        "quota",
        "cost",
        "subscriptions"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 8,
      "cover_image_url": "https://tokenjam.dev/blog/images/quota-not-cost-claude-max/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-07-03-where-your-claude-code-quota-goes",
      "title": "Where Does Your Claude Code Quota Actually Go?",
      "description": "TokenJam is a local-first tool that reads your on-disk Claude Code transcripts and shows where a Pro or Max subscription's quota is spent per turn: re-reading context versus doing real work.",
      "url": "https://tokenjam.dev/blog/2026-07-03-where-your-claude-code-quota-goes",
      "markdown_url": "https://tokenjam.dev/blog/2026-07-03-where-your-claude-code-quota-goes.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-07-03-where-your-claude-code-quota-goes.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-07-03",
      "updated_at": null,
      "tags": [
        "claude-code",
        "quota",
        "cost",
        "optimization"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 9,
      "cover_image_url": "https://tokenjam.dev/blog/images/where-your-claude-code-quota-goes/header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-06-30-tokenjam-bench-launch",
      "title": "Introducing TokenJam Bench: Benchmarks & Evaluations for Agents and LLMs",
      "description": "TokenJam Bench is an open-source tool to benchmark and evaluate LLMs and agents. Run a candidate model against an original on real, executable task suites and get a measured pass-rate, confidence intervals, and a holds-or-regressed verdict. Local, no signup.",
      "url": "https://tokenjam.dev/blog/2026-06-30-tokenjam-bench-launch",
      "markdown_url": "https://tokenjam.dev/blog/2026-06-30-tokenjam-bench-launch.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-06-30-tokenjam-bench-launch.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-06-30",
      "updated_at": null,
      "tags": [
        "benchmarks",
        "evaluation",
        "llms",
        "agents",
        "cost",
        "launch"
      ],
      "pillar": "evaluation",
      "reading_time_minutes": 7,
      "cover_image_url": "https://tokenjam.dev/blog/images/bench-dashboard.png"
    },
    {
      "object": "blog_post",
      "id": "2026-06-20-github-actions-growth-archive",
      "title": "How to leverage GitHub Actions to showcase growth of your open-source-first product",
      "description": "GitHub's Traffic API forgets your clones and views after 14 days. A 50-line GitHub Action archives them to your repo so you keep the longitudinal growth record you'll need later.",
      "url": "https://tokenjam.dev/blog/2026-06-20-github-actions-growth-archive",
      "markdown_url": "https://tokenjam.dev/blog/2026-06-20-github-actions-growth-archive.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-06-20-github-actions-growth-archive.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-06-20",
      "updated_at": null,
      "tags": [
        "github-actions",
        "open-source",
        "growth"
      ],
      "pillar": "infrastructure",
      "reading_time_minutes": 13,
      "cover_image_url": "https://tokenjam.dev/blog/images/github-growth/header.png"
    },
    {
      "object": "blog_post",
      "id": "2026-06-17-what-is-ai-model-autorouting",
      "title": "What is AI model autorouting?",
      "description": "AI model autorouting picks a different model per request to cut cost without losing quality. How it works, what the research shows, and why measurement comes first.",
      "url": "https://tokenjam.dev/blog/2026-06-17-what-is-ai-model-autorouting",
      "markdown_url": "https://tokenjam.dev/blog/2026-06-17-what-is-ai-model-autorouting.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-06-17-what-is-ai-model-autorouting.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-06-17",
      "updated_at": null,
      "tags": [
        "routing",
        "cost-optimization",
        "agents"
      ],
      "pillar": "gateways",
      "reading_time_minutes": 12,
      "cover_image_url": "https://tokenjam.dev/blog/model-autorouting.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-06-15-the-problem-with-tokenmaxxing",
      "title": "The problem with TokenMaxxing",
      "description": "TokenMaxxing is fun because someone else pays for it. Here's why the subsidy is ending, what Fable 5 just signaled, and how to find your own multiple.",
      "url": "https://tokenjam.dev/blog/2026-06-15-the-problem-with-tokenmaxxing",
      "markdown_url": "https://tokenjam.dev/blog/2026-06-15-the-problem-with-tokenmaxxing.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-06-15-the-problem-with-tokenmaxxing.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-06-15",
      "updated_at": null,
      "tags": [
        "cost",
        "tokenmaxxing",
        "agents",
        "thesis"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 13,
      "cover_image_url": "https://tokenjam.dev/blog/the-problem-with-tokenmaxxing.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-06-08-what-is-an-agent-loop",
      "title": "What is an agent loop?",
      "description": "Agent loops: the program that prompts your agent for you, checks its own work, and decides when to stop. The lineage from ReAct to orchestration, and why the loop is now the expensive part.",
      "url": "https://tokenjam.dev/blog/2026-06-08-what-is-an-agent-loop",
      "markdown_url": "https://tokenjam.dev/blog/2026-06-08-what-is-an-agent-loop.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-06-08-what-is-an-agent-loop.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-06-08",
      "updated_at": null,
      "tags": [
        "agents",
        "loops",
        "orchestration",
        "cost"
      ],
      "pillar": "foundational",
      "reading_time_minutes": 12,
      "cover_image_url": "https://tokenjam.dev/blog/agent-loops-header.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-06-01-reddit-is-40-percent-of-your-agents-retrieval-surface",
      "title": "Reddit is 40% of your agent's retrieval surface",
      "description": "What 150K LLM citations tell builders about prompt-time grounding, eval coverage, and the source biases their agents inherit by default.",
      "url": "https://tokenjam.dev/blog/2026-06-01-reddit-is-40-percent-of-your-agents-retrieval-surface",
      "markdown_url": "https://tokenjam.dev/blog/2026-06-01-reddit-is-40-percent-of-your-agents-retrieval-surface.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-06-01-reddit-is-40-percent-of-your-agents-retrieval-surface.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-06-01",
      "updated_at": null,
      "tags": [
        "retrieval",
        "agents",
        "observability",
        "evaluation"
      ],
      "pillar": "observability",
      "reading_time_minutes": 8,
      "cover_image_url": "https://tokenjam.dev/blog/reddit-is-40-percent-of-your-agents-retrieval-surface.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-31-cost-dashboards-tell-you-the-bill",
      "title": "Cost dashboards tell you the bill. They don't tell you what to change.",
      "description": "The gap between reporting agent cost and recommending what to do about it. Why an honest recommendation needs to be validated against the user's own data, and the recent research that makes that validation cheap.",
      "url": "https://tokenjam.dev/blog/2026-05-31-cost-dashboards-tell-you-the-bill",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-31-cost-dashboards-tell-you-the-bill.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-31-cost-dashboards-tell-you-the-bill.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-31",
      "updated_at": null,
      "tags": [
        "cost",
        "agents",
        "optimization",
        "thesis"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 10,
      "cover_image_url": "https://tokenjam.dev/blog/cost-dashboards-tell-you-the-bill.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-29-where-your-agent-bill-actually-goes",
      "title": "Where Your AI Agent Bill Goes: 5 Token Waste Patterns",
      "description": "Where your AI agent bill actually goes: the 5 token-waste patterns (context bloat, runaway loops, model overspend, and more) and the research that fixes each.",
      "url": "https://tokenjam.dev/blog/2026-05-29-where-your-agent-bill-actually-goes",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-29-where-your-agent-bill-actually-goes.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-29-where-your-agent-bill-actually-goes.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-29",
      "updated_at": null,
      "tags": [
        "cost",
        "agents",
        "optimization",
        "thesis"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 10,
      "cover_image_url": "https://tokenjam.dev/blog/where-your-agent-bill-actually-goes.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-28-agent-cost-story-no-longer-hypothetical",
      "title": "Subsidized AI Is Ending: The Agent Cost Numbers Are Now Real",
      "description": "Uber burned its annual AI budget in 4 months; one team hit $1.3M in 30 days. The real agent-cost numbers, plus the June billing changes that end the subsidy.",
      "url": "https://tokenjam.dev/blog/2026-05-28-agent-cost-story-no-longer-hypothetical",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-28-agent-cost-story-no-longer-hypothetical.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-28-agent-cost-story-no-longer-hypothetical.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-28",
      "updated_at": null,
      "tags": [
        "cost",
        "agents",
        "industry",
        "thesis"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 10,
      "cover_image_url": "https://tokenjam.dev/blog/agent-cost-story-no-longer-hypothetical.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-21-watching-claude-code-with-otel",
      "title": "Claude Code OTel Telemetry: What Cursor and /cost Won't Show",
      "description": "Claude Code emits real OpenTelemetry spans; Cursor and /cost don't. See what the OTel wire exposes and the failure modes the built-in views miss.",
      "url": "https://tokenjam.dev/blog/2026-05-21-watching-claude-code-with-otel",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-21-watching-claude-code-with-otel.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-21-watching-claude-code-with-otel.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-05-25",
      "updated_at": null,
      "tags": [
        "claude-code",
        "cursor",
        "opentelemetry",
        "observability",
        "tokenjam"
      ],
      "pillar": "observability",
      "reading_time_minutes": 14,
      "cover_image_url": "https://tokenjam.dev/blog/covers/2026-05-21-watching-claude-code-with-otel.png"
    },
    {
      "object": "blog_post",
      "id": "2026-05-26-the-9-layer-agent-ecosystem-map",
      "title": "The 9-layer agent ecosystem map",
      "description": "A unified map of the agent operations ecosystem: nine layers from observability to token economics, the tools at each, where they are converging, and where the gaps remain.",
      "url": "https://tokenjam.dev/blog/2026-05-26-the-9-layer-agent-ecosystem-map",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-26-the-9-layer-agent-ecosystem-map.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-26-the-9-layer-agent-ecosystem-map.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-25",
      "updated_at": null,
      "tags": [
        "ecosystem",
        "agents",
        "thesis",
        "map"
      ],
      "pillar": "thesis",
      "reading_time_minutes": 10,
      "cover_image_url": "https://tokenjam.dev/blog/9-layer-agent-ecosystem-map.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-24-what-is-agent-token-economics",
      "title": "What is AI Agent Token Economics?",
      "description": "Agent token economics: understanding where tokens are spent, why agent costs spike unpredictably, and the optimization patterns (model cascading, prompt compression, semantic caching) for reducing spend without losing quality.",
      "url": "https://tokenjam.dev/blog/2026-05-24-what-is-agent-token-economics",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-24-what-is-agent-token-economics.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-24-what-is-agent-token-economics.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-24",
      "updated_at": null,
      "tags": [
        "optimization",
        "tokens",
        "cost",
        "agents"
      ],
      "pillar": "optimization",
      "reading_time_minutes": 9,
      "cover_image_url": "https://tokenjam.dev/blog/agent-token-economics.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-15-langsmith-tco-teardown",
      "title": "LangSmith Cost in 2026: Real TCO vs Self-Hosted Alternatives",
      "description": "LangSmith's $39/seat sticker runs ~10.7x that in real TCO. A sourced teardown vs Langfuse self-host and a local-first DuckDB alternative, with real numbers and config.",
      "url": "https://tokenjam.dev/blog/2026-05-15-langsmith-tco-teardown",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-15-langsmith-tco-teardown.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-15-langsmith-tco-teardown.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-05-21",
      "updated_at": null,
      "tags": [
        "langsmith",
        "langfuse",
        "pricing",
        "observability",
        "tokenjam"
      ],
      "pillar": "observability",
      "reading_time_minutes": 13,
      "cover_image_url": "https://tokenjam.dev/blog/covers/2026-05-15-langsmith-tco-teardown.png"
    },
    {
      "object": "blog_post",
      "id": "2026-05-21-what-is-an-agent-control-plane",
      "title": "What is an agent control plane?",
      "description": "Agent control planes: the runtime layer that governs AI agent behavior across a fleet. Policy enforcement, budget caps, audit trails, and how it differs from observability and guardrails.",
      "url": "https://tokenjam.dev/blog/2026-05-21-what-is-an-agent-control-plane",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-21-what-is-an-agent-control-plane.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-21-what-is-an-agent-control-plane.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-21",
      "updated_at": null,
      "tags": [
        "control-plane",
        "governance",
        "agents",
        "fleet"
      ],
      "pillar": "control-plane",
      "reading_time_minutes": 9,
      "cover_image_url": "https://tokenjam.dev/blog/agent-control-plane.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-21-what-is-human-in-the-loop-for-ai-agents",
      "title": "What is human-in-the-loop for AI agents?",
      "description": "HITL for AI agents: when and how to insert human approval, the patterns (pre/post/exception), the tools that exist, and the async-execution problem.",
      "url": "https://tokenjam.dev/blog/2026-05-21-what-is-human-in-the-loop-for-ai-agents",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-21-what-is-human-in-the-loop-for-ai-agents.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-21-what-is-human-in-the-loop-for-ai-agents.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-21",
      "updated_at": null,
      "tags": [
        "hitl",
        "agents",
        "governance",
        "approval"
      ],
      "pillar": "hitl",
      "reading_time_minutes": 10,
      "cover_image_url": "https://tokenjam.dev/blog/human-in-the-loop-for-ai-agents.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-20-what-are-ai-guardrails",
      "title": "What are AI guardrails?",
      "description": "Runtime constraints on what LLMs say and do: input filtering, output filtering, behavioral checks, and structured output enforcement.",
      "url": "https://tokenjam.dev/blog/2026-05-20-what-are-ai-guardrails",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-20-what-are-ai-guardrails.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-20-what-are-ai-guardrails.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-20",
      "updated_at": null,
      "tags": [
        "guardrails",
        "safety",
        "agents",
        "llm"
      ],
      "pillar": "guardrails",
      "reading_time_minutes": 7,
      "cover_image_url": "https://tokenjam.dev/blog/covers/2026-05-20-what-are-ai-guardrails.png"
    },
    {
      "object": "blog_post",
      "id": "2026-05-18-what-are-agent-environments-and-sandboxes",
      "title": "What are agent environments and sandboxes?",
      "description": "Where AI agents safely act on code, browsers, and machines: the isolation tradeoffs, the major tools, and the link to evaluation.",
      "url": "https://tokenjam.dev/blog/2026-05-18-what-are-agent-environments-and-sandboxes",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-18-what-are-agent-environments-and-sandboxes.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-18-what-are-agent-environments-and-sandboxes.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-19",
      "updated_at": null,
      "tags": [
        "environments",
        "sandboxes",
        "infrastructure",
        "agents"
      ],
      "pillar": "environments",
      "reading_time_minutes": 7,
      "cover_image_url": "https://tokenjam.dev/blog/agent-environments-and-sandboxes.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-19-agent-failure-taxonomy",
      "title": "The taxonomy of agent failure: 13 named alerts beat 'anomaly detected' at 2am",
      "description": "Every AI observability vendor ships 'anomaly detected.' That's the wrong abstraction for autonomous agents. Here's the typed vocabulary we ship instead. 13 named failure modes, each with its own trigger, payload, and prescribed response.",
      "url": "https://tokenjam.dev/blog/2026-05-19-agent-failure-taxonomy",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-19-agent-failure-taxonomy.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-19-agent-failure-taxonomy.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-05-19",
      "updated_at": null,
      "tags": [
        "agent-failure",
        "alerts",
        "taxonomy",
        "claude-code",
        "tokenjam"
      ],
      "pillar": "guardrails",
      "reading_time_minutes": 17,
      "cover_image_url": "https://tokenjam.dev/blog/covers/2026-05-19-agent-failure-taxonomy.png"
    },
    {
      "object": "blog_post",
      "id": "2026-05-15-how-to-monitor-claude-code",
      "title": "How to Monitor Claude Code with OTel (Before a $1,700 Bill)",
      "description": "Monitor Claude Code on your laptop in 5 steps: enable Anthropic's OTel telemetry, store spans locally, and alert on retry loops while the agent still runs.",
      "url": "https://tokenjam.dev/blog/2026-05-15-how-to-monitor-claude-code",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-15-how-to-monitor-claude-code.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-15-how-to-monitor-claude-code.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-05-18",
      "updated_at": null,
      "tags": [
        "claude-code",
        "monitoring",
        "observability",
        "opentelemetry",
        "tokenjam"
      ],
      "pillar": "observability",
      "reading_time_minutes": 13,
      "cover_image_url": "https://tokenjam.dev/blog/covers/2026-05-15-how-to-monitor-claude-code.png"
    },
    {
      "object": "blog_post",
      "id": "2026-05-17-behavioral-drift-detection",
      "title": "AI Agent Drift Detection: Catch It Before Your Rules Decay",
      "description": "AI agent drift detection with no embedding model: Z-scores on tokens, duration, and tool counts plus Jaccard on tool sequences, run over your own sessions.",
      "url": "https://tokenjam.dev/blog/2026-05-17-behavioral-drift-detection",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-17-behavioral-drift-detection.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-17-behavioral-drift-detection.json",
      "author": {
        "slug": "ansh-saxena",
        "name": "Ansh Saxena",
        "role": "Engineer, Metabuilder Labs",
        "url": "https://github.com/anshss"
      },
      "published_at": "2026-05-17",
      "updated_at": null,
      "tags": [
        "drift",
        "claude-code",
        "observability",
        "statistics",
        "tokenjam"
      ],
      "pillar": "observability",
      "reading_time_minutes": 15,
      "cover_image_url": "https://tokenjam.dev/blog/covers/2026-05-17-behavioral-drift-detection.png"
    },
    {
      "object": "blog_post",
      "id": "2026-05-13-agent-memory",
      "title": "What is Agent Memory and why does it matter?",
      "description": "How AI agents persist state across sessions, why memory is different from RAG, and the open-source projects building this layer.",
      "url": "https://tokenjam.dev/blog/2026-05-13-agent-memory",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-13-agent-memory.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-13-agent-memory.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-13",
      "updated_at": null,
      "tags": [
        "memory",
        "agents",
        "llm",
        "opensource"
      ],
      "pillar": "memory",
      "reading_time_minutes": 9,
      "cover_image_url": "https://tokenjam.dev/blog/agent-memory.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-12-agent-evaluation",
      "title": "What is agent evaluation?",
      "description": "Agent evaluation: measuring multi-step trajectories, tool use, and open-ended outputs. Why benchmarks alone don't tell you whether an agent works in production.",
      "url": "https://tokenjam.dev/blog/2026-05-12-agent-evaluation",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-12-agent-evaluation.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-12-agent-evaluation.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-12",
      "updated_at": null,
      "tags": [
        "evaluation",
        "benchmarks",
        "agents",
        "testing"
      ],
      "pillar": "evaluation",
      "reading_time_minutes": 11,
      "cover_image_url": "https://tokenjam.dev/blog/agent-evaluation.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-11-llm-gateways",
      "title": "What is an LLM gateway?",
      "description": "LLM gateways unify provider APIs, add fallbacks and caching, and centralize key management: what they do, when you need one, and the tools that exist.",
      "url": "https://tokenjam.dev/blog/2026-05-11-llm-gateways",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-11-llm-gateways.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-11-llm-gateways.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-11",
      "updated_at": null,
      "tags": [
        "infrastructure",
        "gateways",
        "llms",
        "agents"
      ],
      "pillar": "infrastructure",
      "reading_time_minutes": 9,
      "cover_image_url": "https://tokenjam.dev/blog/llm-gateways.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-10-opentelemetry-for-ai-agents",
      "title": "What is OpenTelemetry, and why does it matter for AI agents?",
      "description": "OpenTelemetry, OTLP, and the GenAI semantic conventions: how the CNCF observability standard is becoming the lingua franca for AI agent telemetry.",
      "url": "https://tokenjam.dev/blog/2026-05-10-opentelemetry-for-ai-agents",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-10-opentelemetry-for-ai-agents.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-10-opentelemetry-for-ai-agents.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-10",
      "updated_at": null,
      "tags": [
        "observability",
        "opentelemetry",
        "telemetry",
        "agents"
      ],
      "pillar": "observability",
      "reading_time_minutes": 7,
      "cover_image_url": "https://tokenjam.dev/blog/opentelemetry-for-ai-agents.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-09-agent-observability",
      "title": "What is agent observability?",
      "description": "How AI agent observability works: capturing tool calls, token costs, traces, and behavioral patterns at production scale.",
      "url": "https://tokenjam.dev/blog/2026-05-09-agent-observability",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-09-agent-observability.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-09-agent-observability.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-09",
      "updated_at": null,
      "tags": [
        "observability",
        "agents",
        "telemetry"
      ],
      "pillar": "observability",
      "reading_time_minutes": 8,
      "cover_image_url": "https://tokenjam.dev/blog/agent-observability.jpg"
    },
    {
      "object": "blog_post",
      "id": "2026-05-08-agents-101",
      "title": "Agents 101: Reasoning, Actions & Autonomy",
      "description": "A foundational definition: what AI agents are, how they differ from chatbots and workflows, and the components that make them work.",
      "url": "https://tokenjam.dev/blog/2026-05-08-agents-101",
      "markdown_url": "https://tokenjam.dev/blog/2026-05-08-agents-101.md",
      "api_url": "https://tokenjam.dev/api/v1/posts/2026-05-08-agents-101.json",
      "author": {
        "slug": "anil-murty",
        "name": "Anil Murty",
        "role": "Founder, Metabuilder Labs",
        "url": "https://www.linkedin.com/in/anilmurty/"
      },
      "published_at": "2026-05-08",
      "updated_at": null,
      "tags": [
        "agents",
        "fundamentals",
        "definitions"
      ],
      "pillar": "foundational",
      "reading_time_minutes": 11,
      "cover_image_url": "https://tokenjam.dev/blog/agents-101.jpg"
    }
  ]
}
