<?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-analytics-agent-answered-what-was-q3-revenue-from-a-deprecated-table-make-it</loc>
    <lastmod>2026-10-21T12:01:35.283Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-invoice-tool-timed-out-so-the-billing-agent-called-it-again-the-customer-was</loc>
    <lastmod>2026-10-21T00:01:14.315Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-inbox-agent-wakes-every-15-minutes-to-find-nothing-cron-or-event-trigger-de</loc>
    <lastmod>2026-10-20T12:01:03.701Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-research-agent-read-one-poisoned-web-page-and-it-still-had-the-email-tool-l</loc>
    <lastmod>2026-10-20T00:01:05.102Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-research-agent-scored-100-on-citations-the-grader-only-checked-that-a-sourc</loc>
    <lastmod>2026-10-19T12:01:22.800Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/one-big-update-task-tool-or-three-small-ones-your-to-do-agent-only-sees-the-name</loc>
    <lastmod>2026-10-03T12:01:01.424Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-tax-agents-workers-counted-march-twice-and-skipped-late-june-make-every-dele</loc>
    <lastmod>2026-10-03T00:01:05.468Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-travel-agent-reviewed-its-itinerary-three-times-and-approved-the-wrong-date</loc>
    <lastmod>2026-10-02T12:01:01.668Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-support-agent-still-remembers-the-customer-who-was-furious-in-march-decide</loc>
    <lastmod>2026-10-01T12:01:26.972Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-expense-agent-logged-rate-limit-exceeded-as-a-vendor-name-make-tool-errors-i</loc>
    <lastmod>2026-10-01T00:00:59.658Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-coding-agent-hit-its-cost-cap-mid-refactor-and-left-nothing-behind-reserve</loc>
    <lastmod>2026-09-30T12:00:51.203Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-refund-tool-capped-each-refund-at-500-the-support-agent-issued-eleven-490-re</loc>
    <lastmod>2026-09-30T00:00:59.316Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/adopt-the-agent-framework-or-write-the-loop-yourself-count-the-defaults-youd-hav</loc>
    <lastmod>2026-09-27T00:01:02.183Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-analytics-agents-sql-was-correct-it-answered-a-different-question-make-it-pr</loc>
    <lastmod>2026-09-26T12:01:05.369Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-scheduling-agent-moved-one-meeting-and-said-done-teach-the-loop-what-finish</loc>
    <lastmod>2026-09-26T00:00:55.798Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-assistant-agent-reads-your-inbox-and-pays-your-bills-split-it-where-the-per</loc>
    <lastmod>2026-09-25T12:01:19.814Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-on-call-agent-restarted-the-primary-anyway-the-instruction-not-to-had-been-s</loc>
    <lastmod>2026-09-25T00:52:07.619Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-research-agent-passed-the-eval-once-run-every-case-five-times-and-grade-the</loc>
    <lastmod>2026-09-25T00:44:58.471Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-inbox-agent-said-nobody-had-replied-the-search-tool-had-returned-page-one-of</loc>
    <lastmod>2026-09-21T12:01:01.445Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-agent-fleet-kept-its-own-quota-pinned-for-forty-minutes-synchronised-retrie</loc>
    <lastmod>2026-09-21T00:01:36.286Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-tool-call-failed-on-step-3-retry-skip-or-replan-decide-by-what-the-failure-t</loc>
    <lastmod>2026-09-20T12:01:27.531Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-agent-asks-permission-nine-times-an-hour-so-nobody-reads-the-prompts-any-mo</loc>
    <lastmod>2026-09-20T00:01:52.730Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-critic-agent-approves-everything-because-it-read-the-workers-reasoning-star</loc>
    <lastmod>2026-09-19T12:02:20.505Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-assistant-still-thinks-youre-vegetarian-because-of-one-dinner-party-build-t</loc>
    <lastmod>2026-09-19T00:01:00.593Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-refund-tool-timed-out-the-agent-retried-and-the-customer-got-paid-twice-make</loc>
    <lastmod>2026-09-18T12:01:06.589Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/before-you-adopt-an-agent-framework-try-to-break-its-loop-four-escape-hatches-yo</loc>
    <lastmod>2026-09-18T00:01:23.881Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-analytics-agent-said-revenue-was-up-38-the-join-had-counted-every-order-once</loc>
    <lastmod>2026-09-17T12:01:05.800Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-agent-said-it-booked-the-meeting-learn-to-read-one-turn-text-tool-call-tool</loc>
    <lastmod>2026-09-17T00:01:20.588Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-agent-passed-the-test-unfortunately-it-tested-the-wrong-thing</loc>
    <lastmod>2026-09-22T06:46:32.770Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/parallel-subagents-or-one-agent-in-sequence-check-whether-the-subtasks-share-a-w</loc>
    <lastmod>2026-09-16T12:00:56.546Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-agent-works-in-the-demo-because-youre-watching-six-failures-that-only-appea</loc>
    <lastmod>2026-09-16T00:01:20.421Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-agent-got-the-right-answer-by-the-wrong-route-score-the-trajectory-and-know</loc>
    <lastmod>2026-09-15T12:01:43.228Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/summarising-the-conversation-threw-away-the-one-id-the-next-tool-call-needed-sum</loc>
    <lastmod>2026-09-15T00:01:24.639Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/one-tool-with-twelve-parameters-or-four-with-three-let-the-agents-error-log-deci</loc>
    <lastmod>2026-09-14T12:01:17.120Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/an-agent-that-cannot-fail-will-retry-forever-budget-tokens-and-wall-clock-not-re</loc>
    <lastmod>2026-09-14T00:01:15.168Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-page-your-agent-read-told-it-to-email-your-customer-list-ignore-instructions</loc>
    <lastmod>2026-09-13T00:01:15.114Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/retrieval-returned-zero-rows-and-the-agent-cited-a-policy-doc-anyway</loc>
    <lastmod>2026-09-12T17:47:52.460Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/a-second-pass-that-asks-the-same-question-finds-the-same-bugs-change-the-unit-no</loc>
    <lastmod>2026-09-12T16:40:05.295Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/forty-tools-in-one-prompt-what-it-actually-costs-and-the-three-signals-that-say</loc>
    <lastmod>2026-09-12T12:01:16.532Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/a-1-flaky-tool-shouldnt-take-you-down-three-nested-retry-layers-will</loc>
    <lastmod>2026-09-12T05:30:25.690Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/can-you-see-the-raw-messages-the-question-that-sorts-agent-frameworks</loc>
    <lastmod>2026-09-12T00:01:33.096Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/a-two-line-prompt-diff-is-a-behavior-change-heres-the-regression-check-it-needs</loc>
    <lastmod>2026-09-11T12:01:32.639Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-agent-called-the-same-tool-three-times-in-a-row-heres-what-the-loop-is-tell</loc>
    <lastmod>2026-09-11T00:01:41.047Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/a-5-canary-mostly-samples-your-easy-tasks-roll-agent-upgrades-out-by-task-class</loc>
    <lastmod>2026-09-10T12:02:17.393Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-agents-dry-run-doesnt-bind-the-real-run-confirm-the-plan-hash-not-the-inten</loc>
    <lastmod>2026-09-10T00:01:46.969Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-the-context-window-fills-cut-in-this-order-and-leave-a-stub-behind</loc>
    <lastmod>2026-09-09T12:02:10.975Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/done-is-not-a-handback-what-a-worker-agent-should-actually-return-to-its-supervi</loc>
    <lastmod>2026-09-09T00:01:35.075Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-tool-returned-4-000-rows-and-the-agent-needed-three-truncate-paginate-or-su</loc>
    <lastmod>2026-09-08T12:01:54.706Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/one-300-second-timeout-tells-you-nothing-agents-need-a-deadline-budget</loc>
    <lastmod>2026-09-08T00:01:32.290Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/untrusted-text-doesnt-stay-untrusted-where-provenance-gets-lost-in-an-agent-pipe</loc>
    <lastmod>2026-09-07T12:01:43.699Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/append-or-supersede-what-to-do-when-new-information-contradicts-agent-memory</loc>
    <lastmod>2026-09-07T00:01:18.642Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/retry-repair-or-replan-a-recovery-ladder-for-when-an-agents-step-fails</loc>
    <lastmod>2026-09-06T12:01:23.248Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-first-production-agent-should-be-invoice-reconciliation-because-the-ledger</loc>
    <lastmod>2026-09-04T00:01:22.345Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/framework-or-raw-sdk-the-test-is-whether-you-can-print-the-exact-prompt</loc>
    <lastmod>2026-09-03T12:01:41.892Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-eval-ran-each-case-once-thats-why-it-missed-the-flake</loc>
    <lastmod>2026-09-03T00:01:42.584Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agent-or-just-a-script-count-the-branches-that-depend-on-reading-something</loc>
    <lastmod>2026-09-02T12:01:22.446Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-two-reviewer-agents-disagree-who-breaks-the-tie</loc>
    <lastmod>2026-09-02T05:20:02.420Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/cached-or-re-called-giving-every-agent-tool-a-staleness-budget</loc>
    <lastmod>2026-08-31T22:22:35.457Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/one-worker-pool-or-two-separating-fast-agent-runs-from-slow-ones</loc>
    <lastmod>2026-08-31T22:22:45.247Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-agent-retried-the-tool-call-the-customer-got-charged-twice</loc>
    <lastmod>2026-08-31T17:55:26.344Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-retriever-returned-12-chunks-the-agent-only-really-read-3-of-them</loc>
    <lastmod>2026-08-31T22:22:55.395Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/blackboard-or-mailbox-how-should-three-agents-share-what-they-learn</loc>
    <lastmod>2026-09-01T00:00:35.696Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-agent-has-one-manage-calendar-tool-thats-why-it-deleted-the-wrong-meeting</loc>
    <lastmod>2026-09-01T00:00:45.100Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-agents-asked-40-questions-this-week-which-ones-should-have-reached-a-human</loc>
    <lastmod>2026-09-01T00:01:02.017Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/map-reduce-or-sequential-refine-how-an-agent-should-read-400-pages</loc>
    <lastmod>2026-09-01T00:01:11.504Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/draining-a-data-backlog-should-the-agent-batch-rows-or-take-them-one-at-a-time</loc>
    <lastmod>2026-09-01T06:00:36.250Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/do-you-need-an-agent-framework-write-the-40-line-loop-first</loc>
    <lastmod>2026-08-31T17:55:34.918Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/green-evals-broken-production-the-frozen-fixture-problem</loc>
    <lastmod>2026-09-01T06:00:44.556Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/who-decides-the-agent-is-done-three-stop-conditions-and-why-the-model-said-so-is</loc>
    <lastmod>2026-09-01T06:00:52.510Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/read-draft-send-where-to-draw-the-permission-line-in-a-personal-email-agent</loc>
    <lastmod>2026-09-01T06:01:10.391Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-should-your-agent-forget-give-every-memory-an-expiry-rule</loc>
    <lastmod>2026-09-01T06:01:27.335Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-worker-agent-reported-success-where-should-the-check-live</loc>
    <lastmod>2026-09-01T06:01:37.613Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-should-a-team-review-a-tool-description-diff-treat-it-like-a-schema-migratio</loc>
    <lastmod>2026-09-01T06:01:46.288Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/retry-reroute-or-hand-back-budgeting-an-agents-second-chances</loc>
    <lastmod>2026-09-01T12:00:35.156Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-memory-contradicts-the-tool-call-which-one-does-the-agent-believe</loc>
    <lastmod>2026-09-01T12:00:44.513Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-crosses-the-handoff-transcript-summary-or-contract</loc>
    <lastmod>2026-09-01T12:00:52.745Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-tool-returned-200-and-nothing-happened</loc>
    <lastmod>2026-09-01T12:01:02.930Z</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-09-01T12:01:11.981Z</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-09-01T12:01:20.753Z</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-09-01T12:01:29.891Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-95-step-accuracy-is-a-60-agent</loc>
    <lastmod>2026-09-01T18:00:37.494Z</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-09-01T18:00:46.136Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/read-only-was-never-the-same-as-safe</loc>
    <lastmod>2026-09-01T18:00:54.524Z</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-09-01T18:01:03.932Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-first-hour-of-an-agent-incident</loc>
    <lastmod>2026-09-01T18:01:12.647Z</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-09-01T18:01:22.324Z</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-09-01T18:01:30.683Z</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-09-02T00:00:36.346Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/designing-an-agent-you-can-redirect-mid-run</loc>
    <lastmod>2026-09-02T00:00:44.634Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-screening-agent-that-could-only-be-right</loc>
    <lastmod>2026-09-02T00:00:52.812Z</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-09-02T00:01:01.359Z</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-09-02T00:01:10.032Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/choosing-your-first-three-tools</loc>
    <lastmod>2026-09-02T00:01:18.455Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/injection-that-crosses-a-handoff</loc>
    <lastmod>2026-09-02T00:01:26.523Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-trace-store-will-outgrow-your-model-bill</loc>
    <lastmod>2026-09-02T06:00:34.655Z</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-09-02T06:00:43.056Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-timeout-that-looked-like-an-empty-result</loc>
    <lastmod>2026-09-02T06:00:51.416Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/budgeting-the-context-window-dividing-a-fixed-space</loc>
    <lastmod>2026-09-02T06:00:59.469Z</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-09-02T06:01:08.019Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-skills-that-were-always-the-job</loc>
    <lastmod>2026-09-02T12:01:55.189Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/positions-worth-revising-about-agents</loc>
    <lastmod>2026-09-02T12:02:03.712Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/reading-the-agent-discourse-without-being-misled</loc>
    <lastmod>2026-09-02T12:02:12.014Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agent-vocabulary-what-the-terms-actually-mean</loc>
    <lastmod>2026-09-02T12:02:20.330Z</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-09-02T12:02:27.858Z</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-09-02T12:02:36.405Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-second-system-effect-in-agent-deployments</loc>
    <lastmod>2026-09-02T18:00:38.199Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-to-stop-improving-an-agent</loc>
    <lastmod>2026-09-02T18:00:47.322Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-economics-of-an-agent-heavy-team</loc>
    <lastmod>2026-09-02T18:00:56.547Z</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-09-02T18:01:10.996Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/buying-vs-building-agent-capability-as-a-company</loc>
    <lastmod>2026-09-02T18:01:20.752Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-documentation-problem-agents-create</loc>
    <lastmod>2026-09-02T18:01:30.273Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/open-source-after-cheap-contributions</loc>
    <lastmod>2026-09-02T18:01:38.780Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/compliance-and-audit-for-agent-written-systems</loc>
    <lastmod>2026-09-03T00:02:13.083Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/security-review-when-nobody-wrote-the-code</loc>
    <lastmod>2026-09-03T00:02:21.334Z</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-09-03T00:02:30.014Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/technical-debt-in-the-age-of-cheap-code</loc>
    <lastmod>2026-09-03T00:02:39.551Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/onboarding-into-a-codebase-nobody-fully-read</loc>
    <lastmod>2026-09-03T00:02:48.899Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/hiring-engineers-when-take-home-tests-are-meaningless</loc>
    <lastmod>2026-09-03T00:02:57.154Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/estimating-work-when-implementation-speed-is-unpredictable</loc>
    <lastmod>2026-09-03T06:00:35.174Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-changes-for-engineering-managers</loc>
    <lastmod>2026-09-03T06:00:43.722Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-changes-for-product-managers</loc>
    <lastmod>2026-09-03T06:00:53.354Z</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-09-03T06:01:02.953Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-use-cases-everyone-tries-and-nobody-ships</loc>
    <lastmod>2026-09-03T06:01:11.810Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-use-cases-agents-genuinely-solve-today</loc>
    <lastmod>2026-09-03T06:01:20.866Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/data-work-gets-more-valuable-not-less</loc>
    <lastmod>2026-09-03T06:01:29.861Z</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-09-03T12:02:12.541Z</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-09-03T12:02:21.761Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/evaluation-engineer-the-job-description-writing-itself</loc>
    <lastmod>2026-09-03T12:02:32.230Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agent-operations-the-role-without-a-title-yet</loc>
    <lastmod>2026-09-03T12:02:41.013Z</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-09-03T12:02:50.763Z</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-09-03T12:03:00.266Z</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-09-03T18:00:36.840Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/if-theres-a-bubble-what-survives-the-pop</loc>
    <lastmod>2026-09-03T18:00:45.449Z</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-09-03T18:00:55.302Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-systems-thinking-is-appreciating-in-value</loc>
    <lastmod>2026-09-03T18:01:05.725Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/becoming-the-person-who-decides-what-gets-built</loc>
    <lastmod>2026-09-03T18:01:21.145Z</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-09-03T18:01:29.987Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/staying-employable-when-code-generation-is-nearly-free</loc>
    <lastmod>2026-09-03T18:01:38.810Z</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-09-04T00:01:53.965Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-distributed-systems-experience-transfers-to-agent-loops</loc>
    <lastmod>2026-09-04T00:02:03.250Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/prompt-engineering-was-the-beginning-not-the-skill</loc>
    <lastmod>2026-09-04T00:02:13.328Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-loop-decisions-you-only-make-once</loc>
    <lastmod>2026-09-04T00:02:22.769Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/context-engineering-is-the-job-now</loc>
    <lastmod>2026-09-04T00:02:32.587Z</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-09-04T00:02:41.212Z</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-09-06T18:00:36.157Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/will-open-source-harnesses-eat-commercial-coding-tools</loc>
    <lastmod>2026-09-06T12:01:57.612Z</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-09-06T12:02:06.596Z</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-09-06T12:02:14.875Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/if-intelligence-gets-cheap-what-becomes-scarce</loc>
    <lastmod>2026-09-06T12:02:23.850Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-falling-inference-costs-change-about-agent-design</loc>
    <lastmod>2026-09-06T12:02:33.596Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-case-for-a-local-first-agent-stack</loc>
    <lastmod>2026-09-06T18:00:44.610Z</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-09-06T18:00:54.191Z</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-09-06T18:01:02.875Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-to-benchmark-models-on-your-own-task</loc>
    <lastmod>2026-09-06T18:01:11.318Z</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-09-06T18:01:20.454Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-cost-of-choosing-your-model-too-early</loc>
    <lastmod>2026-09-06T18:01:29.751Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/matching-model-tier-to-task-a-practical-table</loc>
    <lastmod>2026-09-07T00:01:54.873Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/should-you-always-reach-for-the-flagship-model</loc>
    <lastmod>2026-09-07T00:02:02.942Z</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-09-07T00:02:11.537Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-compounding-loop-agents-building-agent-infrastructure</loc>
    <lastmod>2026-09-07T00:02:20.547Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-happens-when-verification-gets-automated-too</loc>
    <lastmod>2026-09-07T00:02:30.042Z</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-09-07T00:02:38.240Z</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-09-07T06:00:34.978Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-benchmarks-keep-rising-while-deployments-stay-hard</loc>
    <lastmod>2026-09-07T06:00:49.564Z</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-09-07T06:00:59.296Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/longer-context-windows-wont-fix-long-horizon-tasks</loc>
    <lastmod>2026-09-07T06:01:09.596Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-gets-cheap-next-and-what-stays-expensive</loc>
    <lastmod>2026-09-07T06:01:17.869Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/predicting-agent-capability-reason-from-mechanism-not-vibes</loc>
    <lastmod>2026-09-07T12:02:21.359Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/debugging-code-you-didnt-write-and-dont-understand</loc>
    <lastmod>2026-09-07T06:01:26.523Z</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-09-07T12:02:31.426Z</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-09-07T12:02:42.224Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-the-requirement-itself-is-wrong-who-notices</loc>
    <lastmod>2026-09-07T12:02:51.381Z</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-09-07T12:03:01.644Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-meeting-an-agent-cant-attend</loc>
    <lastmod>2026-09-07T18:00:33.354Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-agents-struggle-where-theres-no-feedback-signal</loc>
    <lastmod>2026-09-07T18:00:42.102Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/accountability-cannot-be-delegated-to-a-model</loc>
    <lastmod>2026-09-07T18:00:52.082Z</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-09-07T18:01:00.943Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-failure-modes-that-dont-improve-with-scale</loc>
    <lastmod>2026-09-07T18:01:10.532Z</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-09-07T18:01:19.906Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-an-agent-run-sprint-actually-looks-like</loc>
    <lastmod>2026-09-07T18:01:30.329Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/code-review-when-most-code-is-agent-written</loc>
    <lastmod>2026-09-08T00:02:26.910Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-deploy-step-nobody-should-automate-yet</loc>
    <lastmod>2026-09-08T00:02:35.308Z</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-09-08T00:02:44.865Z</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-09-08T00:02:53.383Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-handoff-that-breaks-every-autonomous-sdlc-pipeline</loc>
    <lastmod>2026-09-08T00:03:01.155Z</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-09-08T00:03:10.580Z</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-09-08T06:00:33.430Z</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-09-08T06:00:42.257Z</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-09-08T06:00:51.444Z</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-09-08T06:01:01.591Z</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-09-08T06:01:21.998Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/output-went-up-review-capacity-didnt</loc>
    <lastmod>2026-09-08T06:01:35.529Z</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-09-08T06:01:44.108Z</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-09-08T12:02:28.105Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/cheaper-software-means-more-software-the-demand-argument</loc>
    <lastmod>2026-09-08T12:02:38.211Z</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-09-08T12:02:46.749Z</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-09-08T12:02:55.241Z</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-09-08T12:03:06.177Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/upgrading-one-agent-in-a-system-of-six</loc>
    <lastmod>2026-09-08T12:03:14.790Z</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-09-08T18:00:30.741Z</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-09-08T18:00:40.907Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agents-get-worse-while-youre-not-touching-them</loc>
    <lastmod>2026-09-08T18:00:59.728Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/which-agent-alerts-should-wake-someone-up</loc>
    <lastmod>2026-09-08T18:01:09.408Z</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-09-08T18:01:24.011Z</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-09-08T18:01:34.181Z</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-09-08T18:01:43.307Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-many-eval-cases-do-you-actually-need</loc>
    <lastmod>2026-09-09T00:02:09.804Z</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-09-09T00:02:17.978Z</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-09-09T00:02:26.293Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/should-agents-talk-in-prose-or-in-schemas</loc>
    <lastmod>2026-09-09T06:00:38.514Z</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-09-09T12:02:47.321Z</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-09-09T06:00:47.671Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-turn-20-costs-more-than-turn-2</loc>
    <lastmod>2026-09-09T06:00:57.308Z</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-09-09T06:01:06.030Z</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-09-09T06:01:15.191Z</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-09-09T06:01:32.803Z</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-09-09T12:02:57.307Z</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-09-09T12:03:05.506Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/who-owns-the-agent-the-team-structure-question</loc>
    <lastmod>2026-09-09T12:03:14.827Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/how-many-agents-is-too-many</loc>
    <lastmod>2026-09-09T12:03:24.809Z</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-09-09T12:03:42.039Z</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-09-09T18:00:51.084Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/your-first-agent-build-the-smallest-useful-one</loc>
    <lastmod>2026-09-09T18:01:23.688Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/graceful-degradation-when-the-model-provider-is-down</loc>
    <lastmod>2026-09-09T18:01:32.330Z</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-09-09T18:01:41.842Z</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-09-09T18:01:49.548Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/least-privilege-for-agent-credentials</loc>
    <lastmod>2026-09-09T18:02:04.972Z</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-09-09T18:02:13.081Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/when-memory-makes-an-agent-worse</loc>
    <lastmod>2026-09-10T00:02:17.887Z</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-09-10T00:02:26.239Z</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-09-10T00:02:35.687Z</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-09-10T00:02:45.293Z</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-09-10T06:00:38.137Z</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-09-10T00:02:55.322Z</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-09-10T06:00:47.006Z</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-09-10T06:00:57.372Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/audit-logs-that-survive-an-incident</loc>
    <lastmod>2026-09-10T06:01:07.373Z</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-09-10T06:01:16.539Z</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-09-10T06:01:25.272Z</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-09-10T06:01:34.057Z</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-09-10T12:02:54.218Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/state-machines-for-agents-in-regulated-flows</loc>
    <lastmod>2026-09-10T12:03:03.268Z</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-09-10T12:03:12.631Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/give-the-agent-a-scratchpad-external-working-memory</loc>
    <lastmod>2026-09-10T12:03:23.113Z</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-09-10T12:03:32.994Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/treating-prompts-like-code-versioning-review-and-rollback</loc>
    <lastmod>2026-09-10T12:03:41.317Z</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-09-10T18:00:35.276Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/data-exfiltration-paths-you-forgot-your-agent-had</loc>
    <lastmod>2026-09-10T18:00:45.395Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/testing-multi-agent-systems-without-losing-your-mind</loc>
    <lastmod>2026-09-10T18:00:54.742Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/deadlock-livelock-and-the-agent-that-waits-forever</loc>
    <lastmod>2026-09-11T00:02:12.763Z</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-09-10T18:01:10.747Z</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-09-10T18:01:19.426Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/what-a-system-prompt-should-and-shouldnt-contain</loc>
    <lastmod>2026-09-11T00:02:22.564Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/where-agents-dont-belong-yet</loc>
    <lastmod>2026-09-11T00:02:35.978Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/queueing-and-backpressure-for-agent-workloads</loc>
    <lastmod>2026-09-11T00:02:45.913Z</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-09-11T00:02:55.365Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-code-review-agent-that-commented-on-everything</loc>
    <lastmod>2026-09-11T00:03:04.787Z</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-09-11T06:00:38.558Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/canary-releases-for-prompt-changes</loc>
    <lastmod>2026-09-11T06:00:48.215Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/chunking-for-agents-is-not-chunking-for-search</loc>
    <lastmod>2026-09-11T06:01:00.298Z</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-09-11T06:01:10.733Z</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-09-11T06:01:27.845Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/why-two-identical-runs-give-different-answers</loc>
    <lastmod>2026-09-11T06:01:37.569Z</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-09-11T06:01:46.608Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/migrating-model-versions-without-breaking-your-agent</loc>
    <lastmod>2026-09-11T12:02:06.653Z</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-09-11T12:02:15.387Z</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-09-11T12:02:24.362Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/designing-a-kill-switch-that-works-mid-run</loc>
    <lastmod>2026-09-11T12:02:38.156Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/building-an-eval-set-from-production-traces</loc>
    <lastmod>2026-09-11T18:00:37.588Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/run-session-or-global-scoping-agent-memory-correctly</loc>
    <lastmod>2026-09-11T18:00:46.536Z</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-09-11T18:00:56.818Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-escalation-path-is-part-of-the-design</loc>
    <lastmod>2026-09-11T18:01:06.235Z</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-09-11T18:01:16.056Z</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-09-11T18:01:25.553Z</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-09-11T18:01:40.401Z</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-09-12T00:02:12.823Z</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-09-12T00:02:21.513Z</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-09-12T00:02:30.030Z</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-09-12T00:02:38.322Z</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-09-12T00:02:46.628Z</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-09-12T06:00:38.041Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/designing-for-resumability-agents-that-survive-a-restart</loc>
    <lastmod>2026-09-12T06:00:49.789Z</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-09-12T12:01:55.331Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/flaky-agents-separating-model-nondeterminism-from-your-bugs</loc>
    <lastmod>2026-09-12T06:00:59.680Z</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-09-12T06:01:08.792Z</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-09-12T06:01:18.041Z</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-09-12T06:01:27.181Z</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-09-12T12:02:04.962Z</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-09-12T12:02:15.658Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-skill-agents-erode-fastest-reading-unfamiliar-code</loc>
    <lastmod>2026-09-12T12:02:24.395Z</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-09-12T12:02:34.271Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-research-agent-that-cited-the-wrong-page</loc>
    <lastmod>2026-09-12T12:02:42.530Z</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-09-13T00:01:49.923Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/the-llm-judge-that-agreed-with-everything</loc>
    <lastmod>2026-09-13T00:01:59.812Z</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-09-13T00:02:08.407Z</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-09-13T00:02:17.512Z</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-09-13T00:02:27.653Z</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-09-13T00:02:36.334Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/streaming-an-agents-progress-without-lying-about-it</loc>
    <lastmod>2026-09-13T06:00:34.924Z</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-09-13T06:00:43.413Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/agent-adoption-stalls-at-trust-not-capability</loc>
    <lastmod>2026-09-13T06:00:51.602Z</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-09-13T06:01:00.002Z</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-09-13T06:01:15.940Z</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-09-13T06:01:24.212Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/assert-on-the-trajectory-not-the-answer</loc>
    <lastmod>2026-09-13T06:01:39.563Z</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-09-13T18:00:33.983Z</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-09-13T18:00:42.588Z</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-09-13T18:00:50.908Z</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-09-13T18:01:00.817Z</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-09-13T18:01:12.591Z</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-09-13T18:01:21.577Z</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-09-13T18:01:33.709Z</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-09-14T00:01:42.229Z</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-09-14T00:01:51.479Z</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-09-14T00:02:06.861Z</lastmod>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/posts/ai-is-changing-how-we-work</loc>
    <lastmod>2026-09-14T00:02:15.626Z</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/categories/memes</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/AI%20Coding</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/Evals</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/Reliability</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/Testing</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/agent-transcripts</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/budgets</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/build-vs-buy</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-compaction</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/cost-budgets</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/coverage-contract</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/data-agents</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/error-handling</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/event-triggers</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/fan-out</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/flaky-evals</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/grounding</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/idempotency</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/interrupt-budget</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/llm-as-judge</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/memory-expiry</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/memory-write-policy</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/pagination</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/personal-assistants</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/personal-productivity</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/prompt-review</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/retries</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/retry-storms</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/safety</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/self-reflection</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/spend-limits</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/stop-condition</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/stop-conditions</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/taint-tracking</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/text-to-sql</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-schema</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/trajectory-eval</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/trust-boundaries</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/tutorial</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/unattended-runs</loc>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://blog.abuthahirksm.uk/tags/verification</loc>
    <priority>0.3</priority>
  </url>
</urlset>