<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://hamsasoftware.com/</loc></url><url><loc>https://hamsasoftware.com/services/ai-automation/</loc></url><url><loc>https://hamsasoftware.com/services/software-development/</loc></url><url><loc>https://hamsasoftware.com/services/cloud-engineering/</loc></url><url><loc>https://hamsasoftware.com/services/application-modernisation/</loc></url><url><loc>https://hamsasoftware.com/payment-operations/</loc></url><url><loc>https://hamsasoftware.com/privacy/</loc></url><url><loc>https://hamsasoftware.com/about/</loc></url><url><loc>https://hamsasoftware.com/work/</loc></url><url><loc>https://hamsasoftware.com/coding-agent-review/</loc></url><url><loc>https://hamsasoftware.com/coding-agent-workshop/</loc></url><url><loc>https://hamsasoftware.com/responsible-ai/</loc></url><url><loc>https://hamsasoftware.com/demos/</loc></url><url><loc>https://hamsasoftware.com/demos/payment-operations/</loc></url><url><loc>https://hamsasoftware.com/demos/tamperward/</loc></url><url><loc>https://hamsasoftware.com/demos/ai-institution/</loc></url><url><loc>https://hamsasoftware.com/demos/oversight/</loc></url><url><loc>https://hamsasoftware.com/demos/balance/</loc></url><url><loc>https://hamsasoftware.com/demos/paperwork/</loc></url><url><loc>https://hamsasoftware.com/demos/relay/</loc></url><url><loc>https://hamsasoftware.com/demos/sourcebook/</loc></url><url><loc>https://hamsasoftware.com/blog/</loc></url><url><loc>https://hamsasoftware.com/blog/editorial-policy/</loc></url><url><loc>https://hamsasoftware.com/blog/ten-minutes-with-your-ai-assistants-permissions/</loc></url><url><loc>https://hamsasoftware.com/blog/recent-cyber-incidents-ai-agents-and-too-much-access/</loc></url><url><loc>https://hamsasoftware.com/blog/oprindo-provenance-is-an-integration-responsibility/</loc></url><url><loc>https://hamsasoftware.com/blog/wardos-giving-a-coding-agent-a-bounded-workspace/</loc></url><url><loc>https://hamsasoftware.com/blog/tamperward-protecting-the-checks-around-ai-written-code/</loc></url><url><loc>https://hamsasoftware.com/blog/write-an-evaluation-report-someone-can-disagree-with/</loc></url><url><loc>https://hamsasoftware.com/blog/when-ai-can-click-define-what-the-click-means/</loc></url><url><loc>https://hamsasoftware.com/blog/retire-the-automation-when-the-process-moves-on/</loc></url><url><loc>https://hamsasoftware.com/blog/a-dead-letter-queue-needs-a-living-owner/</loc></url><url><loc>https://hamsasoftware.com/blog/give-every-image-a-job/</loc></url><url><loc>https://hamsasoftware.com/blog/version-the-prompt-and-the-things-around-it/</loc></url><url><loc>https://hamsasoftware.com/blog/put-a-budget-around-an-automated-task/</loc></url><url><loc>https://hamsasoftware.com/blog/a-backfill-is-a-different-kind-of-integration/</loc></url><url><loc>https://hamsasoftware.com/blog/local-ai-changes-the-questions-you-ask-before-buying/</loc></url><url><loc>https://hamsasoftware.com/blog/your-knowledge-assistant-needs-a-freshness-policy/</loc></url><url><loc>https://hamsasoftware.com/blog/a-table-should-still-make-sense-when-you-cannot-see-the-grid/</loc></url><url><loc>https://hamsasoftware.com/blog/test-the-action-an-assistant-must-refuse/</loc></url><url><loc>https://hamsasoftware.com/blog/a-document-is-evidence-not-an-instruction-source/</loc></url><url><loc>https://hamsasoftware.com/blog/reconciliation-catches-what-a-success-log-misses/</loc></url><url><loc>https://hamsasoftware.com/blog/run-the-new-calculation-beside-the-old-one/</loc></url><url><loc>https://hamsasoftware.com/blog/long-running-work-needs-a-useful-waiting-screen/</loc></url><url><loc>https://hamsasoftware.com/blog/model-retirement-belongs-on-the-maintenance-calendar/</loc></url><url><loc>https://hamsasoftware.com/blog/follow-one-order-across-all-its-systems/</loc></url><url><loc>https://hamsasoftware.com/blog/give-an-ai-task-a-clean-desk/</loc></url><url><loc>https://hamsasoftware.com/blog/feature-flags-need-a-removal-date/</loc></url><url><loc>https://hamsasoftware.com/blog/an-alert-should-arrive-with-a-next-step/</loc></url><url><loc>https://hamsasoftware.com/blog/a-documentation-assistant-should-show-its-working-materials/</loc></url><url><loc>https://hamsasoftware.com/blog/an-api-field-needs-a-meaning-not-just-a-name/</loc></url><url><loc>https://hamsasoftware.com/blog/make-form-errors-easy-to-read-and-easy-to-fix/</loc></url><url><loc>https://hamsasoftware.com/blog/a-model-launch-is-an-invitation-to-test/</loc></url><url><loc>https://hamsasoftware.com/blog/design-the-manual-fallback-before-you-need-it/</loc></url><url><loc>https://hamsasoftware.com/blog/does-this-task-need-an-agent-or-a-workflow/</loc></url><url><loc>https://hamsasoftware.com/blog/rate-limits-are-a-planning-input/</loc></url><url><loc>https://hamsasoftware.com/blog/who-reviews-the-tests-an-ai-assistant-writes/</loc></url><url><loc>https://hamsasoftware.com/blog/when-an-ai-tool-catalogue-becomes-too-much-information/</loc></url><url><loc>https://hamsasoftware.com/blog/the-exception-queue-is-part-of-the-product/</loc></url><url><loc>https://hamsasoftware.com/blog/teach-an-extraction-tool-how-to-leave-a-blank/</loc></url><url><loc>https://hamsasoftware.com/blog/a-readable-page-starts-before-the-font-choice/</loc></url><url><loc>https://hamsasoftware.com/blog/the-payment-timed-out-did-it-happen/</loc></url><url><loc>https://hamsasoftware.com/blog/what-open-ai-infrastructure-changes-for-a-small-business/</loc></url><url><loc>https://hamsasoftware.com/blog/count-the-work-around-the-automation/</loc></url><url><loc>https://hamsasoftware.com/blog/safer-models-still-need-application-boundaries/</loc></url><url><loc>https://hamsasoftware.com/blog/retrieval-permissions-are-still-permissions/</loc></url><url><loc>https://hamsasoftware.com/blog/a-good-january-project-might-be-deleting-something/</loc></url><url><loc>https://hamsasoftware.com/blog/quiet-automation-for-a-quiet-week/</loc></url><url><loc>https://hamsasoftware.com/blog/dependency-updates-need-a-small-regular-slot/</loc></url><url><loc>https://hamsasoftware.com/blog/make-the-visual-explanation-work-without-the-visual/</loc></url><url><loc>https://hamsasoftware.com/blog/reconciliation-is-the-other-half-of-an-integration/</loc></url><url><loc>https://hamsasoftware.com/blog/let-readers-change-the-spacing/</loc></url><url><loc>https://hamsasoftware.com/blog/a-runbook-should-work-when-its-author-is-away/</loc></url><url><loc>https://hamsasoftware.com/blog/when-the-evaluators-disagree/</loc></url><url><loc>https://hamsasoftware.com/blog/write-the-incident-review-for-the-next-person/</loc></url><url><loc>https://hamsasoftware.com/blog/an-optional-field-can-still-break-an-integration/</loc></url><url><loc>https://hamsasoftware.com/blog/does-this-task-need-an-agent/</loc></url><url><loc>https://hamsasoftware.com/blog/automate-the-handoff-without-hiding-the-work/</loc></url><url><loc>https://hamsasoftware.com/blog/form-labels-should-not-disappear/</loc></url><url><loc>https://hamsasoftware.com/blog/sonnet-4-5-and-the-value-of-a-checkpoint/</loc></url><url><loc>https://hamsasoftware.com/blog/citations-should-let-the-reader-check-the-answer/</loc></url><url><loc>https://hamsasoftware.com/blog/do-not-let-the-last-editor-win-by-accident/</loc></url><url><loc>https://hamsasoftware.com/blog/follow-one-order-through-the-system/</loc></url><url><loc>https://hamsasoftware.com/blog/scheduled-does-not-mean-completed/</loc></url><url><loc>https://hamsasoftware.com/blog/use-a-larger-model-where-it-earns-its-place/</loc></url><url><loc>https://hamsasoftware.com/blog/one-operation-can-have-several-attempts/</loc></url><url><loc>https://hamsasoftware.com/blog/quiet-colours-still-need-contrast/</loc></url><url><loc>https://hamsasoftware.com/blog/gpt-5-announced-what-should-a-small-team-test/</loc></url><url><loc>https://hamsasoftware.com/blog/an-email-is-data-not-authority/</loc></url><url><loc>https://hamsasoftware.com/blog/a-failed-job-needs-a-waiting-room/</loc></url><url><loc>https://hamsasoftware.com/blog/review-the-ai-change-before-the-explanation/</loc></url><url><loc>https://hamsasoftware.com/blog/money-needs-a-currency-and-a-rounding-rule/</loc></url><url><loc>https://hamsasoftware.com/blog/a-search-assistant-needs-a-no-answer-path/</loc></url><url><loc>https://hamsasoftware.com/blog/modernisation-can-start-with-one-report/</loc></url><url><loc>https://hamsasoftware.com/blog/approval-buttons-need-context/</loc></url><url><loc>https://hamsasoftware.com/blog/an-ai-evaluation-set-you-can-maintain/</loc></url><url><loc>https://hamsasoftware.com/blog/give-your-integration-a-time-budget/</loc></url><url><loc>https://hamsasoftware.com/blog/choose-fonts-by-reading-the-page/</loc></url><url><loc>https://hamsasoftware.com/blog/claude-4-and-the-longer-task-question/</loc></url><url><loc>https://hamsasoftware.com/blog/webhooks-arrive-without-a-timetable/</loc></url><url><loc>https://hamsasoftware.com/blog/design-the-manual-fallback-first/</loc></url><url><loc>https://hamsasoftware.com/blog/invoice-extraction-needs-a-place-for-unknown/</loc></url><url><loc>https://hamsasoftware.com/blog/write-the-runbook-for-the-person-who-is-interrupted/</loc></url><url><loc>https://hamsasoftware.com/blog/save-the-order-and-its-next-step-together/</loc></url><url><loc>https://hamsasoftware.com/blog/a-cloud-budget-alert-is-a-prompt-to-act/</loc></url><url><loc>https://hamsasoftware.com/blog/your-ai-evaluation-should-change-when-the-work-changes/</loc></url><url><loc>https://hamsasoftware.com/blog/a-dry-run-should-produce-a-change-plan/</loc></url><url><loc>https://hamsasoftware.com/blog/caching-a-response-also-caches-its-assumptions/</loc></url><url><loc>https://hamsasoftware.com/blog/debug-by-changing-one-explanation-at-a-time/</loc></url><url><loc>https://hamsasoftware.com/blog/give-an-ai-workflow-a-stopping-budget/</loc></url><url><loc>https://hamsasoftware.com/blog/carry-the-unit-with-the-number/</loc></url><url><loc>https://hamsasoftware.com/blog/an-accessible-error-message-tells-someone-how-to-continue/</loc></url><url><loc>https://hamsasoftware.com/blog/an-api-upgrade-is-a-behaviour-migration/</loc></url><url><loc>https://hamsasoftware.com/blog/give-a-coding-assistant-a-smaller-clearer-task/</loc></url><url><loc>https://hamsasoftware.com/blog/reconciliation-should-explain-the-difference/</loc></url><url><loc>https://hamsasoftware.com/blog/a-feature-flag-needs-an-expiry-condition/</loc></url><url><loc>https://hamsasoftware.com/blog/the-first-page-is-not-the-whole-dataset/</loc></url><url><loc>https://hamsasoftware.com/blog/drafting-an-email-and-sending-it-are-different-tasks/</loc></url><url><loc>https://hamsasoftware.com/blog/a-backup-becomes-credible-when-a-restore-works/</loc></url><url><loc>https://hamsasoftware.com/blog/automate-the-repeated-work-keep-the-useful-judgement/</loc></url><url><loc>https://hamsasoftware.com/blog/decembers-useful-agent-distinction-workflow-or-exploration/</loc></url><url><loc>https://hamsasoftware.com/blog/a-knowledge-assistant-needs-source-boundaries/</loc></url><url><loc>https://hamsasoftware.com/blog/two-systems-need-a-rule-for-who-owns-the-field/</loc></url><url><loc>https://hamsasoftware.com/blog/mcp-made-the-connection-standard-permissions-still-needed-design/</loc></url><url><loc>https://hamsasoftware.com/blog/trace-one-customer-request-across-the-hand-offs/</loc></url><url><loc>https://hamsasoftware.com/blog/a-manual-fallback-is-part-of-the-automation/</loc></url><url><loc>https://hamsasoftware.com/blog/choose-integration-access-by-the-job-it-performs/</loc></url><url><loc>https://hamsasoftware.com/blog/review-the-diff-that-changes-how-the-diff-is-checked/</loc></url><url><loc>https://hamsasoftware.com/blog/the-document-is-evidence-not-an-instruction/</loc></url><url><loc>https://hamsasoftware.com/blog/nine-oclock-is-not-a-complete-schedule/</loc></url><url><loc>https://hamsasoftware.com/blog/give-each-integration-a-time-budget/</loc></url><url><loc>https://hamsasoftware.com/blog/readable-typography-is-an-engineering-concern/</loc></url><url><loc>https://hamsasoftware.com/blog/build-an-evaluation-set-before-polishing-the-prompt/</loc></url><url><loc>https://hamsasoftware.com/blog/the-csv-import-deserves-a-preview-screen/</loc></url><url><loc>https://hamsasoftware.com/blog/let-the-database-enforce-the-rule-that-matters/</loc></url><url><loc>https://hamsasoftware.com/blog/a-webhook-is-a-message-you-may-see-twice/</loc></url><url><loc>https://hamsasoftware.com/blog/give-an-ai-extractor-permission-to-leave-a-field-blank/</loc></url><url><loc>https://hamsasoftware.com/blog/modernise-one-useful-seam-at-a-time/</loc></url><url><loc>https://hamsasoftware.com/blog/draw-the-exception-path-before-automating-the-happy-path/</loc></url><url><loc>https://hamsasoftware.com/blog/structured-outputs-arrived-business-validation-stayed/</loc></url><url><loc>https://hamsasoftware.com/blog/when-a-retry-becomes-a-second-order/</loc></url></urlset>