<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>The strip – Mubarak Shajahan</title>
    <link>https://mk-comics.vercel.app/blog/</link>
    <description>Weekly posts on the AI models and tools that matter to people shipping products.</description>
    <language>en</language>
    <atom:link href="https://mk-comics.vercel.app/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Building a 34-second comic-book intro: page curls, a trailer score and the autoplay rule</title>
      <link>https://mk-comics.vercel.app/blog/building-a-motion-comic-intro-page-curls-trailer-score-autoplay/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/building-a-motion-comic-intro-page-curls-trailer-score-autoplay/</guid>
      <pubDate>Tue, 13 Oct 2026 15:00:00 GMT</pubDate>
      <description>How the site's opening became a motion comic: rejected loaders, a 14-strip CSS page curl, recorded music and effects timed to their peaks, and why it waits for a click.</description>
      <category>Web Audio</category><category>CSS 3D</category><category>autoplay policy</category><category>motion design</category><category>Astro</category><category>case file</category>
    </item>
    <item>
      <title>Chasing 100 on PageSpeed: what actually moved on a comic-book portfolio</title>
      <link>https://mk-comics.vercel.app/blog/chasing-100-on-pagespeed-comic-portfolio-case-file/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/chasing-100-on-pagespeed-comic-portfolio-case-file/</guid>
      <pubDate>Sun, 11 Oct 2026 09:30:00 GMT</pubDate>
      <description>Twelve deploys, one score at a time: contrast fixes, llms.txt, a Tamil font stall worth 600 ms, content-visibility, and the Lighthouse noise that caps mobile at 99.</description>
      <category>Lighthouse</category><category>PageSpeed Insights</category><category>Core Web Vitals</category><category>accessibility</category><category>Astro</category><category>GSAP</category><category>llms.txt</category><category>case file</category>
    </item>
    <item>
      <title>Hiring-manager SEO: what a portfolio should rank for</title>
      <link>https://mk-comics.vercel.app/blog/hiring-manager-seo-what-a-portfolio-should-rank-for/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/hiring-manager-seo-what-a-portfolio-should-rank-for/</guid>
      <pubDate>Sat, 10 Oct 2026 02:40:00 GMT</pubDate>
      <description>A portfolio does not need to rank for 'software engineer'. It needs to win your own name, then earn long-tail pages that prove the claim. What Google's guides say to do.</description>
      <category>SEO</category><category>portfolio</category><category>careers</category><category>structured data</category><category>Google Search</category>
    </item>
    <item>
      <title>Measuring Core Web Vitals on an animation-heavy page</title>
      <link>https://mk-comics.vercel.app/blog/measuring-core-web-vitals-on-an-animation-heavy-page/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/measuring-core-web-vitals-on-an-animation-heavy-page/</guid>
      <pubDate>Sat, 10 Oct 2026 02:39:00 GMT</pubDate>
      <description>LCP, INP and CLS on a page full of GSAP and Lenis scroll animation: what each metric counts, which patterns it ignores, and a PageSpeed workflow that does not mislead.</description>
      <category>Core Web Vitals</category><category>performance</category><category>GSAP</category><category>Lenis</category><category>PageSpeed Insights</category><category>Astro</category>
    </item>
    <item>
      <title>GitHub contributions at build time, with a committed fallback</title>
      <link>https://mk-comics.vercel.app/blog/build-time-data-github-contributions-with-fallback/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/build-time-data-github-contributions-with-fallback/</guid>
      <pubDate>Sat, 10 Oct 2026 02:38:00 GMT</pubDate>
      <description>How this site fetches its GitHub contribution calendar in the Astro build, falls back to a committed snapshot, renders SVG, and a parser bug I found in my own code.</description>
      <category>Astro</category><category>GitHub</category><category>build-time data</category><category>GraphQL</category><category>SVG</category>
    </item>
    <item>
      <title>GSAP and Lenis for scroll choreography without hiding content</title>
      <link>https://mk-comics.vercel.app/blog/gsap-and-lenis-scroll-choreography-without-hiding-content/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/gsap-and-lenis-scroll-choreography-without-hiding-content/</guid>
      <pubDate>Sat, 10 Oct 2026 02:37:00 GMT</pubDate>
      <description>How to animate on scroll with GSAP ScrollTrigger and Lenis without pre-hiding content, with reduced-motion handling, using this site's real script and its one flaw.</description>
      <category>GSAP</category><category>Lenis</category><category>ScrollTrigger</category><category>animation</category><category>accessibility</category><category>reduced motion</category>
    </item>
    <item>
      <title>A comic-book portfolio: the design decisions, in public</title>
      <link>https://mk-comics.vercel.app/blog/comic-book-portfolio-design-decisions-in-public/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/comic-book-portfolio-design-decisions-in-public/</guid>
      <pubDate>Sat, 10 Oct 2026 02:36:00 GMT</pubDate>
      <description>Why this portfolio is drawn as a comic issue: the audience, the worlds it replaced, the DESIGN.md rules, and what a hiring manager sees on the first screen.</description>
      <category>design</category><category>portfolio</category><category>Astro</category><category>design system</category><category>DESIGN.md</category><category>GSAP</category>
    </item>
    <item>
      <title>Opus 5.5 on a legacy codebase: what it handles, where it needs a human</title>
      <link>https://mk-comics.vercel.app/blog/agentic-coding-on-a-legacy-codebase-opus-5-5/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/agentic-coding-on-a-legacy-codebase-opus-5-5/</guid>
      <pubDate>Sat, 10 Oct 2026 02:35:00 GMT</pubDate>
      <description>Anthropic and early testers report Opus 5.5 running audits and migrations for hours. What is reported, what is unverified, and a review discipline for legacy code.</description>
      <category>Claude Opus 5.5</category><category>legacy code</category><category>coding agents</category><category>code migration</category><category>code review</category><category>agentic workflows</category>
    </item>
    <item>
      <title>Skills and plugins for coding agents: packaging team process</title>
      <link>https://mk-comics.vercel.app/blog/skills-and-plugins-for-coding-agents/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/skills-and-plugins-for-coding-agents/</guid>
      <pubDate>Sat, 10 Oct 2026 02:34:00 GMT</pubDate>
      <description>What Claude Code skills and plugins are, where they live, what they cost in context, and how the impeccable plugin keeps design rules out of this site's prompts.</description>
      <category>Claude Code</category><category>skills</category><category>plugins</category><category>coding agents</category><category>impeccable</category><category>developer workflow</category>
    </item>
    <item>
      <title>Writing a CLAUDE.md that actually helps</title>
      <link>https://mk-comics.vercel.app/blog/writing-a-claude-md-that-actually-helps/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/writing-a-claude-md-that-actually-helps/</guid>
      <pubDate>Sat, 10 Oct 2026 02:33:00 GMT</pubDate>
      <description>What belongs in a CLAUDE.md and what does not, from Anthropic's docs, with a 30-line example for a real Astro repo and the rules, imports and hooks that replace the rest.</description>
      <category>Claude Code</category><category>CLAUDE.md</category><category>developer experience</category><category>context</category><category>Astro</category>
    </item>
    <item>
      <title>Claude Code for a solo engineer: the workflow that shipped this site</title>
      <link>https://mk-comics.vercel.app/blog/claude-code-for-a-solo-engineer-the-workflow/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/claude-code-for-a-solo-engineer-the-workflow/</guid>
      <pubDate>Sat, 10 Oct 2026 02:32:00 GMT</pubDate>
      <description>How this portfolio was built with Claude Code: the plan and task files, per-section commits, the impeccable plugin, and what the repo shows did and did not work.</description>
      <category>Claude Code</category><category>workflow</category><category>Astro</category><category>impeccable</category><category>solo engineer</category>
    </item>
    <item>
      <title>Prompt caching for coding agents: why stable context cuts Claude Code bills</title>
      <link>https://mk-comics.vercel.app/blog/prompt-caching-for-coding-agents-stable-context/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/prompt-caching-for-coding-agents-stable-context/</guid>
      <pubDate>Sat, 10 Oct 2026 02:31:00 GMT</pubDate>
      <description>How Claude Code's prefix cache works, what breaks it mid-session (model switches, MCP changes, compaction), and the arithmetic of a 100k-token session on Sonnet 5.5.</description>
      <category>Claude Code</category><category>prompt caching</category><category>coding agents</category><category>Claude Sonnet 5.5</category><category>cost optimisation</category>
    </item>
    <item>
      <title>GA4, Tag Manager and Clarity on a static site: what they cost in Lighthouse</title>
      <link>https://mk-comics.vercel.app/blog/ga4-gtm-clarity-on-a-static-site-without-wrecking-lighthouse/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/ga4-gtm-clarity-on-a-static-site-without-wrecking-lighthouse/</guid>
      <pubDate>Sat, 10 Oct 2026 02:30:00 GMT</pubDate>
      <description>Env-var-gated GA4, Tag Manager and Clarity on an Astro site, with a measured PageSpeed run: the third-party bill, its effect on blocking time, and what I would cut.</description>
      <category>Google Analytics</category><category>Tag Manager</category><category>Clarity</category><category>Lighthouse</category><category>Astro</category><category>performance</category>
    </item>
    <item>
      <title>Build an Astro blog: content collections, RSS and per-post OG images</title>
      <link>https://mk-comics.vercel.app/blog/blog-in-astro-content-collections-schema-rss-og/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/blog-in-astro-content-collections-schema-rss-og/</guid>
      <pubDate>Sat, 10 Oct 2026 02:29:00 GMT</pubDate>
      <description>How this site's blog is built on Astro 7: a Zod-checked posts collection, hand-written RSS and satori OG images. Real code, plus where it departs from the docs.</description>
      <category>Astro</category><category>content collections</category><category>RSS</category><category>satori</category><category>Open Graph</category><category>static sites</category>
    </item>
    <item>
      <title>Open Graph images generated at build with satori in Astro</title>
      <link>https://mk-comics.vercel.app/blog/open-graph-images-generated-at-build-with-satori/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/open-graph-images-generated-at-build-with-satori/</guid>
      <pubDate>Sat, 10 Oct 2026 02:28:00 GMT</pubDate>
      <description>How this blog makes one 1200x630 share image per post at build time with satori and resvg in an Astro endpoint: fonts, layout limits, caching traps and the code.</description>
      <category>Open Graph</category><category>satori</category><category>Astro</category><category>resvg</category><category>social cards</category>
    </item>
    <item>
      <title>Structured data for a personal site: Person and Article JSON-LD</title>
      <link>https://mk-comics.vercel.app/blog/structured-data-for-a-personal-site-person-article-schema/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/structured-data-for-a-personal-site-person-article-schema/</guid>
      <pubDate>Sat, 10 Oct 2026 02:27:00 GMT</pubDate>
      <description>The Person and Article JSON-LD this site ships, what Google says it uses, three things I would fix, and how to validate it with Google's and schema.org's tools.</description>
      <category>structured data</category><category>JSON-LD</category><category>schema.org</category><category>SEO</category><category>Astro</category>
    </item>
    <item>
      <title>llms.txt: what it is, who reads it, and a template</title>
      <link>https://mk-comics.vercel.app/blog/llms-txt-what-it-is-who-reads-it-template/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/llms-txt-what-it-is-who-reads-it-template/</guid>
      <pubDate>Sat, 10 Oct 2026 02:26:00 GMT</pubDate>
      <description>llms.txt is a Markdown index for AI agents. Google says Search ignores it, log studies show few fetches, but it is cheap. The spec, the evidence and a template.</description>
      <category>llms.txt</category><category>SEO</category><category>AI visibility</category><category>AI crawlers</category><category>Markdown</category>
    </item>
    <item>
      <title>AI crawler guide: robots.txt rules for GPTBot, ClaudeBot and more</title>
      <link>https://mk-comics.vercel.app/blog/ai-crawler-guide-robots-llms-txt-structured-data/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/ai-crawler-guide-robots-llms-txt-structured-data/</guid>
      <pubDate>Sat, 10 Oct 2026 02:25:00 GMT</pubDate>
      <description>Which robots.txt tokens decide whether OpenAI, Anthropic, Perplexity and Google can train on your site or cite it, from each vendor's docs, plus this site's file.</description>
      <category>SEO</category><category>AI crawlers</category><category>robots.txt</category><category>GPTBot</category><category>ClaudeBot</category><category>AI visibility</category>
    </item>
    <item>
      <title>A code review checklist for AI-generated pull requests</title>
      <link>https://mk-comics.vercel.app/blog/review-checklist-for-ai-generated-code/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/review-checklist-for-ai-generated-code/</guid>
      <pubDate>Sat, 10 Oct 2026 02:24:00 GMT</pubDate>
      <description>What to check when the author is an agent: a nine-point review checklist, the published numbers on AI-written code, and a REVIEW.md you can copy.</description>
      <category>code review</category><category>AI-generated code</category><category>Claude Code</category><category>pull requests</category><category>REVIEW.md</category>
    </item>
    <item>
      <title>Sole engineer on a 1.25M-user platform: what to automate first</title>
      <link>https://mk-comics.vercel.app/blog/sole-engineer-on-a-1-25m-user-platform-what-i-automated-first/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/sole-engineer-on-a-1-25m-user-platform-what-i-automated-first/</guid>
      <pubDate>Sat, 10 Oct 2026 02:23:00 GMT</pubDate>
      <description>EF Academy's marketing platform serves 1.25M+ monthly users in 23+ languages with one engineer. How I rank automation: bottlenecks first, silent failures next, licences.</description>
      <category>solo engineer</category><category>automation</category><category>ownership</category><category>Storyblok</category><category>AWS Glue</category>
    </item>
    <item>
      <title>Chrome extensions that save admins 3 to 5 hours a day</title>
      <link>https://mk-comics.vercel.app/blog/chrome-extensions-that-save-admins-hours/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/chrome-extensions-that-save-admins-hours/</guid>
      <pubDate>Sat, 10 Oct 2026 02:22:00 GMT</pubDate>
      <description>How Manifest V3 extensions for BSBI and GISMA automated student application workflows in tools we could not change, and the service worker rules that decide reliability.</description>
      <category>Chrome extension</category><category>automation</category><category>Manifest V3</category><category>PDF.js</category><category>service workers</category>
    </item>
    <item>
      <title>AI document processing: what 95% across 17+ document types should mean</title>
      <link>https://mk-comics.vercel.app/blog/ai-document-processing-17-types-at-95-percent/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/ai-document-processing-17-types-at-95-percent/</guid>
      <pubDate>Sat, 10 Oct 2026 02:21:00 GMT</pubDate>
      <description>How GPT-4 Vision and OCR classified 17+ admissions document types at 95%, and what a number like that must include: per-type results, confidence routing, review paths.</description>
      <category>document processing</category><category>GPT-4 Vision</category><category>OCR</category><category>evaluation</category><category>structured outputs</category>
    </item>
    <item>
      <title>Leading four front-end engineers to React and React Native parity</title>
      <link>https://mk-comics.vercel.app/blog/leading-four-engineers-to-react-react-native-parity/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/leading-four-engineers-to-react-react-native-parity/</guid>
      <pubDate>Sat, 10 Oct 2026 02:20:00 GMT</pubDate>
      <description>How Edvanza shipped each module to web and mobile together with a four-person front-end team: shared logic, platform splits, review discipline and a parity checklist.</description>
      <category>leadership</category><category>React Native</category><category>team</category><category>code review</category><category>React</category>
    </item>
    <item>
      <title>Real-time IoT status with SignalR: the Planet IoT apps</title>
      <link>https://mk-comics.vercel.app/blog/real-time-iot-status-with-signalr/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/real-time-iot-status-with-signalr/</guid>
      <pubDate>Sat, 10 Oct 2026 02:19:00 GMT</pubDate>
      <description>Why Planet SIM and Planet Business push live utility and water-service status over SignalR, and what the docs say about reconnects, keep-alives, tokens and scale.</description>
      <category>SignalR</category><category>real-time</category><category>IoT</category><category>dashboards</category><category>Firebase</category>
    </item>
    <item>
      <title>Getting 100 Lighthouse on Astro for a real marketing site</title>
      <link>https://mk-comics.vercel.app/blog/100-lighthouse-on-astro-for-a-real-marketing-site/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/100-lighthouse-on-astro-for-a-real-marketing-site/</guid>
      <pubDate>Sat, 10 Oct 2026 02:18:00 GMT</pubDate>
      <description>How the Incresco and Camped sites reached 100% Lighthouse on Astro and Storyblok, and what Astro's docs say about images, fonts and islands for the same goal.</description>
      <category>Astro</category><category>Lighthouse</category><category>performance</category><category>Storyblok</category><category>page builders</category>
    </item>
    <item>
      <title>Prospect Uploader: 10,000 leads per CSV with validation in every language</title>
      <link>https://mk-comics.vercel.app/blog/prospect-uploader-10000-leads-per-csv/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/prospect-uploader-10000-leads-per-csv/</guid>
      <pubDate>Sat, 10 Oct 2026 02:17:00 GMT</pubDate>
      <description>Why EF Academy's lead uploads moved from direct CSV imports to a Lambda and EventBridge pipeline with multilingual validation, email alerts and a Prospect Viewer.</description>
      <category>AWS Lambda</category><category>EventBridge</category><category>Salesforce</category><category>data validation</category><category>serverless</category>
    </item>
    <item>
      <title>Running a 23-language Next.js and Storyblok site as the only engineer</title>
      <link>https://mk-comics.vercel.app/blog/23-language-marketing-site-nextjs-storyblok-sole-engineer/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/23-language-marketing-site-nextjs-storyblok-sole-engineer/</guid>
      <pubDate>Sat, 10 Oct 2026 02:16:00 GMT</pubDate>
      <description>EF Academy's marketing site serves 1.25M+ monthly users in 23+ languages with one engineer. The decision that mattered: let content teams run localisation themselves.</description>
      <category>Next.js</category><category>Storyblok</category><category>i18n</category><category>localisation</category><category>sole engineer</category>
    </item>
    <item>
      <title>Replacing TIBCO Scribe with AWS Glue before the licence ran out</title>
      <link>https://mk-comics.vercel.app/blog/replacing-tibco-scribe-with-aws-glue-before-the-licence-ran-out/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/replacing-tibco-scribe-with-aws-glue-before-the-licence-ran-out/</guid>
      <pubDate>Sat, 10 Oct 2026 02:15:00 GMT</pubDate>
      <description>How I moved EF Academy's Salesforce pipelines off a $24,000-a-year Tibco Scribe licence onto AWS Glue before it expired: the options, the plan, the cutover, $840.</description>
      <category>AWS Glue</category><category>TIBCO</category><category>migration</category><category>cost</category><category>Salesforce</category>
    </item>
    <item>
      <title>Text-to-speech product tours with Gemini 3.8 Flash TTS in Next.js</title>
      <link>https://mk-comics.vercel.app/blog/text-to-speech-product-tours-gemini-tts-nextjs/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/text-to-speech-product-tours-gemini-tts-nextjs/</guid>
      <pubDate>Sat, 10 Oct 2026 02:14:00 GMT</pubDate>
      <description>Generate product-tour narration with Gemini 3.8 Flash TTS at build time, cache the audio by content hash, and ship it accessibly. Cost maths and a copyable script.</description>
      <category>Gemini TTS</category><category>Next.js</category><category>accessibility</category><category>text to speech</category><category>build-time generation</category>
    </item>
    <item>
      <title>Voice agents with Gemini Live: turn-taking, barge-in and latency</title>
      <link>https://mk-comics.vercel.app/blog/voice-agents-with-gemini-live-turn-taking-barge-in/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/voice-agents-with-gemini-live-turn-taking-barge-in/</guid>
      <pubDate>Sat, 10 Oct 2026 02:13:00 GMT</pubDate>
      <description>How the Gemini Live API handles turns, interruptions and sessions, which latency knobs the docs give you, and a minimal browser client with ephemeral tokens.</description>
      <category>voice agents</category><category>Gemini Live</category><category>WebRTC</category><category>barge-in</category><category>WebSocket</category><category>ephemeral tokens</category>
    </item>
    <item>
      <title>Hosted APIs vs open weights for a product team: five questions</title>
      <link>https://mk-comics.vercel.app/blog/hosted-apis-vs-open-weights-for-a-product-team/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/hosted-apis-vs-open-weights-for-a-product-team/</guid>
      <pubDate>Sat, 10 Oct 2026 02:12:00 GMT</pubDate>
      <description>Data residency, cost at volume, who is on call, quality and speed of change: five questions that decide hosted API or open weights, with a break-even sketch to copy.</description>
      <category>open weights</category><category>self-hosting</category><category>decision</category><category>data residency</category><category>LLM pricing</category><category>vLLM</category>
    </item>
    <item>
      <title>Model migration playbook: Sonnet 4.5 to 5.5 without regressions</title>
      <link>https://mk-comics.vercel.app/blog/model-migration-playbook-sonnet-4-5-to-5-5/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/model-migration-playbook-sonnet-4-5-to-5-5/</guid>
      <pubDate>Sat, 10 Oct 2026 02:11:00 GMT</pubDate>
      <description>Sonnet 4.5 retires on 30 November 2026. What breaks, what the bill does once tokens and thinking change, how to eval the move, and how to roll back.</description>
      <category>migration</category><category>Claude Sonnet 5.5</category><category>evals</category><category>prompt caching</category><category>cost optimisation</category>
    </item>
    <item>
      <title>AI feature flags: rolling out model upgrades safely</title>
      <link>https://mk-comics.vercel.app/blog/ai-feature-flags-rolling-out-model-upgrades/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/ai-feature-flags-rolling-out-model-upgrades/</guid>
      <pubDate>Sat, 10 Oct 2026 02:10:00 GMT</pubDate>
      <description>A model ID is a config value that behaves like a code deploy. Bucket by conversation, shadow first, watch tokens and refusals, and keep the old model until retirement.</description>
      <category>feature flags</category><category>rollout</category><category>model upgrades</category><category>OpenFeature</category><category>Claude Sonnet 5.5</category><category>observability</category>
    </item>
    <item>
      <title>Prompt injection through tool results and documents: a builder's defence</title>
      <link>https://mk-comics.vercel.app/blog/prompt-injection-through-tool-results-and-documents/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/prompt-injection-through-tool-results-and-documents/</guid>
      <pubDate>Sat, 10 Oct 2026 02:09:00 GMT</pubDate>
      <description>Indirect prompt injection arrives inside tool results, emails and OCR text, not from your user. What OWASP, Anthropic and Willison advise, plus a screening call to copy.</description>
      <category>prompt injection</category><category>security</category><category>agents</category><category>OWASP</category><category>tool use</category><category>least privilege</category>
    </item>
    <item>
      <title>Red-teaming your own AI feature in an afternoon</title>
      <link>https://mk-comics.vercel.app/blog/red-teaming-your-own-ai-feature-in-an-afternoon/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/red-teaming-your-own-ai-feature-in-an-afternoon/</guid>
      <pubDate>Sat, 10 Oct 2026 02:08:00 GMT</pubDate>
      <description>A four-hour plan, a 30-case attack set and a small Python harness with canary tokens, mapped to the OWASP LLM Top 10 and Anthropic's guidance on prompt injection.</description>
      <category>red teaming</category><category>security</category><category>prompt injection</category><category>OWASP</category><category>Claude Haiku 5.5</category><category>Python</category>
    </item>
    <item>
      <title>Testing LLM features: snapshot tests, eval sets and CI budgets</title>
      <link>https://mk-comics.vercel.app/blog/testing-llm-features-snapshot-tests-eval-sets-ci/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/testing-llm-features-snapshot-tests-eval-sets-ci/</guid>
      <pubDate>Sat, 10 Oct 2026 02:07:00 GMT</pubDate>
      <description>What to run per pull request and what to run nightly, plus how to cap the bill: snapshot the prompt, not the answer, and gate on a small eval set. With GitHub Actions.</description>
      <category>testing</category><category>CI</category><category>evals</category><category>GitHub Actions</category><category>LLM</category><category>Claude Haiku 5.5</category>
    </item>
    <item>
      <title>Caching model outputs: when to memoize an answer, and for how long</title>
      <link>https://mk-comics.vercel.app/blog/caching-model-outputs-when-to-memoize-an-answer/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/caching-model-outputs-when-to-memoize-an-answer/</guid>
      <pubDate>Sat, 10 Oct 2026 02:06:00 GMT</pubDate>
      <description>Prompt caching does not cache answers. When memoizing the output itself pays, what to put in the key, how to pick a TTL, and a Python wrapper for Claude Sonnet 5.5.</description>
      <category>caching</category><category>memoization</category><category>LLM</category><category>prompt caching</category><category>Claude Sonnet 5.5</category><category>Python</category>
    </item>
    <item>
      <title>Rate limits and backoff across LLM APIs: one shared client</title>
      <link>https://mk-comics.vercel.app/blog/rate-limits-and-backoff-across-llm-apis/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/rate-limits-and-backoff-across-llm-apis/</guid>
      <pubDate>Sat, 10 Oct 2026 02:05:00 GMT</pubDate>
      <description>How Claude, Gemini and OpenAI document rate limits, 429s and retry signals, and a shared TypeScript client with jittered backoff that knows which errors never to retry.</description>
      <category>rate limits</category><category>backoff</category><category>TypeScript</category><category>Claude API</category><category>Gemini API</category><category>OpenAI API</category>
    </item>
    <item>
      <title>Event-driven AI: EventBridge, retries and idempotency for model calls</title>
      <link>https://mk-comics.vercel.app/blog/event-driven-ai-eventbridge-retries-idempotency/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/event-driven-ai-eventbridge-retries-idempotency/</guid>
      <pubDate>Sat, 10 Oct 2026 02:04:00 GMT</pubDate>
      <description>EventBridge and Lambda retry by design, so a model call in the pipeline will run twice. Where duplicates come from, what stacked retries cost, and an idempotent handler.</description>
      <category>EventBridge</category><category>idempotency</category><category>AWS</category><category>AWS Lambda</category><category>LLM</category><category>retries</category>
    </item>
    <item>
      <title>AWS Glue for AI data pipelines: lessons from replacing TIBCO</title>
      <link>https://mk-comics.vercel.app/blog/aws-glue-for-ai-data-pipelines-lessons-from-tibco/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/aws-glue-for-ai-data-pipelines-lessons-from-tibco/</guid>
      <pubDate>Sat, 10 Oct 2026 02:03:00 GMT</pubDate>
      <description>What replacing a $24,000-a-year TIBCO Scribe licence with AWS Glue taught me, how Glue pricing really works, and how Glue jobs prepare data for model pipelines.</description>
      <category>AWS Glue</category><category>data pipelines</category><category>TIBCO</category><category>Salesforce</category><category>cost optimisation</category><category>ETL</category>
    </item>
    <item>
      <title>Serverless LLM pipelines on AWS: Lambda, Step Functions, SQS and the timeout problem</title>
      <link>https://mk-comics.vercel.app/blog/serverless-llm-pipelines-aws-lambda-step-functions/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/serverless-llm-pipelines-aws-lambda-step-functions/</guid>
      <pubDate>Sat, 10 Oct 2026 02:02:00 GMT</pubDate>
      <description>Lambda's 15-minute cap is rarely the real limit for LLM work. Queue sizing, partial batch failures, Step Functions retries and idempotency for pipelines that call models.</description>
      <category>AWS Lambda</category><category>Step Functions</category><category>SQS</category><category>LLM</category><category>idempotency</category><category>serverless</category>
    </item>
    <item>
      <title>Astro for AI content sites: static HTML, islands only where needed</title>
      <link>https://mk-comics.vercel.app/blog/astro-for-ai-content-sites-static-first/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/astro-for-ai-content-sites-static-first/</guid>
      <pubDate>Sat, 10 Oct 2026 02:01:00 GMT</pubDate>
      <description>Why an AI content site should ship static HTML: Astro 7 content collections, islands, build-time model calls and an honest look at the JavaScript this site ships.</description>
      <category>Astro</category><category>static sites</category><category>performance</category><category>content collections</category><category>islands</category><category>build-time AI</category>
    </item>
    <item>
      <title>Next.js and AI: server actions, streaming and caching patterns</title>
      <link>https://mk-comics.vercel.app/blog/nextjs-and-ai-server-actions-streaming-caching/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/nextjs-and-ai-server-actions-streaming-caching/</guid>
      <pubDate>Sat, 10 Oct 2026 02:00:00 GMT</pubDate>
      <description>Where AI calls belong in Next.js 16.4: Route Handlers for streaming, Server Actions for mutations, Cache Components for data, and what to cache around the model itself.</description>
      <category>Next.js</category><category>streaming</category><category>AI SDK</category><category>Server Actions</category><category>Cache Components</category><category>Vercel</category>
    </item>
    <item>
      <title>AI in Salesforce integrations: enrichment without breaking the CRM</title>
      <link>https://mk-comics.vercel.app/blog/ai-in-salesforce-integrations-enrichment/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/ai-in-salesforce-integrations-enrichment/</guid>
      <pubDate>Sat, 10 Oct 2026 01:59:00 GMT</pubDate>
      <description>Let an LLM enrich Salesforce records safely: external-ID upserts, schema-checked output, confidence gates and a human review lane, with Prospect Uploader lessons.</description>
      <category>Salesforce</category><category>integration</category><category>AI</category><category>upsert</category><category>data validation</category><category>structured outputs</category>
    </item>
    <item>
      <title>Playwright and AI: cutting automation latency 40% without flakiness</title>
      <link>https://mk-comics.vercel.app/blog/playwright-and-ai-cutting-automation-latency-40-percent/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/playwright-and-ai-cutting-automation-latency-40-percent/</guid>
      <pubDate>Sat, 10 Oct 2026 01:58:00 GMT</pubDate>
      <description>Where Playwright automation time goes, the documented levers (state reuse, waiting, blocking, parallelism), and where a model helps with selectors and where it hurts.</description>
      <category>Playwright</category><category>automation</category><category>latency</category><category>flaky tests</category><category>AI agents</category><category>admin tooling</category>
    </item>
    <item>
      <title>Browser admin automation: the 3 to 5 hours a day pattern, and where AI fits</title>
      <link>https://mk-comics.vercel.app/blog/automating-admin-work-with-ai-the-3-5-hours-pattern/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/automating-admin-work-with-ai-the-3-5-hours-pattern/</guid>
      <pubDate>Sat, 10 Oct 2026 01:57:00 GMT</pubDate>
      <description>How to find the hours worth automating in a browser workflow, what 99.9% uptime means for an extension, and where AI belongs. From case file 08, with a worked example.</description>
      <category>automation</category><category>admin tooling</category><category>Chrome extension</category><category>Manifest V3</category><category>reliability</category>
    </item>
    <item>
      <title>Manifest V3 and AI: service workers, offscreen documents and their limits</title>
      <link>https://mk-comics.vercel.app/blog/manifest-v3-and-ai-service-workers-offscreen-documents/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/manifest-v3-and-ai-service-workers-offscreen-documents/</guid>
      <pubDate>Sat, 10 Oct 2026 01:56:00 GMT</pubDate>
      <description>Idle shutdown after 30 seconds, a 5-minute event cap, one offscreen document, runtime messaging only: the MV3 limits that decide where an AI call can run, with code.</description>
      <category>Manifest V3</category><category>Chrome extension</category><category>service workers</category><category>offscreen documents</category><category>AI features</category>
    </item>
    <item>
      <title>Building a Chrome extension that calls Claude safely: keys, consent, rate limits</title>
      <link>https://mk-comics.vercel.app/blog/chrome-extension-that-calls-claude-safely/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/chrome-extension-that-calls-claude-safely/</guid>
      <pubDate>Sat, 10 Oct 2026 01:55:00 GMT</pubDate>
      <description>Why an API key cannot live in a Chrome extension, the proxy that should hold it, what the Web Store requires before page content leaves the browser, and 429 handling.</description>
      <category>Chrome extension</category><category>Manifest V3</category><category>Claude API</category><category>API keys</category><category>rate limits</category><category>privacy</category>
    </item>
    <item>
      <title>Fraud signals in uploaded documents: what a model can and cannot see</title>
      <link>https://mk-comics.vercel.app/blog/fraud-signals-in-uploaded-documents/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/fraud-signals-in-uploaded-documents/</guid>
      <pubDate>Sat, 10 Oct 2026 01:54:00 GMT</pubDate>
      <description>A vision model reads a payslip well but never sees its PDF metadata. Which fraud checks belong in the model, which in code, with a Claude API example.</description>
      <category>fraud detection</category><category>document processing</category><category>Claude API</category><category>PDF</category><category>structured output</category><category>vision models</category>
    </item>
    <item>
      <title>Cost per decision: a framework for pricing LLM classification at scale</title>
      <link>https://mk-comics.vercel.app/blog/cost-per-decision-framework-for-classification/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/cost-per-decision-framework-for-classification/</guid>
      <pubDate>Sat, 10 Oct 2026 01:53:00 GMT</pubDate>
      <description>A formula for classification cost: tokens, cache, batch, human review and error cost, filled with published Haiku 5.5, Sonnet 5.5 and Gemini prices, no invented accuracy.</description>
      <category>cost</category><category>classification</category><category>Haiku 5.5</category><category>Gemini 3.8 Flash</category><category>LLM pricing</category><category>evaluation</category>
    </item>
    <item>
      <title>OCR plus VLMs: document processing in 2024 and in 2026</title>
      <link>https://mk-comics.vercel.app/blog/ocr-plus-vlms-document-processing-then-and-now/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/ocr-plus-vlms-document-processing-then-and-now/</guid>
      <pubDate>Sat, 10 Oct 2026 01:52:00 GMT</pubDate>
      <description>The 2024 GPT-4 Vision plus OCR pipeline at 95% across 17+ document types, and what current Claude and Gemini document APIs change, with per-page cost maths.</description>
      <category>document processing</category><category>OCR</category><category>VLM</category><category>Claude</category><category>Gemini</category><category>case file</category>
    </item>
    <item>
      <title>Multilingual AI features: serving 23 languages without 23 prompts</title>
      <link>https://mk-comics.vercel.app/blog/multilingual-ai-features-23-languages-without-23-prompts/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/multilingual-ai-features-23-languages-without-23-prompts/</guid>
      <pubDate>Sat, 10 Oct 2026 01:51:00 GMT</pubDate>
      <description>One prompt with a locale slot, language detection only where needed, per-language token costs and per-language evals. A design for 23 languages, not 23 prompt files.</description>
      <category>multilingual</category><category>i18n</category><category>LLM</category><category>evaluation</category><category>prompt caching</category><category>language detection</category>
    </item>
    <item>
      <title>PII and prompts: redaction patterns before the model sees the text</title>
      <link>https://mk-comics.vercel.app/blog/pii-and-prompts-redaction-before-the-model/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/pii-and-prompts-redaction-before-the-model/</guid>
      <pubDate>Sat, 10 Oct 2026 01:50:00 GMT</pubDate>
      <description>Redact in code before the model call: regex, NER and review, reversible placeholders, what GDPR and India's DPDP Rules imply, and how caching and retention interact.</description>
      <category>PII</category><category>privacy</category><category>redaction</category><category>GDPR</category><category>DPDP</category><category>prompt caching</category><category>Presidio</category>
    </item>
    <item>
      <title>LLM guardrails: input checks, output checks and the ones that fire</title>
      <link>https://mk-comics.vercel.app/blog/guardrails-that-actually-fire/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/guardrails-that-actually-fire/</guid>
      <pubDate>Sat, 10 Oct 2026 01:49:00 GMT</pubDate>
      <description>Run cheap deterministic checks first, a small model screen second, and log how often each guard fires. A layered design with Haiku 5.5, structured outputs and Noul.</description>
      <category>guardrails</category><category>safety</category><category>validation</category><category>structured outputs</category><category>Claude Haiku 5.5</category><category>TypeSafe Noul</category>
    </item>
    <item>
      <title>Prompt versioning and rollback: prompts belong in git now</title>
      <link>https://mk-comics.vercel.app/blog/prompt-versioning-and-rollback/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/prompt-versioning-and-rollback/</guid>
      <pubDate>Sat, 10 Oct 2026 01:48:00 GMT</pubDate>
      <description>OpenAI is retiring prompt objects and Anthropic's Playground keeps no history. Version prompts like code, hash them into logs, and roll back without wrecking your cache.</description>
      <category>prompts</category><category>versioning</category><category>CI</category><category>rollback</category><category>prompt caching</category><category>Datadog</category>
    </item>
    <item>
      <title>Cost observability for LLM apps: log usage per request from day one</title>
      <link>https://mk-comics.vercel.app/blog/cost-observability-for-llm-apps/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/cost-observability-for-llm-apps/</guid>
      <pubDate>Sat, 10 Oct 2026 01:47:00 GMT</pubDate>
      <description>Usage fields differ across Claude, OpenAI and Gemini. Normalise them, price each call with a dated rate table, and send cost and cache hits to Datadog per feature.</description>
      <category>observability</category><category>cost</category><category>Datadog</category><category>LLM pricing</category><category>Claude API</category><category>usage tracking</category>
    </item>
    <item>
      <title>Latency budgets for AI features: where the milliseconds go</title>
      <link>https://mk-comics.vercel.app/blog/latency-budgets-for-ai-features/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/latency-budgets-for-ai-features/</guid>
      <pubDate>Sat, 10 Oct 2026 01:46:00 GMT</pubDate>
      <description>Split an AI feature's latency into time to first token and decode time, then spend a budget on model tier, caching, output length and parallel calls, with a worksheet.</description>
      <category>latency</category><category>performance</category><category>LLM</category><category>prompt caching</category><category>TypeSafe Jev</category><category>Claude Haiku 5.5</category>
    </item>
    <item>
      <title>Streaming UX for AI answers: what to render before the first token</title>
      <link>https://mk-comics.vercel.app/blog/streaming-ux-for-ai-answers/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/streaming-ux-for-ai-answers/</guid>
      <pubDate>Sat, 10 Oct 2026 01:45:00 GMT</pubDate>
      <description>What users should see in the first second of an AI answer, how to render half-written Markdown without flicker, and how to cancel cleanly. Includes a React example.</description>
      <category>streaming</category><category>UX</category><category>React</category><category>Markdown</category><category>Claude API</category><category>server-sent events</category>
    </item>
    <item>
      <title>Function calling across Claude, GPT-6 and Gemini: one tool, three APIs</title>
      <link>https://mk-comics.vercel.app/blog/function-calling-claude-gpt-6-gemini-same-tool-three-apis/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/function-calling-claude-gpt-6-gemini-same-tool-three-apis/</guid>
      <pubDate>Sat, 10 Oct 2026 01:44:00 GMT</pubDate>
      <description>One lookup tool defined for Claude, OpenAI and Gemini: where the call comes back, how results go in, what parallel and strict mode look like, and a copyable adapter.</description>
      <category>function calling</category><category>tool use</category><category>multi-provider</category><category>Claude Sonnet 5.5</category><category>GPT-6</category><category>Gemini 3.8 Flash</category>
    </item>
    <item>
      <title>Structured output without parsing: JSON schema modes vs System One models</title>
      <link>https://mk-comics.vercel.app/blog/structured-output-json-schema-vs-system-one/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/structured-output-json-schema-vs-system-one/</guid>
      <pubDate>Sat, 10 Oct 2026 01:43:00 GMT</pubDate>
      <description>Claude and Gemini schema modes guarantee the shape of a reply; TypeSafe's Jev returns typed answers with probabilities. What each documents, and when to use which.</description>
      <category>structured output</category><category>JSON schema</category><category>TypeSafe Jev</category><category>Claude</category><category>Gemini</category><category>System One</category>
    </item>
    <item>
      <title>Human-in-the-loop by design: confidence thresholds and review queues</title>
      <link>https://mk-comics.vercel.app/blog/human-in-the-loop-by-design-review-queues/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/human-in-the-loop-by-design-review-queues/</guid>
      <pubDate>Sat, 10 Oct 2026 01:42:00 GMT</pubDate>
      <description>Use model confidence to route work to people, then size the queue, set the SLA and feed corrections back into evals. Managed review tools are closing, so build your own.</description>
      <category>human in the loop</category><category>review queues</category><category>confidence</category><category>TypeSafe Jev</category><category>evals</category>
    </item>
    <item>
      <title>Agentic workflows in enterprise apps: a control loop for production</title>
      <link>https://mk-comics.vercel.app/blog/agentic-workflows-enterprise-control-loop/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/agentic-workflows-enterprise-control-loop/</guid>
      <pubDate>Sat, 10 Oct 2026 01:41:00 GMT</pubDate>
      <description>Plan, act, verify, escalate: budgets, idempotency keys, permission hooks and audit logs for an agent that touches enterprise systems, built on documented SDK features.</description>
      <category>agents</category><category>enterprise</category><category>workflow</category><category>idempotency</category><category>audit logs</category><category>Claude Agent SDK</category>
    </item>
    <item>
      <title>Agent tool design: schemas that models call correctly</title>
      <link>https://mk-comics.vercel.app/blog/agent-tool-design-schemas-models-call-correctly/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/agent-tool-design-schemas-models-call-correctly/</guid>
      <pubDate>Sat, 10 Oct 2026 01:40:00 GMT</pubDate>
      <description>Naming, descriptions, parameter types and error returns for agent tools, checked against the Claude and Gemini docs, plus the forced tool-call change on Claude 5.5.</description>
      <category>tool use</category><category>function calling</category><category>agents</category><category>Claude</category><category>Gemini</category><category>JSON schema</category>
    </item>
    <item>
      <title>Golden datasets: how to build 200 labelled examples in a week</title>
      <link>https://mk-comics.vercel.app/blog/golden-datasets-200-labelled-examples-in-a-week/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/golden-datasets-200-labelled-examples-in-a-week/</guid>
      <pubDate>Sat, 10 Oct 2026 01:39:00 GMT</pubDate>
      <description>A day-by-day plan for 200 labelled examples: sampling, labelling guidelines, adjudication, splits and versioning, plus the arithmetic on what 200 can and cannot prove.</description>
      <category>evals</category><category>labelling</category><category>datasets</category><category>golden dataset</category><category>LLM-as-judge</category>
    </item>
    <item>
      <title>Evals before agents: the smallest useful eval harness for a product team</title>
      <link>https://mk-comics.vercel.app/blog/evals-before-agents-smallest-useful-harness/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/evals-before-agents-smallest-useful-harness/</guid>
      <pubDate>Sat, 10 Oct 2026 01:38:00 GMT</pubDate>
      <description>An 85-line Python harness with a dataset, code checks, an LLM judge and a report, plus what to measure first and how much a pass rate on 100 cases can tell you.</description>
      <category>evals</category><category>testing</category><category>LLM</category>
    </item>
    <item>
      <title>Hybrid search: BM25 plus embeddings plus a reranker, and how to measure it</title>
      <link>https://mk-comics.vercel.app/blog/hybrid-search-bm25-embeddings-reranker/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/hybrid-search-bm25-embeddings-reranker/</guid>
      <pubDate>Sat, 10 Oct 2026 01:37:00 GMT</pubDate>
      <description>Why keyword search still earns a place, how reciprocal rank fusion merges it with embeddings, what rerankers cost, and an eval harness to run on your own data.</description>
      <category>hybrid search</category><category>BM25</category><category>reranking</category>
    </item>
    <item>
      <title>Milvus vs pgvector for a team of four</title>
      <link>https://mk-comics.vercel.app/blog/milvus-vs-pgvector-for-a-team-of-four/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/milvus-vs-pgvector-for-a-team-of-four/</guid>
      <pubDate>Sat, 10 Oct 2026 01:36:00 GMT</pubDate>
      <description>Milvus or pgvector? Index types, filtering behaviour, the 2,000-dimension index limit and the operational footprint, read from both projects' own docs.</description>
      <category>Milvus</category><category>pgvector</category><category>vector database</category>
    </item>
    <item>
      <title>Chunking is a product decision: sizes, overlap and the cost per query</title>
      <link>https://mk-comics.vercel.app/blog/chunking-is-a-product-decision/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/chunking-is-a-product-decision/</guid>
      <pubDate>Sat, 10 Oct 2026 01:35:00 GMT</pubDate>
      <description>Chunk size sets what the model reads, what you store and what each query costs. The evidence on size and overlap, a priced table, and a harness to test your own.</description>
      <category>RAG</category><category>chunking</category><category>embeddings</category>
    </item>
    <item>
      <title>RAG in 2026: when retrieval is optional, and when it is still the whole product</title>
      <link>https://mk-comics.vercel.app/blog/rag-in-2026-when-retrieval-is-optional/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/rag-in-2026-when-retrieval-is-optional/</guid>
      <pubDate>Sat, 10 Oct 2026 01:34:00 GMT</pubDate>
      <description>Every current Claude model has a 1M-token window and cached reads cost 5% of input. When to skip retrieval, when not to, with a priced 150k-token example.</description>
      <category>RAG</category><category>long context</category><category>retrieval</category>
    </item>
    <item>
      <title>AI coding agents in late 2026: Claude Code, Codex and Antigravity compared</title>
      <link>https://mk-comics.vercel.app/blog/ai-coding-agents-compared-claude-code-codex-antigravity/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/ai-coding-agents-compared-claude-code-codex-antigravity/</guid>
      <pubDate>Sat, 10 Oct 2026 01:33:00 GMT</pubDate>
      <description>As of 10 October 2026: what Claude Code, OpenAI Codex and Google Antigravity are, which models and plans sit behind them, and how to run a fair bake-off.</description>
      <category>Claude Code</category><category>Codex</category><category>Antigravity</category><category>coding agents</category><category>pricing</category>
    </item>
    <item>
      <title>Open-weight models in late 2026: where Llama, Mistral and Qwen stand</title>
      <link>https://mk-comics.vercel.app/blog/open-weight-models-late-2026-llama-mistral-qwen/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/open-weight-models-late-2026-llama-mistral-qwen/</guid>
      <pubDate>Sat, 10 Oct 2026 01:32:00 GMT</pubDate>
      <description>As of 10 Oct 2026: Qwen3.8 and Mistral Small 4 are open, Mistral Large 4 is API-only for now, and Meta has nothing newer than Llama 4. Licences and when to self-host.</description>
      <category>open weights</category><category>Llama</category><category>Mistral</category><category>Qwen</category><category>licences</category><category>self-hosting</category>
    </item>
    <item>
      <title>The Claude API speed setting: what 'fast' does and when to pay for it</title>
      <link>https://mk-comics.vercel.app/blog/claude-api-speed-fast-setting-when-to-pay/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/claude-api-speed-fast-setting-when-to-pay/</guid>
      <pubDate>Sat, 10 Oct 2026 01:31:00 GMT</pubDate>
      <description>As of 10 October 2026, speed: fast gives Opus 5.5 up to 2.5x output tokens per second at twice the price. What it does, what it breaks, and when it pays.</description>
      <category>Claude API</category><category>fast mode</category><category>latency</category><category>pricing</category><category>Claude Opus 5.5</category><category>prompt caching</category>
    </item>
    <item>
      <title>1M context and 128k output: what the new Claude limits let you build</title>
      <link>https://mk-comics.vercel.app/blog/1m-context-128k-output-what-you-can-build/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/1m-context-128k-output-what-you-can-build/</guid>
      <pubDate>Sat, 10 Oct 2026 01:30:00 GMT</pubDate>
      <description>Every current Claude model has a 1M window and 128k output. The costs, the streaming rule for long generations, the 300k batch beta, and a worked bill.</description>
      <category>context window</category><category>max output</category><category>Claude</category><category>streaming</category><category>cost</category>
    </item>
    <item>
      <title>Claude Haiku 5.5 rejects temperature: sampling controls are disappearing</title>
      <link>https://mk-comics.vercel.app/blog/claude-haiku-5-5-rejects-temperature-sampling-controls/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/claude-haiku-5-5-rejects-temperature-sampling-controls/</guid>
      <pubDate>Sat, 10 Oct 2026 01:29:00 GMT</pubDate>
      <description>As of 10 October 2026, Haiku 5.5, Sonnet 5.5 and Opus 5.5 return 400 for non-default temperature, top_p and top_k. What to do about determinism and variety.</description>
      <category>Claude Haiku 5.5</category><category>temperature</category><category>API design</category><category>sampling parameters</category><category>migration</category>
    </item>
    <item>
      <title>Cache read pricing compared: 0.025x to 0.1x across Claude, Gemini and GPT-6</title>
      <link>https://mk-comics.vercel.app/blog/prompt-cache-read-pricing-compared-across-labs/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/prompt-cache-read-pricing-compared-across-labs/</guid>
      <pubDate>Sat, 10 Oct 2026 01:28:00 GMT</pubDate>
      <description>Cache read multipliers, write fees, minimum prompt sizes and lifetimes for Claude, Gemini and GPT-6 in one table, plus break-even maths and a rule by traffic shape.</description>
      <category>prompt caching</category><category>LLM pricing</category><category>Claude</category><category>Gemini</category><category>GPT-6</category><category>cost optimisation</category>
    </item>
    <item>
      <title>Price per million tokens, October 2026: Claude, Gemini and GPT-6 compared</title>
      <link>https://mk-comics.vercel.app/blog/price-per-million-tokens-october-2026-all-labs/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/price-per-million-tokens-october-2026-all-labs/</guid>
      <pubDate>Sat, 10 Oct 2026 01:27:00 GMT</pubDate>
      <description>Input, cached input and output per million tokens for the current Claude, Gemini and OpenAI models, with a source for every row and the footnotes that change the bill.</description>
      <category>LLM pricing</category><category>Claude</category><category>Gemini</category><category>GPT-6</category><category>cost optimisation</category>
    </item>
    <item>
      <title>Model deprecation calendar, Q4 2026: Anthropic, Google and OpenAI dates</title>
      <link>https://mk-comics.vercel.app/blog/model-deprecation-calendar-q4-2026/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/model-deprecation-calendar-q4-2026/</guid>
      <pubDate>Sat, 10 Oct 2026 01:26:00 GMT</pubDate>
      <description>Every dated retirement from Anthropic, Google and OpenAI between October and December 2026, with migration targets, the soft dates to ignore, and a CI check.</description>
      <category>deprecation</category><category>Claude</category><category>Gemini</category><category>OpenAI</category><category>migration</category>
    </item>
    <item>
      <title>Gemini deep research agents: what replaces the 23 October shutdown</title>
      <link>https://mk-comics.vercel.app/blog/gemini-deep-research-models-preview-deprecations/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/gemini-deep-research-models-preview-deprecations/</guid>
      <pubDate>Sat, 10 Oct 2026 01:25:00 GMT</pubDate>
      <description>The December 2025 Deep Research agent shuts down on 23 October 2026. What the two April replacements do, what they cost per task, and a migration checklist.</description>
      <category>Gemini deep research</category><category>deprecation</category><category>agents</category><category>Interactions API</category>
    </item>
    <item>
      <title>Confidence-gated routing: use model confidence as a second axis</title>
      <link>https://mk-comics.vercel.app/blog/confidence-gated-routing-second-decision-axis/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/confidence-gated-routing-second-decision-axis/</guid>
      <pubDate>Sat, 10 Oct 2026 01:24:00 GMT</pubDate>
      <description>Act, confirm or escalate: how to gate model answers on confidence, set thresholds by cost of error, and get a usable signal from Jev and from JSON-schema chat models.</description>
      <category>confidence</category><category>routing</category><category>human in the loop</category><category>TypeSafe Jev</category><category>structured output</category>
    </item>
    <item>
      <title>Noul: yes/no with a probability, and setting thresholds by the cost of error</title>
      <link>https://mk-comics.vercel.app/blog/jev-noul-yes-no-probability-thresholds/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/jev-noul-yes-no-probability-thresholds/</guid>
      <pubDate>Sat, 10 Oct 2026 01:23:00 GMT</pubDate>
      <description>TypeSafe's Noul returns the probability that a statement is true. How to phrase questions, pick thresholds from the cost of errors, and route the middle band to people.</description>
      <category>TypeSafe Jev</category><category>Noul</category><category>thresholds</category><category>guardrails</category><category>Python</category>
    </item>
    <item>
      <title>Jev's Score primitive: designing rubrics a model can actually use</title>
      <link>https://mk-comics.vercel.app/blog/jev-score-primitive-designing-rubrics/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/jev-score-primitive-designing-rubrics/</guid>
      <pubDate>Sat, 10 Oct 2026 01:22:00 GMT</pubDate>
      <description>How TypeSafe's Jev Score works: ordered levels, the score and confidence maths, why numbers in rubrics fail, and composite scoring to rank pull requests in code.</description>
      <category>TypeSafe Jev</category><category>Score</category><category>rubrics</category><category>composite scoring</category><category>Python</category>
    </item>
    <item>
      <title>Jev's Choice primitive: 255 options and the distribution you get back</title>
      <link>https://mk-comics.vercel.app/blog/jev-choice-primitive-255-options-probability-distribution/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/jev-choice-primitive-255-options-probability-distribution/</guid>
      <pubDate>Sat, 10 Oct 2026 01:21:00 GMT</pubDate>
      <description>How to write Choice criteria for TypeSafe's Jev, read the probability distribution, set confidence thresholds per question, and search deep taxonomies with a beam.</description>
      <category>TypeSafe Jev</category><category>Choice</category><category>classification</category><category>confidence</category><category>Python</category>
    </item>
    <item>
      <title>TypeSafe AI raises $870M: the lab betting on models that answer, not write</title>
      <link>https://mk-comics.vercel.app/blog/typesafe-ai-the-lab-betting-on-models-that-answer/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/typesafe-ai-the-lab-betting-on-models-that-answer/</guid>
      <pubDate>Sat, 10 Oct 2026 01:20:00 GMT</pubDate>
      <description>TypeSafe came out of stealth on 15 September with Jev, a System One model that returns typed decisions. What the category is, what is claimed, and who should care.</description>
      <category>TypeSafe</category><category>Jev</category><category>System One</category><category>funding</category><category>LLM pricing</category><category>structured output</category>
    </item>
    <item>
      <title>Agentic video understanding in Gemini: up to 88% fewer tokens on long video</title>
      <link>https://mk-comics.vercel.app/blog/agentic-video-understanding-gemini-88-percent-fewer-tokens/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/agentic-video-understanding-gemini-88-percent-fewer-tokens/</guid>
      <pubDate>Sat, 10 Oct 2026 01:19:00 GMT</pubDate>
      <description>Gemini's agentic video mode loads only the frames, audio and transcript a prompt needs. What shipped, why 88% fewer tokens is not 88% off the bill, and a calculator.</description>
      <category>video understanding</category><category>Gemini</category><category>tokens</category><category>LLM pricing</category><category>Gemini 3.8 Flash</category><category>cost optimisation</category>
    </item>
    <item>
      <title>Lyria 3.5: full-length song generation and what it means for creative tooling</title>
      <link>https://mk-comics.vercel.app/blog/lyria-3-5-full-length-song-generation/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/lyria-3-5-full-length-song-generation/</guid>
      <pubDate>Sat, 10 Oct 2026 01:18:00 GMT</pubDate>
      <description>lyria-3.5 generates songs of a couple of minutes from text or images at $0.08 each. The API call, a draft-then-render workflow, and the licensing questions.</description>
      <category>Lyria 3.5</category><category>music generation</category><category>Gemini API</category><category>Interactions API</category><category>licensing</category>
    </item>
    <item>
      <title>Google's Antigravity agent preview: what changed in the 09-2026 release</title>
      <link>https://mk-comics.vercel.app/blog/antigravity-agent-preview-google-agent-platform/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/antigravity-agent-preview-google-agent-platform/</guid>
      <pubDate>Sat, 10 Oct 2026 01:17:00 GMT</pubDate>
      <description>antigravity-preview-09-2026 replaced the 05-2026 agent on 17 September: renamed tools, line-range edits, token budgets. A migration checklist and a minimal call.</description>
      <category>Antigravity</category><category>Gemini agents</category><category>Google</category><category>Interactions API</category><category>migration</category>
    </item>
    <item>
      <title>1M context by default: when long context beats retrieval, and when it doesn't</title>
      <link>https://mk-comics.vercel.app/blog/1m-context-by-default-when-long-context-beats-rag/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/1m-context-by-default-when-long-context-beats-rag/</guid>
      <pubDate>Sat, 10 Oct 2026 01:16:00 GMT</pubDate>
      <description>Most current Claude models include 1M tokens at standard pricing. A priced comparison of stuffing a 400k corpus versus retrieving 8k, and a decision table.</description>
      <category>long context</category><category>RAG</category><category>Claude</category><category>prompt caching</category><category>cost</category>
    </item>
    <item>
      <title>Claude Fable 5.1 and the Mythos tier: who needs a $50-per-million model</title>
      <link>https://mk-comics.vercel.app/blog/claude-fable-5-1-mythos-tier-who-needs-it/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/claude-fable-5-1-mythos-tier-who-needs-it/</guid>
      <pubDate>Sat, 10 Oct 2026 01:15:00 GMT</pubDate>
      <description>Fable 5.1 costs $10 in and $50 out per million tokens, 2.5x Opus 5.5. Where the premium can pay, how cached agent loops price out, and who can use Mythos 5.1.</description>
      <category>Claude Fable 5.1</category><category>Claude Mythos</category><category>Claude Opus 5.5</category><category>LLM pricing</category><category>agents</category>
    </item>
    <item>
      <title>The July 2026 OpenAI agent incident: what is reported, and what to change</title>
      <link>https://mk-comics.vercel.app/blog/openai-july-2026-agent-incident-safeguards-first/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/openai-july-2026-agent-incident-safeguards-first/</guid>
      <pubDate>Sat, 10 Oct 2026 01:14:00 GMT</pubDate>
      <description>What sources say about OpenAI's July 2026 agent incident, the UK AISI Astra tests and the GPT-6.1 shelving, plus a default-deny tool policy you can copy.</description>
      <category>AI safety</category><category>agents</category><category>OpenAI</category><category>sandboxing</category><category>tool permissions</category><category>GPT-6</category>
    </item>
    <item>
      <title>GPT-6's Intelligent UI: what widget answers mean for product teams</title>
      <link>https://mk-comics.vercel.app/blog/gpt-6-instant-intelligent-ui-widget-answers/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/gpt-6-instant-intelligent-ui-widget-answers/</guid>
      <pubDate>Sat, 10 Oct 2026 01:13:00 GMT</pubDate>
      <description>ChatGPT answers now arrive as buttons, charts and forms. What OpenAI has said, what it has not, and how to design chat features and Apps SDK widgets around it.</description>
      <category>GPT-6</category><category>Intelligent UI</category><category>generative UI</category><category>product design</category><category>MCP Apps</category>
    </item>
    <item>
      <title>GPT-6 Astra, Sol, Luna and Instant: what is published and what is not</title>
      <link>https://mk-comics.vercel.app/blog/gpt-6-astra-sol-luna-instant-what-we-know/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/gpt-6-astra-sol-luna-instant-what-we-know/</guid>
      <pubDate>Sat, 10 Oct 2026 01:12:00 GMT</pubDate>
      <description>GPT-6 has a published API price list, but Instant is not on it. What OpenAI's pricing page, press and Wikipedia agree on, where they conflict, and how to plan around it.</description>
      <category>GPT-6</category><category>OpenAI</category><category>model selection</category><category>LLM pricing</category><category>GPT-6 Astra</category>
    </item>
    <item>
      <title>Gemini 2.5 is limited, not deprecated: what that means for your project</title>
      <link>https://mk-comics.vercel.app/blog/gemini-2-5-wind-down-what-limited-access-means/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/gemini-2-5-wind-down-what-limited-access-means/</guid>
      <pubDate>Sat, 10 Oct 2026 01:11:00 GMT</pubDate>
      <description>Since 18 September, Gemini 2.5 access is limited to prior users. The text models have no shutdown date; the audio and image ones do. Dates, prices and a migration check.</description>
      <category>Gemini 2.5</category><category>deprecation</category><category>migration</category><category>Gemini API</category><category>implicit caching</category>
    </item>
    <item>
      <title>Nano Banana 2.1 in the Gemini API: 4K pricing and where it fits</title>
      <link>https://mk-comics.vercel.app/blog/nano-banana-2-1-4k-image-generation-gemini-api/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/nano-banana-2-1-4k-image-generation-gemini-api/</guid>
      <pubDate>Sat, 10 Oct 2026 01:10:00 GMT</pubDate>
      <description>gemini-nano-banana-2.1 went GA on 6 October with 1K, 2K and 4K output and panoramic ratios. Per-image prices, what it replaces, and a Python call you can adapt.</description>
      <category>Nano Banana 2.1</category><category>image generation</category><category>Gemini API</category><category>pricing</category><category>Open Graph images</category>
    </item>
    <item>
      <title>Gemini 3.8 Flash TTS and the voices endpoint: a narrated product tour</title>
      <link>https://mk-comics.vercel.app/blog/gemini-3-8-flash-tts-voices-endpoint-narrated-tour/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/gemini-3-8-flash-tts-voices-endpoint-narrated-tour/</guid>
      <pubDate>Sat, 10 Oct 2026 01:09:00 GMT</pubDate>
      <description>Gemini 3.8 Flash TTS went GA on 22 September with a voices endpoint. Prices, limits, a Next.js route that narrates a page, and the 17 November shutdown to plan for.</description>
      <category>Gemini TTS</category><category>text to speech</category><category>Next.js</category><category>Gemini 3.8 Flash TTS</category><category>voice design</category><category>accessibility</category>
    </item>
    <item>
      <title>Gemini 3.8 Live extended thinking: what it buys a voice agent</title>
      <link>https://mk-comics.vercel.app/blog/gemini-3-8-live-voice-agents-extended-thinking/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/gemini-3-8-live-voice-agents-extended-thinking/</guid>
      <pubDate>Sat, 10 Oct 2026 01:08:00 GMT</pubDate>
      <description>Gemini 3.8 Live and its extended-thinking variant went GA on 15 September 2026. What the extra reasoning does, what it costs the client, and a latency budget.</description>
      <category>Gemini 3.8 Live</category><category>voice agents</category><category>Live API</category><category>extended thinking</category><category>latency</category>
    </item>
    <item>
      <title>Gemini 3.8 Flash: 3.7 now routes to it, and what to test</title>
      <link>https://mk-comics.vercel.app/blog/gemini-3-8-flash-in-production/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/gemini-3-8-flash-in-production/</guid>
      <pubDate>Sat, 10 Oct 2026 01:07:00 GMT</pubDate>
      <description>Since 8 October 2026, requests to gemini-3.7-flash are routed to gemini-3.8-flash at the same price, until rates double on 1 January 2027. What to test before it bites.</description>
      <category>Gemini 3.8 Flash</category><category>Gemini API</category><category>migration</category><category>LLM pricing</category><category>model routing</category>
    </item>
    <item>
      <title>Claude Sonnet 4.5 retires on 30 November 2026: a migration checklist</title>
      <link>https://mk-comics.vercel.app/blog/claude-sonnet-4-5-retirement-migration-checklist/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/claude-sonnet-4-5-retirement-migration-checklist/</guid>
      <pubDate>Sat, 10 Oct 2026 01:06:00 GMT</pubDate>
      <description>claude-sonnet-4-5-20250929 retires on 30 November 2026. The settings that now return a 400 on Sonnet 5.5, the cost delta, and how to test before the date.</description>
      <category>Claude Sonnet 4.5</category><category>Claude Sonnet 5.5</category><category>deprecation</category><category>migration</category><category>LLM pricing</category>
    </item>
    <item>
      <title>Claude Opus 5.5 breaking changes: thinking can't be disabled</title>
      <link>https://mk-comics.vercel.app/blog/claude-opus-5-5-breaking-changes-migration/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/claude-opus-5-5-breaking-changes-migration/</guid>
      <pubDate>Sat, 10 Oct 2026 01:05:00 GMT</pubDate>
      <description>Opus 5.5 costs less per token than Opus 5 but returns a 400 for thinking disabled and forced tool_choice. The exact errors, the cost trap and a migration checklist.</description>
      <category>Claude Opus 5.5</category><category>migration</category><category>API</category><category>adaptive thinking</category><category>LLM pricing</category>
    </item>
    <item>
      <title>Claude Haiku 5.5 for classification: what changed and what it costs</title>
      <link>https://mk-comics.vercel.app/blog/claude-haiku-5-5-high-volume-classification/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/claude-haiku-5-5-high-volume-classification/</guid>
      <pubDate>Sat, 10 Oct 2026 01:04:00 GMT</pubDate>
      <description>Haiku 5.5 launched 7 October 2026 at $0.10 input and $0.50 output per million tokens. What changed from 4.5, what returns a 400, and a classification bill priced out.</description>
      <category>Claude Haiku 5.5</category><category>classification</category><category>LLM pricing</category><category>structured outputs</category><category>prompt caching</category>
    </item>
    <item>
      <title>Jev as a programming primitive: typed questions, not prompts</title>
      <link>https://mk-comics.vercel.app/blog/jev-typed-questions-instead-of-prompt-and-parse/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/jev-typed-questions-instead-of-prompt-and-parse/</guid>
      <pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate>
      <description>Jev answers typed questions with calibrated probabilities instead of writing text: how Choice, Score and Noul work, what confidence means, and a worked intake example.</description>
      <category>TypeSafe Jev</category><category>System One</category><category>structured output</category><category>classification</category><category>confidence</category><category>Python</category>
    </item>
    <item>
      <title>Prompt caching economics: what a RAG bill looks like in 2026</title>
      <link>https://mk-comics.vercel.app/blog/prompt-caching-economics-rag-bill-2026/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/prompt-caching-economics-rag-bill-2026/</guid>
      <pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate>
      <description>Cached input now costs 5 to 10% of list price on Claude, Gemini and GPT-6. The rules, minimums and traps, plus a 10,000-call-a-day RAG bill priced on three models.</description>
      <category>prompt caching</category><category>LLM pricing</category><category>RAG</category><category>Claude Sonnet 5.5</category><category>Gemini 3.8 Flash</category><category>GPT-6</category><category>cost optimisation</category>
    </item>
    <item>
      <title>Which AI model should you build on in October 2026?</title>
      <link>https://mk-comics.vercel.app/blog/which-ai-model-to-build-on-october-2026/</link>
      <guid isPermaLink="true">https://mk-comics.vercel.app/blog/which-ai-model-to-build-on-october-2026/</guid>
      <pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate>
      <description>Claude 5.5, GPT-6, Gemini 3.8 and TypeSafe's Jev all shipped in five weeks. Dates, prices and limits from primary sources, and what I would actually pick for a product.</description>
      <category>Claude 5.5</category><category>GPT-6</category><category>Gemini 3.8</category><category>TypeSafe Jev</category><category>model selection</category><category>LLM pricing</category>
    </item>
  </channel>
</rss>