<?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/what-crosses-the-handoff-transcript-summary-or-contract</loc>
    <lastmod>2026-08-27T03:53:01.889Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-tool-returned-200-and-nothing-happened</loc>
    <lastmod>2026-08-27T03:25:23.550Z</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-27T03:23:47.902Z</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-24T15:53:00.000Z</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-24T09:44:00.000Z</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-23T17:32:00.000Z</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-23T11:13:00.000Z</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-22T16:45:00.000Z</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-27T03:53:22.981Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-first-hour-of-an-agent-incident</loc>
    <lastmod>2026-08-27T03:53:39.482Z</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-27T03:53:54.175Z</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-27T03:54:10.251Z</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-27T03:54:26.825Z</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-27T03:54:44.596Z</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-19T11:03:00.000Z</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-18T16:44:00.000Z</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-18T10:04:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/choosing-your-first-three-tools</loc>
    <lastmod>2026-08-17T15:41:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/injection-that-crosses-a-handoff</loc>
    <lastmod>2026-08-17T09:32:00.000Z</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-16T14:03:00.000Z</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-16T10:47:00.000Z</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-15T17:09:00.000Z</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-15T11:36:00.000Z</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-14T14:04:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-skills-that-were-always-the-job</loc>
    <lastmod>2026-08-14T09:23:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/positions-worth-revising-about-agents</loc>
    <lastmod>2026-08-13T16:50:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/reading-the-agent-discourse-without-being-misled</loc>
    <lastmod>2026-08-13T09:58:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agent-vocabulary-what-the-terms-actually-mean</loc>
    <lastmod>2026-08-12T14:43:00.000Z</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-12T09:15:00.000Z</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-11T17:52:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-second-system-effect-in-agent-deployments</loc>
    <lastmod>2026-08-11T10:14:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-to-stop-improving-an-agent</loc>
    <lastmod>2026-08-10T17:29:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-economics-of-an-agent-heavy-team</loc>
    <lastmod>2026-08-10T08:50:00.000Z</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-09T14:22:00.000Z</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-09T10:23:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-documentation-problem-agents-create</loc>
    <lastmod>2026-08-08T15:05:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/open-source-after-cheap-contributions</loc>
    <lastmod>2026-08-08T09:55:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/compliance-and-audit-for-agent-written-systems</loc>
    <lastmod>2026-08-07T17:27:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/security-review-when-nobody-wrote-the-code</loc>
    <lastmod>2026-08-07T08:17:00.000Z</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-06T16:14:00.000Z</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-06T10:35:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/onboarding-into-a-codebase-nobody-fully-read</loc>
    <lastmod>2026-08-05T15:26:00.000Z</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-05T10:32:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/estimating-work-when-implementation-speed-is-unpredictable</loc>
    <lastmod>2026-08-04T16:55:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-changes-for-engineering-managers</loc>
    <lastmod>2026-08-04T10:01:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-changes-for-product-managers</loc>
    <lastmod>2026-08-03T17:49:00.000Z</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-03T09:51:00.000Z</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-02T14:31:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-use-cases-agents-genuinely-solve-today</loc>
    <lastmod>2026-08-02T09:30:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/data-work-gets-more-valuable-not-less</loc>
    <lastmod>2026-08-01T15:38:00.000Z</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-01T09:12:00.000Z</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-07-31T17:46:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/evaluation-engineer-the-job-description-writing-itself</loc>
    <lastmod>2026-07-31T09:41:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agent-operations-the-role-without-a-title-yet</loc>
    <lastmod>2026-07-30T16:00:00.000Z</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-07-30T10:28:00.000Z</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-07-29T14:41:00.000Z</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-07-29T08:26:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/if-theres-a-bubble-what-survives-the-pop</loc>
    <lastmod>2026-07-28T15:11:00.000Z</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-07-28T11:35:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-systems-thinking-is-appreciating-in-value</loc>
    <lastmod>2026-07-27T16:18:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/becoming-the-person-who-decides-what-gets-built</loc>
    <lastmod>2026-07-27T08:25:00.000Z</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-07-26T14:10:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/staying-employable-when-code-generation-is-nearly-free</loc>
    <lastmod>2026-07-26T09:03:00.000Z</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-07-25T15:24:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-distributed-systems-experience-transfers-to-agent-loops</loc>
    <lastmod>2026-07-25T10:34:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/prompt-engineering-was-the-beginning-not-the-skill</loc>
    <lastmod>2026-07-24T14:13:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-loop-decisions-you-only-make-once</loc>
    <lastmod>2026-07-24T10:03:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/context-engineering-is-the-job-now</loc>
    <lastmod>2026-07-23T17:28:00.000Z</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-07-23T09:56:00.000Z</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-07-22T14:59:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/will-open-source-harnesses-eat-commercial-coding-tools</loc>
    <lastmod>2026-07-22T10:46:00.000Z</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-07-21T16:01:00.000Z</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-07-21T09:59:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/if-intelligence-gets-cheap-what-becomes-scarce</loc>
    <lastmod>2026-07-20T16:51:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-falling-inference-costs-change-about-agent-design</loc>
    <lastmod>2026-07-20T10:19:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-case-for-a-local-first-agent-stack</loc>
    <lastmod>2026-07-19T16:44:00.000Z</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-07-19T09:54:00.000Z</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-07-18T17:30:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-to-benchmark-models-on-your-own-task</loc>
    <lastmod>2026-07-18T11:40:00.000Z</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-07-17T17:56:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-cost-of-choosing-your-model-too-early</loc>
    <lastmod>2026-07-17T08:08:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/matching-model-tier-to-task-a-practical-table</loc>
    <lastmod>2026-07-16T17:24:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/should-you-always-reach-for-the-flagship-model</loc>
    <lastmod>2026-07-16T10:21:00.000Z</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-07-15T17:16:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-compounding-loop-agents-building-agent-infrastructure</loc>
    <lastmod>2026-07-15T09:45:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-happens-when-verification-gets-automated-too</loc>
    <lastmod>2026-07-14T16:15:00.000Z</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-07-14T09:39:00.000Z</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-07-13T14:36:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-benchmarks-keep-rising-while-deployments-stay-hard</loc>
    <lastmod>2026-07-13T11:10:00.000Z</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-07-12T14:51:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/longer-context-windows-wont-fix-long-horizon-tasks</loc>
    <lastmod>2026-07-12T11:16:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-gets-cheap-next-and-what-stays-expensive</loc>
    <lastmod>2026-07-11T17:39:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/predicting-agent-capability-reason-from-mechanism-not-vibes</loc>
    <lastmod>2026-07-11T11:00:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/debugging-code-you-didnt-write-and-dont-understand</loc>
    <lastmod>2026-07-10T17:04:00.000Z</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-07-10T10:43:00.000Z</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-07-09T14:27:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-the-requirement-itself-is-wrong-who-notices</loc>
    <lastmod>2026-07-09T08:16:00.000Z</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-07-08T15:41:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-meeting-an-agent-cant-attend</loc>
    <lastmod>2026-07-08T10:35:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-agents-struggle-where-theres-no-feedback-signal</loc>
    <lastmod>2026-07-07T17:04:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/accountability-cannot-be-delegated-to-a-model</loc>
    <lastmod>2026-07-07T10:15:00.000Z</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-07-06T16:03:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-failure-modes-that-dont-improve-with-scale</loc>
    <lastmod>2026-07-06T10:16:00.000Z</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-07-05T14:13:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-an-agent-run-sprint-actually-looks-like</loc>
    <lastmod>2026-07-05T08:01:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/code-review-when-most-code-is-agent-written</loc>
    <lastmod>2026-07-04T14:04:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-deploy-step-nobody-should-automate-yet</loc>
    <lastmod>2026-07-04T09:34:00.000Z</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-07-03T14:40:00.000Z</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-07-03T08:18:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-handoff-that-breaks-every-autonomous-sdlc-pipeline</loc>
    <lastmod>2026-07-02T14:07:00.000Z</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-07-02T10:05:00.000Z</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-07-01T17:39:00.000Z</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-07-01T10:51:00.000Z</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-06-30T14:51:00.000Z</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-06-30T11:50:00.000Z</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-06-29T16:59:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/output-went-up-review-capacity-didnt</loc>
    <lastmod>2026-06-29T11:45:00.000Z</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-06-28T14:37:00.000Z</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-06-28T10:06:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/cheaper-software-means-more-software-the-demand-argument</loc>
    <lastmod>2026-06-27T15:22:00.000Z</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-06-27T08:46:00.000Z</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-06-26T17:45:00.000Z</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-06-26T09:42:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/upgrading-one-agent-in-a-system-of-six</loc>
    <lastmod>2026-06-25T17:56:00.000Z</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-06-25T11:13:00.000Z</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-06-24T16:12:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agents-get-worse-while-youre-not-touching-them</loc>
    <lastmod>2026-06-24T09:16:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/which-agent-alerts-should-wake-someone-up</loc>
    <lastmod>2026-06-23T14:50:00.000Z</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-06-23T08:05:00.000Z</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-06-22T17:04:00.000Z</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-06-22T11:35:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-many-eval-cases-do-you-actually-need</loc>
    <lastmod>2026-06-21T14:10:00.000Z</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-06-21T08:36:00.000Z</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-06-20T17:00:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/should-agents-talk-in-prose-or-in-schemas</loc>
    <lastmod>2026-06-20T09:35:00.000Z</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-06-19T14:29:00.000Z</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-06-19T08:42:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-turn-20-costs-more-than-turn-2</loc>
    <lastmod>2026-06-18T17:59:00.000Z</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-06-18T08:12:00.000Z</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-06-17T17:37:00.000Z</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-06-17T09:18:00.000Z</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-06-16T17:13:00.000Z</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-06-16T10:16:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/who-owns-the-agent-the-team-structure-question</loc>
    <lastmod>2026-06-15T17:37:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-many-agents-is-too-many</loc>
    <lastmod>2026-06-15T11:17:00.000Z</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-06-14T16:17:00.000Z</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-06-14T10:06:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-first-agent-build-the-smallest-useful-one</loc>
    <lastmod>2026-06-13T17:58:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/graceful-degradation-when-the-model-provider-is-down</loc>
    <lastmod>2026-06-13T08:34:00.000Z</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-06-12T15:36:00.000Z</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-06-12T11:31:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/least-privilege-for-agent-credentials</loc>
    <lastmod>2026-06-11T15:43:00.000Z</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-06-11T09:51:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-memory-makes-an-agent-worse</loc>
    <lastmod>2026-06-10T17:53:00.000Z</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-06-10T08:39:00.000Z</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-06-09T17:31:00.000Z</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-06-09T08:16:00.000Z</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-06-08T17:21:00.000Z</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-06-08T09:09:00.000Z</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-06-07T16:44:00.000Z</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-06-07T10:43:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/audit-logs-that-survive-an-incident</loc>
    <lastmod>2026-06-06T17:33:00.000Z</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-06-06T09:12:00.000Z</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-06-05T17:56:00.000Z</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-06-05T11:12:00.000Z</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-06-04T17:49:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/state-machines-for-agents-in-regulated-flows</loc>
    <lastmod>2026-06-04T11:50:00.000Z</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-06-03T17:08:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/give-the-agent-a-scratchpad-external-working-memory</loc>
    <lastmod>2026-06-03T10:00:00.000Z</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-06-02T14:46:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/treating-prompts-like-code-versioning-review-and-rollback</loc>
    <lastmod>2026-06-02T09:54:00.000Z</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-06-01T14:48:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/data-exfiltration-paths-you-forgot-your-agent-had</loc>
    <lastmod>2026-06-01T11:23:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/testing-multi-agent-systems-without-losing-your-mind</loc>
    <lastmod>2026-05-31T16:43:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/deadlock-livelock-and-the-agent-that-waits-forever</loc>
    <lastmod>2026-05-31T10:27:00.000Z</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-05-30T16:56:00.000Z</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-05-30T08:24:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-a-system-prompt-should-and-shouldnt-contain</loc>
    <lastmod>2026-05-29T17:36:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/where-agents-dont-belong-yet</loc>
    <lastmod>2026-05-29T10:30:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/queueing-and-backpressure-for-agent-workloads</loc>
    <lastmod>2026-05-28T14:49:00.000Z</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-05-28T08:42:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-code-review-agent-that-commented-on-everything</loc>
    <lastmod>2026-05-27T17:58:00.000Z</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-05-27T10:07:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/canary-releases-for-prompt-changes</loc>
    <lastmod>2026-05-26T16:45:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/chunking-for-agents-is-not-chunking-for-search</loc>
    <lastmod>2026-05-26T11:33:00.000Z</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-05-25T16:25:00.000Z</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-05-25T10:02:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-two-identical-runs-give-different-answers</loc>
    <lastmod>2026-05-24T14:28:00.000Z</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-05-24T10:18:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/migrating-model-versions-without-breaking-your-agent</loc>
    <lastmod>2026-05-23T16:27:00.000Z</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-05-23T11:41:00.000Z</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-05-22T17:41:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/designing-a-kill-switch-that-works-mid-run</loc>
    <lastmod>2026-05-22T11:22:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/building-an-eval-set-from-production-traces</loc>
    <lastmod>2026-05-21T16:56:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/run-session-or-global-scoping-agent-memory-correctly</loc>
    <lastmod>2026-05-21T08:41:00.000Z</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-05-20T14:04:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-escalation-path-is-part-of-the-design</loc>
    <lastmod>2026-05-20T11:53:00.000Z</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-05-19T16:22:00.000Z</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-05-19T11:29:00.000Z</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-05-18T14:15:00.000Z</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-05-18T10:09:00.000Z</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-05-17T15:30:00.000Z</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-05-17T11:53:00.000Z</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-05-16T16:11:00.000Z</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-05-16T09:29:00.000Z</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-05-15T15:33:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/designing-for-resumability-agents-that-survive-a-restart</loc>
    <lastmod>2026-05-15T08:52:00.000Z</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-05-14T17:46:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/flaky-agents-separating-model-nondeterminism-from-your-bugs</loc>
    <lastmod>2026-05-14T11:46:00.000Z</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-05-13T17:47:00.000Z</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-05-13T09:00:00.000Z</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-05-12T14:34:00.000Z</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-05-12T10:42:00.000Z</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-05-11T14:01:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-skill-agents-erode-fastest-reading-unfamiliar-code</loc>
    <lastmod>2026-05-11T08:57:00.000Z</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-05-10T14:29:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-research-agent-that-cited-the-wrong-page</loc>
    <lastmod>2026-05-10T11:13:00.000Z</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-05-09T14:04:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-llm-judge-that-agreed-with-everything</loc>
    <lastmod>2026-05-09T11:17:00.000Z</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-05-08T16:34:00.000Z</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-05-08T09:58:00.000Z</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-05-07T15:35:00.000Z</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-05-07T08:39:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/streaming-an-agents-progress-without-lying-about-it</loc>
    <lastmod>2026-05-06T15:26:00.000Z</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-05-06T09:10:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agent-adoption-stalls-at-trust-not-capability</loc>
    <lastmod>2026-05-05T16:39:00.000Z</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-05-05T11:02:00.000Z</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-05-04T15:34:00.000Z</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-05-04T08:18:00.000Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/assert-on-the-trajectory-not-the-answer</loc>
    <lastmod>2026-05-03T16:51:00.000Z</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-05-03T09:09:00.000Z</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-05-02T16:59:00.000Z</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-05-02T10:24:00.000Z</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-05-01T16:56:00.000Z</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-05-01T10:55:00.000Z</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-04-30T15:30:00.000Z</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-04-30T09:05:00.000Z</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-04-29T16:53:00.000Z</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-04-29T08:17:00.000Z</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-27T03:23:47.810Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/ai-is-changing-how-we-work</loc>
    <lastmod>2026-08-27T03:25:23.443Z</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/agentic-ai</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>