<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://blog.abuthahirksm.uk/</loc>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts</loc>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories</loc>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-tool-returned-200-and-nothing-happened</loc>
    <lastmod>2026-08-26T23:39:37.283Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/let-the-model-pick-the-transition-not-the-tool</loc>
    <lastmod>2026-08-26T23:47:16.429Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/extraction-was-never-the-hard-part-an-invoice-agent-rebuilt</loc>
    <lastmod>2026-08-26T22:41:32.230Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/where-should-the-agent-loop-live-framework-job-queue-or-workflow-engine</loc>
    <lastmod>2026-08-26T21:44:51.802Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-95-step-accuracy-is-a-60-agent</loc>
    <lastmod>2026-08-26T20:59:45.415Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/four-tool-calls-to-one-answer-a-research-run-annotated</loc>
    <lastmod>2026-08-26T20:11:56.525Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/read-only-was-never-the-same-as-safe</loc>
    <lastmod>2026-08-26T19:37:25.909Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/should-your-agent-remember-that-or-just-look-it-up-again</loc>
    <lastmod>2026-08-26T18:47:28.681Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-first-hour-of-an-agent-incident</loc>
    <lastmod>2026-08-26T17:34:56.129Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-supervisor-that-should-have-been-a-for-loop</loc>
    <lastmod>2026-08-26T16:35:29.506Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/handing-an-agent-a-pdf-three-paths-into-the-context</loc>
    <lastmod>2026-08-26T16:09:33.169Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/was-it-retrieval-or-reasoning-diagnosing-a-wrong-answer</loc>
    <lastmod>2026-08-26T14:45:26.569Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/designing-an-agent-you-can-redirect-mid-run</loc>
    <lastmod>2026-08-26T13:42:13.790Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-screening-agent-that-could-only-be-right</loc>
    <lastmod>2026-08-26T12:45:27.848Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/three-ways-to-get-valid-json-and-what-each-one-costs</loc>
    <lastmod>2026-08-26T12:11:49.455Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/test-the-tool-or-test-the-agent-what-each-layer-catches</loc>
    <lastmod>2026-08-26T10:36:44.780Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/choosing-your-first-three-tools</loc>
    <lastmod>2026-08-26T09:30:42.679Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/injection-that-crosses-a-handoff</loc>
    <lastmod>2026-08-26T08:37:06.863Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-trace-store-will-outgrow-your-model-bill</loc>
    <lastmod>2026-08-26T08:02:42.726Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-a-worker-returns-garbage-validating-at-the-handoff</loc>
    <lastmod>2026-08-26T06:27:15.214Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-timeout-that-looked-like-an-empty-result</loc>
    <lastmod>2026-08-26T06:26:17.960Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/budgeting-the-context-window-dividing-a-fixed-space</loc>
    <lastmod>2026-08-26T04:07:37.256Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-ten-years-of-agent-tooling-might-look-like</loc>
    <lastmod>2026-08-26T04:15:40.010Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-skills-that-were-always-the-job</loc>
    <lastmod>2026-08-26T04:15:20.769Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/positions-worth-revising-about-agents</loc>
    <lastmod>2026-08-26T04:08:20.244Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/reading-the-agent-discourse-without-being-misled</loc>
    <lastmod>2026-08-26T04:07:09.058Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agent-vocabulary-what-the-terms-actually-mean</loc>
    <lastmod>2026-08-26T04:12:31.906Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-first-agent-to-deploy-in-a-company-that-has-none</loc>
    <lastmod>2026-08-26T04:12:41.716Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/working-with-an-agent-as-a-pair-not-a-vending-machine</loc>
    <lastmod>2026-08-26T02:41:16.759Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-second-system-effect-in-agent-deployments</loc>
    <lastmod>2026-08-26T04:06:17.910Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-to-stop-improving-an-agent</loc>
    <lastmod>2026-08-26T04:06:49.596Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-economics-of-an-agent-heavy-team</loc>
    <lastmod>2026-08-26T04:16:05.508Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-to-run-an-agent-pilot-that-produces-a-decision</loc>
    <lastmod>2026-08-26T04:13:38.994Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/buying-vs-building-agent-capability-as-a-company</loc>
    <lastmod>2026-08-26T04:11:10.351Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-documentation-problem-agents-create</loc>
    <lastmod>2026-08-26T04:05:46.418Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/open-source-after-cheap-contributions</loc>
    <lastmod>2026-08-26T04:06:16.823Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/compliance-and-audit-for-agent-written-systems</loc>
    <lastmod>2026-08-26T02:37:48.880Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/security-review-when-nobody-wrote-the-code</loc>
    <lastmod>2026-08-26T04:06:49.204Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-your-codebase-will-grow-faster-than-your-understanding</loc>
    <lastmod>2026-08-26T04:07:07.877Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/technical-debt-in-the-age-of-cheap-code</loc>
    <lastmod>2026-08-26T04:09:56.220Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/onboarding-into-a-codebase-nobody-fully-read</loc>
    <lastmod>2026-08-26T04:06:48.242Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/hiring-engineers-when-take-home-tests-are-meaningless</loc>
    <lastmod>2026-08-26T04:10:00.822Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/estimating-work-when-implementation-speed-is-unpredictable</loc>
    <lastmod>2026-08-26T04:05:44.040Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-changes-for-engineering-managers</loc>
    <lastmod>2026-08-26T04:05:45.799Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-changes-for-product-managers</loc>
    <lastmod>2026-08-26T04:06:16.833Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-just-add-an-agent-fails-as-a-product-strategy</loc>
    <lastmod>2026-08-26T04:13:25.133Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-use-cases-everyone-tries-and-nobody-ships</loc>
    <lastmod>2026-08-26T04:15:22.021Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-use-cases-agents-genuinely-solve-today</loc>
    <lastmod>2026-08-26T04:10:00.943Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/data-work-gets-more-valuable-not-less</loc>
    <lastmod>2026-08-26T04:06:50.422Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-support-org-after-agents-fewer-tickets-harder-tickets</loc>
    <lastmod>2026-08-26T04:13:23.680Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-happens-to-qa-when-agents-write-the-tests</loc>
    <lastmod>2026-08-26T04:08:21.073Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/evaluation-engineer-the-job-description-writing-itself</loc>
    <lastmod>2026-08-26T04:07:14.903Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agent-operations-the-role-without-a-title-yet</loc>
    <lastmod>2026-08-26T04:07:39.179Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-jobs-that-get-created-are-hard-to-name-in-advance</loc>
    <lastmod>2026-08-26T04:16:19.116Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/which-jobs-go-first-a-framework-rather-than-a-list</loc>
    <lastmod>2026-08-26T04:09:35.102Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-career-risk-of-being-excellent-at-the-thing-being-automated</loc>
    <lastmod>2026-08-26T04:16:18.405Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/if-theres-a-bubble-what-survives-the-pop</loc>
    <lastmod>2026-08-26T04:12:42.210Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/juniors-in-an-agent-world-the-path-that-still-works</loc>
    <lastmod>2026-08-26T04:13:39.352Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-systems-thinking-is-appreciating-in-value</loc>
    <lastmod>2026-08-26T04:07:10.020Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/becoming-the-person-who-decides-what-gets-built</loc>
    <lastmod>2026-08-26T04:12:41.065Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/skills-to-deepen-and-skills-to-stop-investing-in</loc>
    <lastmod>2026-08-26T04:16:18.418Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/staying-employable-when-code-generation-is-nearly-free</loc>
    <lastmod>2026-08-26T04:07:15.406Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/model-loop-harness-three-layers-and-who-owns-each</loc>
    <lastmod>2026-08-26T04:09:39.022Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-distributed-systems-experience-transfers-to-agent-loops</loc>
    <lastmod>2026-08-26T04:08:21.953Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/prompt-engineering-was-the-beginning-not-the-skill</loc>
    <lastmod>2026-08-26T04:09:17.169Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-loop-decisions-you-only-make-once</loc>
    <lastmod>2026-08-26T04:07:37.931Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/context-engineering-is-the-job-now</loc>
    <lastmod>2026-08-26T04:07:15.903Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/lock-in-risk-in-agent-tooling-and-how-to-keep-optionality</loc>
    <lastmod>2026-08-26T04:12:31.536Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-moat-isnt-the-model-its-the-loop-around-it</loc>
    <lastmod>2026-08-26T04:09:36.992Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/will-open-source-harnesses-eat-commercial-coding-tools</loc>
    <lastmod>2026-08-26T04:07:10.291Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-a-harness-actually-is-and-why-its-the-real-product</loc>
    <lastmod>2026-08-26T04:13:23.568Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/ide-assistants-vs-agent-harnesses-different-products-different-futures</loc>
    <lastmod>2026-08-26T04:13:40.325Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/if-intelligence-gets-cheap-what-becomes-scarce</loc>
    <lastmod>2026-08-26T04:08:22.408Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-falling-inference-costs-change-about-agent-design</loc>
    <lastmod>2026-08-26T04:09:38.642Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-case-for-a-local-first-agent-stack</loc>
    <lastmod>2026-08-26T04:06:19.098Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-runs-locally-today-and-what-still-wont-soon</loc>
    <lastmod>2026-08-26T04:16:11.592Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/will-on-device-intelligence-be-free-what-the-economics-say</loc>
    <lastmod>2026-08-26T04:13:24.290Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-to-benchmark-models-on-your-own-task</loc>
    <lastmod>2026-08-26T04:07:38.491Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-a-small-model-beats-a-big-one-and-how-to-tell</loc>
    <lastmod>2026-08-26T04:13:40.795Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-cost-of-choosing-your-model-too-early</loc>
    <lastmod>2026-08-26T04:15:16.077Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/matching-model-tier-to-task-a-practical-table</loc>
    <lastmod>2026-08-26T04:06:48.215Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/should-you-always-reach-for-the-flagship-model</loc>
    <lastmod>2026-08-26T02:16:18.143Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/three-things-that-would-genuinely-surprise-me-in-two-years</loc>
    <lastmod>2026-08-26T04:13:41.331Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-compounding-loop-agents-building-agent-infrastructure</loc>
    <lastmod>2026-08-26T04:06:18.529Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-happens-when-verification-gets-automated-too</loc>
    <lastmod>2026-08-26T04:09:16.668Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/who-adopts-first-and-why-it-isnt-the-biggest-companies</loc>
    <lastmod>2026-08-26T04:15:39.683Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-agents-got-better-would-actually-look-like-in-your-system</loc>
    <lastmod>2026-08-26T04:12:37.593Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-benchmarks-keep-rising-while-deployments-stay-hard</loc>
    <lastmod>2026-08-26T04:07:16.407Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-reliability-ceiling-and-what-would-have-to-change</loc>
    <lastmod>2026-08-26T04:11:09.244Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/longer-context-windows-wont-fix-long-horizon-tasks</loc>
    <lastmod>2026-08-26T04:10:01.486Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-gets-cheap-next-and-what-stays-expensive</loc>
    <lastmod>2026-08-26T04:12:35.853Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/predicting-agent-capability-reason-from-mechanism-not-vibes</loc>
    <lastmod>2026-08-26T04:08:20.675Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/debugging-code-you-didnt-write-and-dont-understand</loc>
    <lastmod>2026-08-26T04:05:44.795Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/novel-problems-vs-recombined-ones-the-line-that-matters</loc>
    <lastmod>2026-08-26T04:12:41.235Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/negotiation-politics-and-the-work-that-isnt-in-the-ticket</loc>
    <lastmod>2026-08-26T04:15:39.692Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-the-requirement-itself-is-wrong-who-notices</loc>
    <lastmod>2026-08-26T04:09:16.413Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/ambiguity-resolution-stays-a-human-job-for-a-while</loc>
    <lastmod>2026-08-26T04:10:02.727Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-meeting-an-agent-cant-attend</loc>
    <lastmod>2026-08-26T04:11:09.015Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-agents-struggle-where-theres-no-feedback-signal</loc>
    <lastmod>2026-08-26T04:12:35.878Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/accountability-cannot-be-delegated-to-a-model</loc>
    <lastmod>2026-08-26T04:07:14.754Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/taste-is-a-bottleneck-where-judgment-has-no-substitute-yet</loc>
    <lastmod>2026-08-26T04:12:37.094Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-failure-modes-that-dont-improve-with-scale</loc>
    <lastmod>2026-08-26T04:09:17.674Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-sdlc-steps-that-resist-automation-longest-and-why</loc>
    <lastmod>2026-08-26T04:12:42.712Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-an-agent-run-sprint-actually-looks-like</loc>
    <lastmod>2026-08-26T04:12:32.418Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/code-review-when-most-code-is-agent-written</loc>
    <lastmod>2026-08-26T04:05:45.963Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-deploy-step-nobody-should-automate-yet</loc>
    <lastmod>2026-08-26T02:03:14.617Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/autonomous-refactors-what-makes-one-safe-enough-to-merge</loc>
    <lastmod>2026-08-26T04:12:32.924Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/requirements-are-the-bottleneck-an-sdlc-agent-cant-remove</loc>
    <lastmod>2026-08-26T04:10:02.048Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-handoff-that-breaks-every-autonomous-sdlc-pipeline</loc>
    <lastmod>2026-08-26T04:11:09.764Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agents-are-better-at-writing-code-than-at-deciding-what-to-build</loc>
    <lastmod>2026-08-26T04:12:31.517Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-ticket-to-pr-agent-which-half-of-the-job-it-does-well</loc>
    <lastmod>2026-08-26T04:16:05.522Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-end-to-end-development-agent-actually-means-right-now</loc>
    <lastmod>2026-08-26T04:11:12.672Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-employers-pay-for-when-code-itself-is-cheap</loc>
    <lastmod>2026-08-26T04:07:37.244Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/whos-genuinely-at-risk-and-why-it-isnt-about-seniority</loc>
    <lastmod>2026-08-26T04:15:40.502Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-fear-is-about-identity-as-much-as-employment</loc>
    <lastmod>2026-08-26T04:16:10.435Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/output-went-up-review-capacity-didnt</loc>
    <lastmod>2026-08-26T04:12:36.606Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-actually-got-automated-away-in-previous-software-waves</loc>
    <lastmod>2026-08-26T04:09:35.151Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-engineer-got-faster-and-the-team-got-smaller-both-are-happening</loc>
    <lastmod>2026-08-26T04:15:16.092Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/cheaper-software-means-more-software-the-demand-argument</loc>
    <lastmod>2026-08-26T04:07:07.434Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-10-productivity-doesnt-mean-one-tenth-the-engineers</loc>
    <lastmod>2026-08-26T04:09:16.420Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-parts-of-your-job-an-agent-cant-see</loc>
    <lastmod>2026-08-26T03:13:46.767Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/will-ai-replace-engineers-is-the-wrong-question-ask-which-tasks</loc>
    <lastmod>2026-08-26T03:16:54.390Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/upgrading-one-agent-in-a-system-of-six</loc>
    <lastmod>2026-08-26T03:19:23.250Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/raw-sql-or-curated-queries-giving-an-agent-your-database</loc>
    <lastmod>2026-08-26T02:44:48.327Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/half-the-job-is-a-real-answer-designing-for-partial-success</loc>
    <lastmod>2026-08-26T01:24:19.209Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agents-get-worse-while-youre-not-touching-them</loc>
    <lastmod>2026-08-26T00:12:46.207Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/which-agent-alerts-should-wake-someone-up</loc>
    <lastmod>2026-08-25T23:05:28.357Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/from-prompt-edit-to-signal-in-under-a-minute</loc>
    <lastmod>2026-08-25T22:22:03.502Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-inbox-agent-that-filed-everything-correctly-and-lost-two-questions</loc>
    <lastmod>2026-08-25T21:06:06.260Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-tool-that-changed-under-you-supply-chain-risk-in-agent-tooling</loc>
    <lastmod>2026-08-25T20:15:20.334Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-many-eval-cases-do-you-actually-need</loc>
    <lastmod>2026-08-25T19:11:47.050Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/one-query-is-rarely-enough-iterative-retrieval-for-agents</loc>
    <lastmod>2026-08-25T18:25:51.641Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-id-tell-a-team-starting-their-first-agent-project</loc>
    <lastmod>2026-08-25T18:28:48.579Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/should-agents-talk-in-prose-or-in-schemas</loc>
    <lastmod>2026-08-25T19:14:51.754Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/computer-use-when-the-agent-drives-a-whole-desktop</loc>
    <lastmod>2026-08-25T18:25:50.133Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/designing-the-first-turn-what-happens-before-any-tool-call</loc>
    <lastmod>2026-08-25T19:14:51.249Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-turn-20-costs-more-than-turn-2</loc>
    <lastmod>2026-08-25T18:28:43.108Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/running-agents-on-a-schedule-what-changes-without-a-user</loc>
    <lastmod>2026-08-25T18:25:03.663Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/tracing-standards-for-agents-what-fits-and-whats-missing</loc>
    <lastmod>2026-08-25T18:29:30.285Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-qa-agent-that-wrote-tests-that-always-passed</loc>
    <lastmod>2026-08-25T19:13:04.943Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/content-boundaries-what-your-agent-should-refuse-and-how-to-test-it</loc>
    <lastmod>2026-08-25T19:13:57.992Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/eval-cases-where-the-right-answer-is-i-dont-know</loc>
    <lastmod>2026-08-25T19:12:55.391Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/who-owns-the-agent-the-team-structure-question</loc>
    <lastmod>2026-08-25T18:29:30.291Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-many-agents-is-too-many</loc>
    <lastmod>2026-08-25T18:25:07.546Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/retry-semantics-which-tools-are-safe-to-call-twice</loc>
    <lastmod>2026-08-25T18:38:19.479Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/progressive-disclosure-give-the-agent-tools-as-it-needs-them</loc>
    <lastmod>2026-08-25T18:27:46.521Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-first-agent-build-the-smallest-useful-one</loc>
    <lastmod>2026-08-25T19:13:05.581Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/graceful-degradation-when-the-model-provider-is-down</loc>
    <lastmod>2026-08-25T18:28:31.323Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/request-worker-or-durable-execution-hosting-models-for-agents</loc>
    <lastmod>2026-08-25T18:23:32.953Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-sales-research-agent-and-the-problem-of-stale-facts</loc>
    <lastmod>2026-08-25T19:15:45.775Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/least-privilege-for-agent-credentials</loc>
    <lastmod>2026-08-25T19:11:21.372Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/red-teaming-your-own-agent-a-practical-injection-suite</loc>
    <lastmod>2026-08-25T18:25:50.117Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-memory-makes-an-agent-worse</loc>
    <lastmod>2026-08-25T18:24:42.067Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/shared-tool-access-when-two-agents-touch-the-same-resource</loc>
    <lastmod>2026-08-25T18:22:33.810Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/designing-tools-for-agents-vs-designing-apis-for-developers</loc>
    <lastmod>2026-08-25T18:25:03.235Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/getting-an-agent-to-say-how-sure-it-is</loc>
    <lastmod>2026-08-25T19:13:51.469Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/few-shot-examples-when-they-help-an-agent-and-when-they-hurt</loc>
    <lastmod>2026-08-25T19:13:51.980Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/latency-budgets-for-agents-where-the-seconds-actually-go</loc>
    <lastmod>2026-08-25T18:28:32.144Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/local-models-for-agent-work-where-they-actually-fit</loc>
    <lastmod>2026-08-25T18:26:02.613Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-documentation-agent-that-actually-kept-docs-in-sync</loc>
    <lastmod>2026-08-25T19:11:47.751Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/audit-logs-that-survive-an-incident</loc>
    <lastmod>2026-08-25T18:28:36.408Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/bisecting-a-bad-run-finding-the-change-that-broke-it</loc>
    <lastmod>2026-08-25T18:29:32.947Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/pricing-an-agent-product-when-your-costs-are-variable</loc>
    <lastmod>2026-08-25T18:25:07.201Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/delegating-to-a-human-as-if-they-were-an-agent</loc>
    <lastmod>2026-08-25T19:15:01.409Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-file-system-as-a-tool-underrated-agent-infrastructure</loc>
    <lastmod>2026-08-25T19:12:56.509Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/state-machines-for-agents-in-regulated-flows</loc>
    <lastmod>2026-08-25T18:26:03.220Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/tool-calls-or-structured-output-two-mechanisms-two-jobs</loc>
    <lastmod>2026-08-25T19:13:58.169Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/give-the-agent-a-scratchpad-external-working-memory</loc>
    <lastmod>2026-08-25T18:24:41.417Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/multi-tenancy-for-agent-products-the-boundaries-that-must-hold</loc>
    <lastmod>2026-08-25T18:30:50.330Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/treating-prompts-like-code-versioning-review-and-rollback</loc>
    <lastmod>2026-08-25T18:24:55.609Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-migration-agent-4-000-files-and-what-made-it-tractable</loc>
    <lastmod>2026-08-25T18:28:48.765Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/data-exfiltration-paths-you-forgot-your-agent-had</loc>
    <lastmod>2026-08-25T18:24:55.632Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/testing-multi-agent-systems-without-losing-your-mind</loc>
    <lastmod>2026-08-25T18:22:32.640Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/deadlock-livelock-and-the-agent-that-waits-forever</loc>
    <lastmod>2026-08-25T18:28:43.589Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/oauth-for-agents-acting-on-behalf-of-a-user</loc>
    <lastmod>2026-08-25T19:15:11.531Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-verifier-in-the-loop-designing-an-oracle-your-agent-can-iterate-against</loc>
    <lastmod>2026-08-25T19:14:50.542Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-a-system-prompt-should-and-shouldnt-contain</loc>
    <lastmod>2026-08-25T19:13:51.431Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/where-agents-dont-belong-yet</loc>
    <lastmod>2026-08-25T19:12:55.518Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/queueing-and-backpressure-for-agent-workloads</loc>
    <lastmod>2026-08-25T18:22:16.684Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/observability-for-agents-what-to-log-beyond-the-trace</loc>
    <lastmod>2026-08-25T18:27:47.157Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-code-review-agent-that-commented-on-everything</loc>
    <lastmod>2026-08-25T19:11:20.860Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/sandboxing-code-execution-what-a-run-code-tool-actually-needs</loc>
    <lastmod>2026-08-25T19:11:16.534Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/canary-releases-for-prompt-changes</loc>
    <lastmod>2026-08-25T18:27:46.525Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/chunking-for-agents-is-not-chunking-for-search</loc>
    <lastmod>2026-08-25T19:13:37.794Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agents-that-wait-callbacks-webhooks-and-long-running-tools</loc>
    <lastmod>2026-08-25T18:34:53.142Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/fan-out-fan-in-parallelism-inside-a-single-agent</loc>
    <lastmod>2026-08-25T18:28:07.200Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-two-identical-runs-give-different-answers</loc>
    <lastmod>2026-08-25T19:13:52.474Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-the-worker-needs-to-ask-the-supervisor-a-question</loc>
    <lastmod>2026-08-25T19:12:03.277Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/migrating-model-versions-without-breaking-your-agent</loc>
    <lastmod>2026-08-25T19:11:20.360Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/model-routing-using-the-cheap-model-for-the-cheap-steps</loc>
    <lastmod>2026-08-25T18:36:22.076Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-data-cleaning-agent-and-the-column-it-silently-dropped</loc>
    <lastmod>2026-08-25T19:13:37.660Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/designing-a-kill-switch-that-works-mid-run</loc>
    <lastmod>2026-08-25T19:12:56.007Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/building-an-eval-set-from-production-traces</loc>
    <lastmod>2026-08-25T18:25:07.215Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/run-session-or-global-scoping-agent-memory-correctly</loc>
    <lastmod>2026-08-25T19:11:19.601Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/mcp-what-a-standard-tool-protocol-changes-and-what-it-doesnt</loc>
    <lastmod>2026-08-25T18:25:03.227Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-escalation-path-is-part-of-the-design</loc>
    <lastmod>2026-08-25T19:15:10.803Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/format-tool-output-for-a-model-not-for-a-log-file</loc>
    <lastmod>2026-08-25T19:12:57.010Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-demo-to-production-gap-is-an-evaluation-gap</loc>
    <lastmod>2026-08-25T19:14:50.753Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/cost-attribution-finding-which-feature-is-eating-your-token-budget</loc>
    <lastmod>2026-08-25T18:01:20.421Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/vector-database-or-postgres-choosing-storage-for-agent-memory</loc>
    <lastmod>2026-08-25T19:11:17.023Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-on-call-agent-what-it-should-and-shouldnt-touch-during-an-incident</loc>
    <lastmod>2026-08-25T19:15:11.030Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/specialist-agents-or-specialist-prompts-the-cheaper-half-of-multi-agent</loc>
    <lastmod>2026-08-25T19:15:45.609Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/indirect-prompt-injection-when-the-tool-result-is-the-attack</loc>
    <lastmod>2026-08-25T19:13:38.296Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/where-you-put-things-in-the-context-changes-the-answer</loc>
    <lastmod>2026-08-25T18:34:53.318Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-agent-that-read-page-1-of-40-pagination-in-tool-design</loc>
    <lastmod>2026-08-25T18:30:50.321Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/designing-for-resumability-agents-that-survive-a-restart</loc>
    <lastmod>2026-08-25T19:14:43.900Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/chatbot-workflow-or-agent-pick-the-simplest-thing-that-works</loc>
    <lastmod>2026-08-25T18:31:24.289Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/flaky-agents-separating-model-nondeterminism-from-your-bugs</loc>
    <lastmod>2026-08-25T19:12:05.058Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/debate-or-vote-getting-real-value-from-multiple-model-opinions</loc>
    <lastmod>2026-08-25T19:13:05.080Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-breaks-first-when-you-give-an-agent-a-browser</loc>
    <lastmod>2026-08-25T18:26:02.456Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/one-prompt-per-job-beats-one-prompt-for-all-the-router-pattern</loc>
    <lastmod>2026-08-25T19:15:46.270Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/reading-your-first-agent-trace-wrong-tool-wrong-argument-or-wrong-plan</loc>
    <lastmod>2026-08-25T19:11:15.538Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/rate-limits-are-an-agent-design-constraint-not-an-ops-problem</loc>
    <lastmod>2026-08-25T18:03:28.011Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-skill-agents-erode-fastest-reading-unfamiliar-code</loc>
    <lastmod>2026-08-25T19:11:47.248Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/build-or-buy-the-eval-harness-what-each-choice-locks-in</loc>
    <lastmod>2026-08-25T19:15:01.904Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-research-agent-that-cited-the-wrong-page</loc>
    <lastmod>2026-08-25T19:13:38.805Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/where-to-put-the-approval-human-in-the-loop-is-a-design-not-a-checkbox</loc>
    <lastmod>2026-08-25T19:15:12.037Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-llm-judge-that-agreed-with-everything</loc>
    <lastmod>2026-08-25T18:30:43.376Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-belongs-in-long-term-memory-and-whats-just-transcript</loc>
    <lastmod>2026-08-25T19:14:43.391Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/one-search-tool-or-five-getting-tool-granularity-right</loc>
    <lastmod>2026-08-25T19:12:03.543Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-planner-that-plans-too-much-when-upfront-decomposition-hurts</loc>
    <lastmod>2026-08-25T18:28:31.314Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/prompt-tool-or-code-where-each-piece-of-logic-belongs</loc>
    <lastmod>2026-08-25T19:15:02.403Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/streaming-an-agents-progress-without-lying-about-it</loc>
    <lastmod>2026-08-25T18:03:17.292Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/chain-blackboard-or-broadcast-three-ways-agents-share-state</loc>
    <lastmod>2026-08-25T19:14:44.383Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agent-adoption-stalls-at-trust-not-capability</loc>
    <lastmod>2026-08-25T19:13:06.081Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/framework-or-plain-loop-four-questions-that-actually-decide-it</loc>
    <lastmod>2026-08-25T18:24:42.604Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-read-only-agent-that-wasnt-auditing-what-your-tools-can-actually-reach</loc>
    <lastmod>2026-08-25T19:15:01.217Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-triage-agent-that-should-have-been-a-filter</loc>
    <lastmod>2026-08-25T19:13:59.173Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/assert-on-the-trajectory-not-the-answer</loc>
    <lastmod>2026-08-25T19:11:19.859Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/trim-summarize-or-retrieve-three-ways-to-survive-a-long-agent-run</loc>
    <lastmod>2026-08-25T19:14:43.217Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/reflection-loops-are-not-free-when-self-critique-makes-the-output-worse</loc>
    <lastmod>2026-08-25T19:15:46.787Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-your-agent-stops-too-early-the-missing-termination-signal</loc>
    <lastmod>2026-08-25T18:28:05.610Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-tool-description-is-a-prompt-rewriting-schemas-the-model-can-actually-follo</loc>
    <lastmod>2026-08-25T17:24:24.549Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-retry-storm-your-dashboard-cant-see-when-agent-failures-multiply-instead-of</loc>
    <lastmod>2026-08-25T16:41:28.464Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-supervisor-that-became-a-bottleneck-when-not-to-add-a-second-agent</loc>
    <lastmod>2026-08-25T15:21:15.447Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-confused-deputy-in-your-agent-when-the-tool-trusts-the-model-too-much</loc>
    <lastmod>2026-08-25T15:18:10.107Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-agent-isnt-thinking-its-looping-read-one-turn-of-the-trace-2</loc>
    <lastmod>2026-08-25T15:15:12.659Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-your-agent-forgets-step-2-by-step-7-and-four-ways-to-keep-the-thread</loc>
    <lastmod>2026-08-25T04:08:41.858Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/ai-agents-are-changing-how-work-gets-done-what-you-need-to-know</loc>
    <lastmod>2026-08-25T13:11:22.905Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/ai-is-changing-how-we-work</loc>
    <lastmod>2026-08-25T04:10:06.919Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/engineering</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/notes</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/memory-context</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/agent-basics</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/design-patterns</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/tools-connections</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/working-together</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/testing-reliability</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/safety-guardrails</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/running-in-production</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/tools-of-the-trade</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/real-world-agents</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/categories/big-picture</loc>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/AI</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/AI%20Agents</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/Artificial%20Intelligence</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/Automation</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/Future%20of%20AI</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/Future%20of%20Work</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/Generative%20AI</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/LLM</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/Machine%20Learning</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/Productivity</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/Software%20Engineering</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/Technology</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/adoption</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/advanced</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/agent-design</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/agent-sdk</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/ai-agents</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/automation</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/beginner</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/browser-agents</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/case-study</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/coding-agents</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/comparison</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/context-window</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/debugging</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/deep-dive</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/deployment</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/devops</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/evaluation</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/failure-analysis</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/frameworks</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/function-calling</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/future-of-work</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/guardrails</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/handoffs</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/human-in-the-loop</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/intermediate</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/latency</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/llm</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/mcp</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/memory</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/monitoring</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/multi-agent</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/observability</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/orchestration</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/permissions</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/planning</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/prompt-injection</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/rag</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/reasoning</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/reliability</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/research-agents</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/scaling</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/security</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/strategy</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/support-agents</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/testing</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/token-cost</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/tool-use</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/tutorial</loc>
    <priority>0.3</priority>
  </url>
</urlset>