<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hamsa Software — Notes from the work</title><link>https://hamsasoftware.com/blog/</link><description>Weekly practical AI, automation, integrations and software engineering.</description><language>en-gb</language><atom:link href="https://hamsasoftware.com/blog/feed.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Thu, 29 Oct 2026 12:00:00 GMT</lastBuildDate><item><title>Ten minutes with your AI assistant’s permissions</title><link>https://hamsasoftware.com/blog/ten-minutes-with-your-ai-assistants-permissions/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/ten-minutes-with-your-ai-assistants-permissions/</guid><pubDate>Thu, 29 Oct 2026 12:00:00 GMT</pubDate><category>AI tooling</category><description>An assistant that drafts invoice reminders needs three read permissions in Xero. Here is a one-page review of what it can read, change and refuse, and why a payment scope turns a customer’s email into a ledger entry.</description></item><item><title>Why replacing a compromised key may not end an incident</title><link>https://hamsasoftware.com/blog/recent-cyber-incidents-ai-agents-and-too-much-access/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/recent-cyber-incidents-ai-agents-and-too-much-access/</guid><pubDate>Thu, 22 Oct 2026 12:00:00 GMT</pubDate><category>AI developments</category><description>A saved replacement, a running service and an attacker’s existing access can change at different times. Railway’s guidance explains why that matters; PingCAP and PHP show where the next job differs.</description></item><item><title>A valid signature still needs a trust decision</title><link>https://hamsasoftware.com/blog/oprindo-provenance-is-an-integration-responsibility/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/oprindo-provenance-is-an-integration-responsibility/</guid><pubDate>Thu, 15 Oct 2026 12:00:00 GMT</pubDate><category>Integrations</category><description>An Oprindo sample had a matching asset hash and a valid signature, alongside an untrusted credential result. The useful story is in those separate answers.</description></item><item><title>The agent can fetch the code without holding the key</title><link>https://hamsasoftware.com/blog/wardos-giving-a-coding-agent-a-bounded-workspace/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/wardos-giving-a-coding-agent-a-bounded-workspace/</guid><pubDate>Thu, 08 Oct 2026 12:00:00 GMT</pubDate><category>Project notes</category><description>You need the repository; the host keeps the reusable key. WardOS checks what the agent asks to do—and whether a passing test still describes the files being reviewed.</description></item><item><title>What if the passing test is the thing that changed?</title><link>https://hamsasoftware.com/blog/tamperward-protecting-the-checks-around-ai-written-code/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/tamperward-protecting-the-checks-around-ai-written-code/</guid><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>Project notes</category><description>A small Tamperward experiment produced two green test runs for the wrong reason. Comparing them with the original checks exposed the difference.</description></item><item><title>What does the evaluation permit us to release?</title><link>https://hamsasoftware.com/blog/write-an-evaluation-report-someone-can-disagree-with/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/write-an-evaluation-report-someone-can-disagree-with/</guid><pubDate>Thu, 24 Sep 2026 12:00:00 GMT</pubDate><category>AI tooling</category><description>Separate observed results, inference and release authority, so an attractive score cannot quietly approve a different product.</description></item><item><title>What did the browser actually confirm?</title><link>https://hamsasoftware.com/blog/when-ai-can-click-define-what-the-click-means/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/when-ai-can-click-define-what-the-click-means/</guid><pubDate>Thu, 17 Sep 2026 12:00:00 GMT</pubDate><category>AI developments</category><description>Computer use needs an observation contract for account, object and outcome, especially when a visible click produces only partial completion.</description></item><item><title>How to stop an automation that still has work to do</title><link>https://hamsasoftware.com/blog/retire-the-automation-when-the-process-moves-on/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/retire-the-automation-when-the-process-moves-on/</guid><pubDate>Thu, 10 Sep 2026 12:00:00 GMT</pubDate><category>Automation</category><description>Retire intake, accepted jobs and external authority in a deliberate order, so a late event cannot revive an obsolete process.</description></item><item><title>Should this old instruction still run?</title><link>https://hamsasoftware.com/blog/a-dead-letter-queue-needs-a-living-owner/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-dead-letter-queue-needs-a-living-owner/</guid><pubDate>Thu, 03 Sep 2026 12:00:00 GMT</pubDate><category>Integrations</category><description>Repairing a consumer makes replay possible. Current state, dependencies and recovery admission decide whether it is still appropriate.</description></item><item><title>The right picture, delivered into the wrong rectangle</title><link>https://hamsasoftware.com/blog/give-every-image-a-job/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/give-every-image-a-job/</guid><pubDate>Thu, 27 Aug 2026 12:00:00 GMT</pubDate><category>Engineering</category><description>Resolution, crop and reserved space solve different image problems. Design all three around what the reader needs to see.</description></item><item><title>The prompt did not change. The system did.</title><link>https://hamsasoftware.com/blog/version-the-prompt-and-the-things-around-it/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/version-the-prompt-and-the-things-around-it/</guid><pubDate>Thu, 20 Aug 2026 12:00:00 GMT</pubDate><category>AI tooling</category><description>Version the resolved configuration around an AI response so comparisons, investigations and rollback refer to the system that actually ran.</description></item><item><title>A budget that three workers can share</title><link>https://hamsasoftware.com/blog/put-a-budget-around-an-automated-task/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/put-a-budget-around-an-automated-task/</guid><pubDate>Thu, 13 Aug 2026 12:00:00 GMT</pubDate><category>Automation</category><description>Enforce task limits through atomic reservations and repeat-safe settlement, including the uncomfortable case where a timed-out operation may still be spending.</description></item><item><title>The backfill arrived after the live update</title><link>https://hamsasoftware.com/blog/a-backfill-is-a-different-kind-of-integration/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-backfill-is-a-different-kind-of-integration/</guid><pubDate>Thu, 06 Aug 2026 12:00:00 GMT</pubDate><category>Integrations</category><description>Historical work needs a population boundary, revision policy and crash-safe checkpoint strategy before its final page can mean done.</description></item><item><title>What comes with an AI model on your laptop?</title><link>https://hamsasoftware.com/blog/local-ai-changes-the-questions-you-ask-before-buying/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/local-ai-changes-the-questions-you-ask-before-buying/</guid><pubDate>Thu, 30 Jul 2026 12:00:00 GMT</pubDate><category>AI developments</category><description>Local inference offers a different operating boundary. Evaluate the completed task, data routes and maintenance responsibility before buying into it.</description></item><item><title>The notice was withdrawn. Why is the assistant still using it?</title><link>https://hamsasoftware.com/blog/your-knowledge-assistant-needs-a-freshness-policy/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/your-knowledge-assistant-needs-a-freshness-policy/</guid><pubDate>Thu, 23 Jul 2026 12:00:00 GMT</pubDate><category>AI tooling</category><description>Freshness follows source dependencies through indexes, summaries, caches and in-flight answers—not just the original URL.</description></item><item><title>What does £240 belong to?</title><link>https://hamsasoftware.com/blog/a-table-should-still-make-sense-when-you-cannot-see-the-grid/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-table-should-still-make-sense-when-you-cannot-see-the-grid/</guid><pubDate>Thu, 16 Jul 2026 12:00:00 GMT</pubDate><category>Engineering</category><description>A readable table preserves relationships between values, row labels, column headings and actions across different ways of reading.</description></item><item><title>What exactly did that approval authorise?</title><link>https://hamsasoftware.com/blog/test-the-action-an-assistant-must-refuse/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/test-the-action-an-assistant-must-refuse/</guid><pubDate>Thu, 09 Jul 2026 12:00:00 GMT</pubDate><category>Automation</category><description>Bind an assistant’s approval to the action, target and material revision, then enforce that binding when the write happens.</description></item><item><title>How a sentence in a PDF becomes a button</title><link>https://hamsasoftware.com/blog/a-document-is-evidence-not-an-instruction-source/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-document-is-evidence-not-an-instruction-source/</guid><pubDate>Thu, 02 Jul 2026 12:00:00 GMT</pubDate><category>AI tooling</category><description>External instructions can gain apparent legitimacy through summaries and approval screens. Keep the proposal’s origin and actual effect visible.</description></item><item><title>Why £400 of payments can become a £361 deposit</title><link>https://hamsasoftware.com/blog/reconciliation-catches-what-a-success-log-misses/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/reconciliation-catches-what-a-success-log-misses/</guid><pubDate>Thu, 25 Jun 2026 12:00:00 GMT</pubDate><category>Integrations</category><description>Reconcile transactions, payouts and bank entries at their own boundaries. A net total needs an explanation, not a forced match.</description></item><item><title>When two calculations agree on the wrong answer</title><link>https://hamsasoftware.com/blog/run-the-new-calculation-beside-the-old-one/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/run-the-new-calculation-beside-the-old-one/</guid><pubDate>Thu, 18 Jun 2026 12:00:00 GMT</pubDate><category>Engineering</category><description>A shadow comparison exposes differences. Independent rule examples explain whether those differences are bugs, corrections or changed assumptions.</description></item><item><title>You can close the tab now</title><link>https://hamsasoftware.com/blog/long-running-work-needs-a-useful-waiting-screen/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/long-running-work-needs-a-useful-waiting-screen/</guid><pubDate>Thu, 11 Jun 2026 12:00:00 GMT</pubDate><category>Automation</category><description>A useful waiting screen represents a durable job: accepted work, defensible progress, cancellation and a result you can return to.</description></item><item><title>The model we stopped calling, except once a month</title><link>https://hamsasoftware.com/blog/model-retirement-belongs-on-the-maintenance-calendar/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/model-retirement-belongs-on-the-maintenance-calendar/</guid><pubDate>Thu, 04 Jun 2026 12:00:00 GMT</pubDate><category>AI developments</category><description>Retirement work needs both declared consumers and observed usage. A quiet seven-day dashboard cannot account for a monthly dependency.</description></item><item><title>One order, several attempts, more than one trace</title><link>https://hamsasoftware.com/blog/follow-one-order-across-all-its-systems/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/follow-one-order-across-all-its-systems/</guid><pubDate>Thu, 28 May 2026 12:00:00 GMT</pubDate><category>Integrations</category><description>Business identity and diagnostic identity have different lifetimes. Connecting them makes the waiting between systems visible.</description></item><item><title>What should the assistant carry into the next turn?</title><link>https://hamsasoftware.com/blog/give-an-ai-task-a-clean-desk/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/give-an-ai-task-a-clean-desk/</guid><pubDate>Thu, 21 May 2026 12:00:00 GMT</pubDate><category>AI tooling</category><description>Current decisions, scoped memories and conversation history do different jobs. A changed site visit shows why the distinction matters.</description></item><item><title>What happens to the data when the flag goes off?</title><link>https://hamsasoftware.com/blog/feature-flags-need-a-removal-date/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/feature-flags-need-a-removal-date/</guid><pubDate>Thu, 14 May 2026 12:00:00 GMT</pubDate><category>Engineering</category><description>An off switch cannot restore a contract that new writes have already changed. Plan reader and writer compatibility across the transition.</description></item><item><title>What the 08:45 alert needs to know</title><link>https://hamsasoftware.com/blog/an-alert-should-arrive-with-a-next-step/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/an-alert-should-arrive-with-a-next-step/</guid><pubDate>Thu, 07 May 2026 12:00:00 GMT</pubDate><category>Automation</category><description>A stock feed due at 09:00 shows why deadlines, missing evidence and recovery belong in the alert rule itself.</description></item><item><title>When the documents disagree</title><link>https://hamsasoftware.com/blog/a-documentation-assistant-should-show-its-working-materials/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-documentation-assistant-should-show-its-working-materials/</guid><pubDate>Thu, 30 Apr 2026 12:00:00 GMT</pubDate><category>AI tooling</category><description>A citation proves where a sentence came from. It does not settle which source governs the decision.</description></item><item><title>The timestamp changed its meaning</title><link>https://hamsasoftware.com/blog/an-api-field-needs-a-meaning-not-just-a-name/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/an-api-field-needs-a-meaning-not-just-a-name/</guid><pubDate>Thu, 23 Apr 2026 12:00:00 GMT</pubDate><category>Integrations</category><description>An unchanged API schema can still alter a weekly report. Define events, corrections and compatibility from the consumer’s side.</description></item><item><title>The route back from a form error</title><link>https://hamsasoftware.com/blog/make-form-errors-easy-to-read-and-easy-to-fix/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/make-form-errors-easy-to-read-and-easy-to-fix/</guid><pubDate>Thu, 16 Apr 2026 12:00:00 GMT</pubDate><category>Engineering</category><description>Readable error text is only the beginning. Three failures show how focus, retained input and the next action complete the recovery.</description></item><item><title>What would justify changing the model?</title><link>https://hamsasoftware.com/blog/a-model-launch-is-an-invitation-to-test/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-model-launch-is-an-invitation-to-test/</guid><pubDate>Thu, 09 Apr 2026 12:00:00 GMT</pubDate><category>AI developments</category><description>A model launch invites a paired migration experiment. The revealing result is often the case that got worse.</description></item><item><title>The difficult part of doing it manually</title><link>https://hamsasoftware.com/blog/design-the-manual-fallback-before-you-need-it/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/design-the-manual-fallback-before-you-need-it/</guid><pubDate>Thu, 02 Apr 2026 12:00:00 GMT</pubDate><category>Automation</category><description>A manual fallback needs a transfer of control. A paused worker, a stale claim and an external booking show why.</description></item><item><title>Who chooses the next step?</title><link>https://hamsasoftware.com/blog/does-this-task-need-an-agent-or-a-workflow/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/does-this-task-need-an-agent-or-a-workflow/</guid><pubDate>Thu, 26 Mar 2026 12:00:00 GMT</pubDate><category>AI tooling</category><description>A service-desk case set separates uncertain wording, missing evidence, exploratory research and absent authority—four reasons a workflow can stop, with different architectural answers.</description></item><item><title>How a bulk import shares an API limit</title><link>https://hamsasoftware.com/blog/rate-limits-are-a-planning-input/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/rate-limits-are-a-planning-input/</guid><pubDate>Thu, 19 Mar 2026 12:00:00 GMT</pubDate><category>Integrations</category><description>A worked 120-call budget shows what an import costs interactive work, why retries consume the same capacity and how completion promises change with the scheduling rule.</description></item><item><title>A passing test can share the code’s mistake</title><link>https://hamsasoftware.com/blog/who-reviews-the-tests-an-ai-assistant-writes/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/who-reviews-the-tests-an-ai-assistant-writes/</guid><pubDate>Thu, 12 Mar 2026 12:00:00 GMT</pubDate><category>Engineering</category><description>A fixed-discount example, selected wrong implementations and an executable fixture show what generated tests can establish—and what they can agree to misunderstand.</description></item><item><title>What tool discovery changes in a maintenance brief</title><link>https://hamsasoftware.com/blog/when-an-ai-tool-catalogue-becomes-too-much-information/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/when-an-ai-tool-catalogue-becomes-too-much-information/</guid><pubDate>Thu, 05 Mar 2026 12:00:00 GMT</pubDate><category>AI developments</category><description>A maintenance brief needs seventy-five reads whichever interface performs them. Tool discovery changes what the model sees; it does not automatically reduce the work behind it.</description></item><item><title>Who has time for the exception queue?</title><link>https://hamsasoftware.com/blog/the-exception-queue-is-part-of-the-product/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/the-exception-queue-is-part-of-the-product/</guid><pubDate>Thu, 26 Feb 2026 12:00:00 GMT</pubDate><category>Automation</category><description>Thirty daily exceptions and eighteen review slots create a growing backlog. A worked capacity ledger shows what it takes to recover before waiting changes the job.</description></item><item><title>A blank field can be the correct answer</title><link>https://hamsasoftware.com/blog/teach-an-extraction-tool-how-to-leave-a-blank/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/teach-an-extraction-tool-how-to-leave-a-blank/</guid><pubDate>Thu, 19 Feb 2026 12:00:00 GMT</pubDate><category>AI tooling</category><description>Twelve synthetic invoices reveal the trade between automatic coverage, unsupported accepted values and the review work an extraction policy creates.</description></item><item><title>The page around the paragraph</title><link>https://hamsasoftware.com/blog/a-readable-page-starts-before-the-font-choice/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-readable-page-starts-before-the-font-choice/</guid><pubDate>Thu, 12 Feb 2026 12:00:00 GMT</pubDate><category>Engineering</category><description>A worked viewport budget and a reference-return fixture reveal how navigation, promotion and source checking compete with sustained reading.</description></item><item><title>The payment timed out. The money might have moved.</title><link>https://hamsasoftware.com/blog/the-payment-timed-out-did-it-happen/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/the-payment-timed-out-did-it-happen/</guid><pubDate>Thu, 05 Feb 2026 12:00:00 GMT</pubDate><category>Integrations</category><description>A lost response leaves the payment outcome unresolved. A worked attempt ledger follows provider evidence, concurrent updates and fulfilment recovery.</description></item><item><title>What an open protocol preserves when an assistant moves</title><link>https://hamsasoftware.com/blog/what-open-ai-infrastructure-changes-for-a-small-business/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/what-open-ai-infrastructure-changes-for-a-small-business/</guid><pubDate>Thu, 29 Jan 2026 12:00:00 GMT</pubDate><category>AI developments</category><description>A connector can move between assistants while changing the identity behind the request. A worked template-service contract separates portability from permission.</description></item><item><title>Whose afternoon did the automation improve?</title><link>https://hamsasoftware.com/blog/count-the-work-around-the-automation/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/count-the-work-around-the-automation/</guid><pubDate>Thu, 22 Jan 2026 12:00:00 GMT</pubDate><category>Automation</category><description>A generated answer can be quick while review, repairs and maintenance absorb the saving. A one-week enquiry model follows the human work before asking what value was created.</description></item><item><title>What the second look is for</title><link>https://hamsasoftware.com/blog/safer-models-still-need-application-boundaries/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/safer-models-still-need-application-boundaries/</guid><pubDate>Thu, 15 Jan 2026 12:00:00 GMT</pubDate><category>AI developments</category><description>Constitutional Classifiers++ combines contextual checks with selective expensive review. An original cascade example explains why escalation, refusal, missed cases and compute overhead must not be treated as the same result.</description></item><item><title>Revocation needs to reach cached answers</title><link>https://hamsasoftware.com/blog/retrieval-permissions-are-still-permissions/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/retrieval-permissions-are-still-permissions/</guid><pubDate>Thu, 08 Jan 2026 12:00:00 GMT</pubDate><category>AI tooling</category><description>A permitted answer for Alice is not a permitted cache hit for Ben. Revocation also reaches search indexes, old conversation context and links, where a retrieval-only check can be bypassed.</description></item><item><title>The annual job behind an apparently unused credential</title><link>https://hamsasoftware.com/blog/a-good-january-project-might-be-deleting-something/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-good-january-project-might-be-deleting-something/</guid><pubDate>Thu, 01 Jan 2026 12:00:00 GMT</pubDate><category>Engineering</category><description>An old credential has eleven quiet months of logs and an annual job just outside the window. A retirement inventory shows how to remove unnecessary access without guessing what still depends on it.</description></item><item><title>What a zero-job dashboard can establish</title><link>https://hamsasoftware.com/blog/quiet-automation-for-a-quiet-week/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/quiet-automation-for-a-quiet-week/</guid><pubDate>Thu, 25 Dec 2025 12:00:00 GMT</pubDate><category>Automation</category><description>No completed jobs might mean no incoming work, a stalled process or lost monitoring. A small state model separates those possibilities before asking someone to respond.</description></item><item><title>A dependency update that changes 0017 to 17</title><link>https://hamsasoftware.com/blog/dependency-updates-need-a-small-regular-slot/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/dependency-updates-need-a-small-regular-slot/</guid><pubDate>Thu, 18 Dec 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>A dependency can install cleanly and return the wrong business meaning. A fictional normalisation change shows where an application contract test earns its place in routine upgrades.</description></item><item><title>The mapping decision missing from the diagram</title><link>https://hamsasoftware.com/blog/make-the-visual-explanation-work-without-the-visual/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/make-the-visual-explanation-work-without-the-visual/</guid><pubDate>Thu, 11 Dec 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>A neat line from file to done can hide the decision that matters. Four mapping cases show how to make a diagram explain a contract rather than merely decorate it.</description></item><item><title>Reconcile entitlement, rather than payment status alone</title><link>https://hamsasoftware.com/blog/reconciliation-is-the-other-half-of-an-integration/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/reconciliation-is-the-other-half-of-an-integration/</guid><pubDate>Thu, 04 Dec 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>A payment-to-access join would revoke a trial, misunderstand refund grace and overlook duplicate grants. A six-member cutoff example shows how to reconcile the business rule instead.</description></item><item><title>When text spacing hides a condition in a card</title><link>https://hamsasoftware.com/blog/let-readers-change-the-spacing/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/let-readers-change-the-spacing/</guid><pubDate>Thu, 27 Nov 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>A card that looks tidy at the default settings can hide instructions when text spacing changes. An identical-text specimen makes the layout decision and its repair inspectable.</description></item><item><title>Reconciling the CRM record that already exists</title><link>https://hamsasoftware.com/blog/a-runbook-should-work-when-its-author-is-away/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-runbook-should-work-when-its-author-is-away/</guid><pubDate>Thu, 20 Nov 2025 12:00:00 GMT</pubDate><category>Automation</category><description>A useful runbook says how to recognise the case, what evidence permits the action, when to stop and what proves completion. A CRM timeout gives those instructions something concrete to do.</description></item><item><title>A correct routing label can lose part of the request</title><link>https://hamsasoftware.com/blog/when-the-evaluators-disagree/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/when-the-evaluators-disagree/</guid><pubDate>Thu, 13 Nov 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>Two reviewers can disagree because one is naming the queue and the other is naming every issue. Six messages reveal why changing the model cannot resolve an undefined task.</description></item><item><title>What the failed rollback revealed</title><link>https://hamsasoftware.com/blog/write-the-incident-review-for-the-next-person/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/write-the-incident-review-for-the-next-person/</guid><pubDate>Thu, 06 Nov 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>An importer rejects some rows after a change. A synthetic incident record shows how a configuration, an input feature and a failed mitigation can produce a better explanation than “bad deployment”.</description></item><item><title>Why an optional field can break an old consumer</title><link>https://hamsasoftware.com/blog/an-optional-field-can-still-break-an-integration/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/an-optional-field-can-still-break-an-integration/</guid><pubDate>Thu, 30 Oct 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>Adding a JSON property can leave one reader unchanged, make another reject the response and shift a third consumer’s CSV. Compatibility depends on what the recipient actually does.</description></item><item><title>When an agent cannot identify the account</title><link>https://hamsasoftware.com/blog/does-this-task-need-an-agent/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/does-this-task-need-an-agent/</guid><pubDate>Thu, 23 Oct 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>A workflow can include branches, judgement and AI-written drafts. The useful reason to add an agent is that evidence must change the plan, not that one input is inconvenient.</description></item><item><title>A notification does not own the work</title><link>https://hamsasoftware.com/blog/automate-the-handoff-without-hiding-the-work/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/automate-the-handoff-without-hiding-the-work/</guid><pubDate>Thu, 16 Oct 2025 12:00:00 GMT</pubDate><category>Automation</category><description>Sending a case to someone is different from their accepting responsibility. A versioned handoff shows how to keep work owned while offers expire, context changes and old notifications return.</description></item><item><title>A filled form still needs its questions</title><link>https://hamsasoftware.com/blog/form-labels-should-not-disappear/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/form-labels-should-not-disappear/</guid><pubDate>Thu, 09 Oct 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>When two fields contain the same email address, the values cannot tell you which sends invoices and which sends delivery updates. Labels, hints and errors each have a different job.</description></item><item><title>What a coding checkpoint leaves behind</title><link>https://hamsasoftware.com/blog/sonnet-4-5-and-the-value-of-a-checkpoint/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/sonnet-4-5-and-the-value-of-a-checkpoint/</guid><pubDate>Thu, 02 Oct 2025 12:00:00 GMT</pubDate><category>AI developments</category><description>Claude Code’s checkpoint launch made experimentation easier. A catalogue-export example shows why restoring a source file is only one part of returning a workflow to a known state.</description></item><item><title>A real source can still leave a claim unsupported</title><link>https://hamsasoftware.com/blog/citations-should-let-the-reader-check-the-answer/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/citations-should-let-the-reader-check-the-answer/</guid><pubDate>Thu, 25 Sep 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>A primary source can establish a release date, report a case and make a vendor judgement. Those are different kinds of evidence, and the sentence beside the link needs to say which one it uses.</description></item><item><title>Resolving a stale save without losing either edit</title><link>https://hamsasoftware.com/blog/do-not-let-the-last-editor-win-by-accident/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/do-not-let-the-last-editor-win-by-accident/</guid><pubDate>Thu, 18 Sep 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>A stale-save warning protects the record only halfway if it throws away the person’s draft. A three-way quote example shows how to preserve edits without silently choosing a new commercial meaning.</description></item><item><title>Where did this order spend its time?</title><link>https://hamsasoftware.com/blog/follow-one-order-through-the-system/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/follow-one-order-through-the-system/</guid><pubDate>Thu, 11 Sep 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>A fast request and a fast worker can still leave a customer waiting. Two equal-duration order histories show how queue time, execution and missing evidence lead to different investigations.</description></item><item><title>The missing Tuesday</title><link>https://hamsasoftware.com/blog/scheduled-does-not-mean-completed/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/scheduled-does-not-mean-completed/</guid><pubDate>Thu, 04 Sep 2025 12:00:00 GMT</pubDate><category>Automation</category><description>Wednesday’s successful run does not prove Tuesday’s work happened. A period ledger makes missed work selectable, catch-up deliberate and completion something more useful than a green scheduler.</description></item><item><title>The cheap route has a hidden decision in it</title><link>https://hamsasoftware.com/blog/use-a-larger-model-where-it-earns-its-place/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/use-a-larger-model-where-it-earns-its-place/</guid><pubDate>Thu, 28 Aug 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>Sending easy work to a smaller model can save money. A hundred-task example shows how the router’s mistakes, detection and repair can change that conclusion.</description></item><item><title>The second click may mean something different</title><link>https://hamsasoftware.com/blog/one-operation-can-have-several-attempts/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/one-operation-can-have-several-attempts/</guid><pubDate>Thu, 21 Aug 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>Retrying a purchase, editing its basket and deliberately buying the same thing again can look remarkably similar to a request logger. The intent model has to distinguish them.</description></item><item><title>Give each colour a job it can do</title><link>https://hamsasoftware.com/blog/quiet-colours-still-need-contrast/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/quiet-colours-still-need-contrast/</guid><pubDate>Thu, 14 Aug 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>A warm accent can make a good background and a poor small-text colour. Five calculated pairs show how to preserve a palette while repairing the information people need to read.</description></item><item><title>A launch-day benchmark cannot answer your support inbox</title><link>https://hamsasoftware.com/blog/gpt-5-announced-what-should-a-small-team-test/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/gpt-5-announced-what-should-a-small-team-test/</guid><pubDate>Thu, 07 Aug 2025 12:00:00 GMT</pubDate><category>AI developments</category><description>GPT-5’s arrival was a reason to run a useful trial. An export-support reply shows why factual restraint, practical help and a promise the team can keep need separate attention.</description></item><item><title>What an incoming email can change in an AI task</title><link>https://hamsasoftware.com/blog/an-email-is-data-not-authority/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/an-email-is-data-not-authority/</guid><pubDate>Thu, 31 Jul 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>Follow a recipient change from external text to a proposed tool call, and see where a useful assistant needs a boundary outside its prompt.</description></item><item><title>Before you press redrive</title><link>https://hamsasoftware.com/blog/a-failed-job-needs-a-waiting-room/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-failed-job-needs-a-waiting-room/</guid><pubDate>Thu, 24 Jul 2025 12:00:00 GMT</pubDate><category>Automation</category><description>A dead-letter queue can give a failed message another journey without making its payload correct, its outcome known or its business action new.</description></item><item><title>Read the change before its explanation</title><link>https://hamsasoftware.com/blog/review-the-ai-change-before-the-explanation/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/review-the-ai-change-before-the-explanation/</guid><pubDate>Thu, 17 Jul 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>A reassuring summary cannot tell you whether a validator preserves old identifiers, rejects trailing text or understands the contract. Eight small inputs can.</description></item><item><title>Where the extra penny came from</title><link>https://hamsasoftware.com/blog/money-needs-a-currency-and-a-rounding-rule/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/money-needs-a-currency-and-a-rounding-rule/</guid><pubDate>Thu, 10 Jul 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>Three small discounted items produce 15p when each line is rounded and 14p when the total is rounded. Follow the difference into a provider payload and a partial refund.</description></item><item><title>There may be no policy to find</title><link>https://hamsasoftware.com/blog/a-search-assistant-needs-a-no-answer-path/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-search-assistant-needs-a-no-answer-path/</guid><pubDate>Thu, 03 Jul 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>An assistant finds travel reimbursement and an equipment form, then invents a home-monitor rule between them. Four source-and-question cases show a more useful response.</description></item><item><title>One report can expose the real migration</title><link>https://hamsasoftware.com/blog/modernisation-can-start-with-one-report/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/modernisation-can-start-with-one-report/</guid><pubDate>Thu, 26 Jun 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>An old report and its replacement both show £200. Comparing six underlying records reveals two differences that the matching total has concealed.</description></item><item><title>What did the reviewer actually approve?</title><link>https://hamsasoftware.com/blog/approval-buttons-need-context/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/approval-buttons-need-context/</guid><pubDate>Thu, 19 Jun 2025 12:00:00 GMT</pubDate><category>Automation</category><description>Follow a purchase request whose destination changes while the reviewer is reading it, and the server rule that keeps the final action tied to the decision.</description></item><item><title>Twenty awkward emails can change the decision</title><link>https://hamsasoftware.com/blog/an-ai-evaluation-set-you-can-maintain/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/an-ai-evaluation-set-you-can-maintain/</guid><pubDate>Thu, 12 Jun 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>Two routing policies, one small teaching dataset: the more accurate policy misses critical requests, while the other needs more capacity than the team may have.</description></item><item><title>A deadline cannot cancel an order</title><link>https://hamsasoftware.com/blog/give-your-integration-a-time-budget/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/give-your-integration-a-time-budget/</guid><pubDate>Thu, 05 Jun 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>When a late supplier acknowledgement arrives after the customer asks to cancel, one status field is not enough to describe what the business knows and wants.</description></item><item><title>Choosing a font with real content on the page</title><link>https://hamsasoftware.com/blog/choose-fonts-by-reading-the-page/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/choose-fonts-by-reading-the-page/</guid><pubDate>Thu, 29 May 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>A controlled specimen puts the same paragraph, reference code, figures and completed field in two font stacks, so the decision has something concrete to rest on.</description></item><item><title>Claude 4 made the long task more tempting</title><link>https://hamsasoftware.com/blog/claude-4-and-the-longer-task-question/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/claude-4-and-the-longer-task-question/</guid><pubDate>Thu, 22 May 2025 12:00:00 GMT</pubDate><category>AI developments</category><description>The May 2025 launch promised stronger sustained coding. Here is a concrete way to test the work left behind, using two patches and six independent contract cases.</description></item><item><title>A paid booking should survive a delayed payment event</title><link>https://hamsasoftware.com/blog/webhooks-arrive-without-a-timetable/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/webhooks-arrive-without-a-timetable/</guid><pubDate>Thu, 15 May 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>Three deliveries can turn a paid booking back into a pending one and send two welcome messages. A worked projection shows where the interpretation goes wrong.</description></item><item><title>The fallback is where you find out what you automated</title><link>https://hamsasoftware.com/blog/design-the-manual-fallback-first/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/design-the-manual-fallback-first/</guid><pubDate>Thu, 08 May 2025 12:00:00 GMT</pubDate><category>Automation</category><description>A worked restart manifest: distinguish completed manual work, an uncertain send, a changed record and an untouched enquiry before turning automation back on.</description></item><item><title>When an invoice extractor borrows the wrong date</title><link>https://hamsasoftware.com/blog/invoice-extraction-needs-a-place-for-unknown/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/invoice-extraction-needs-a-place-for-unknown/</guid><pubDate>Thu, 01 May 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>An extractor finds a valid date on an invoice and assigns it to the wrong field. The mistake survives a format check; following the cited line explains what the next check needs to establish.</description></item><item><title>A runbook for the colleague who was doing something else</title><link>https://hamsasoftware.com/blog/write-the-runbook-for-the-person-who-is-interrupted/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/write-the-runbook-for-the-person-who-is-interrupted/</guid><pubDate>Thu, 24 Apr 2025 12:00:00 GMT</pubDate><category>Automation</category><description>A late import has three unresolved records with three different meanings. The useful runbook starts with a current observation, then makes authority, escalation and closure explicit.</description></item><item><title>The order and the promise to tell the warehouse</title><link>https://hamsasoftware.com/blog/save-the-order-and-its-next-step-together/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/save-the-order-and-its-next-step-together/</guid><pubDate>Thu, 17 Apr 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>An outbox preserves an unfinished obligation. A worked crash ledger shows what that buys, where duplicates remain and why the receiver needs its own boundary.</description></item><item><title>A budget alert arrives after the spending starts</title><link>https://hamsasoftware.com/blog/a-cloud-budget-alert-is-a-prompt-to-act/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-cloud-budget-alert-is-a-prompt-to-act/</guid><pubDate>Thu, 10 Apr 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>An illustrative batch cost breakdown separates delayed notification, repeated attempts and cost per useful completion.</description></item><item><title>The old test is passing a new question</title><link>https://hamsasoftware.com/blog/your-ai-evaluation-should-change-when-the-work-changes/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/your-ai-evaluation-should-change-when-the-work-changes/</guid><pubDate>Thu, 03 Apr 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>A six-case onboarding-rule diff shows which expectations change, which remain valid and why old and new scores need different task identities.</description></item><item><title>A dry run should leave the changes that were reviewed</title><link>https://hamsasoftware.com/blog/a-dry-run-should-produce-a-change-plan/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-dry-run-should-produce-a-change-plan/</guid><pubDate>Thu, 27 Mar 2025 12:00:00 GMT</pubDate><category>Automation</category><description>Plan P7 changes one still-matching product, records one conflict and leaves a newly matching product untouched.</description></item><item><title>What makes two cached answers equivalent?</title><link>https://hamsasoftware.com/blog/caching-a-response-also-caches-its-assumptions/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/caching-a-response-also-caches-its-assumptions/</guid><pubDate>Thu, 20 Mar 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>A two-account preference example separates storage, validation and current access, including the case where an old ETag must not produce 304.</description></item><item><title>After the deployment is an observation</title><link>https://hamsasoftware.com/blog/debug-by-changing-one-explanation-at-a-time/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/debug-by-changing-one-explanation-at-a-time/</guid><pubDate>Thu, 13 Mar 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>A constructed write-permission failure shows how controlled comparisons change the next decision without proving more than their evidence supports.</description></item><item><title>When another check adds no evidence</title><link>https://hamsasoftware.com/blog/give-an-ai-workflow-a-stopping-budget/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/give-an-ai-workflow-a-stopping-budget/</guid><pubDate>Thu, 06 Mar 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>A twelve-step sequential controller separates repeated evidence, hard limits, blocked access and the work needed to hand over.</description></item><item><title>1250 is not a complete amount</title><link>https://hamsasoftware.com/blog/carry-the-unit-with-the-number/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/carry-the-unit-with-the-number/</guid><pubDate>Thu, 27 Feb 2025 12:00:00 GMT</pubDate><category>Automation</category><description>A bounded GBP/JPY converter shows why currency, scale and source representation must survive each interface, even when the arithmetic is exact.</description></item><item><title>The form should remember the work you did</title><link>https://hamsasoftware.com/blog/an-accessible-error-message-tells-someone-how-to-continue/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/an-accessible-error-message-tells-someone-how-to-continue/</guid><pubDate>Thu, 20 Feb 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>A retained eighty-word enquiry and one rejected email expose why error recovery needs state, labels, associations and a usable correction route.</description></item><item><title>The API response still parses</title><link>https://hamsasoftware.com/blog/an-api-upgrade-is-a-behaviour-migration/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/an-api-upgrade-is-a-behaviour-migration/</guid><pubDate>Thu, 13 Feb 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>Five mixed-version records expose the difference between valid JSON, representable unknown states and safe status-dependent actions.</description></item><item><title>Give the coding assistant one complete behaviour to finish</title><link>https://hamsasoftware.com/blog/give-a-coding-assistant-a-smaller-clearer-task/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/give-a-coding-assistant-a-smaller-clearer-task/</guid><pubDate>Thu, 06 Feb 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>A filter-retention brief becomes reviewable when Back, reload, copied links and account switches have explicit expected outcomes.</description></item><item><title>When the totals agree and the records do not</title><link>https://hamsasoftware.com/blog/reconciliation-should-explain-the-difference/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/reconciliation-should-explain-the-difference/</guid><pubDate>Thu, 30 Jan 2025 12:00:00 GMT</pubDate><category>Automation</category><description>A three-event comparison proves why equal row counts and equal totals can conceal both a duplicate and a missing event.</description></item><item><title>The switch that outlived its recovery plan</title><link>https://hamsasoftware.com/blog/a-feature-flag-needs-an-expiry-condition/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-feature-flag-needs-an-expiry-condition/</guid><pubDate>Thu, 23 Jan 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>A reader/index compatibility matrix shows why a release flag can remain operable after the old route stops being a valid fallback.</description></item><item><title>The next page may no longer start where you left it</title><link>https://hamsasoftware.com/blog/the-first-page-is-not-the-whole-dataset/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/the-first-page-is-not-the-whole-dataset/</guid><pubDate>Thu, 16 Jan 2025 12:00:00 GMT</pubDate><category>Integrations</category><description>A five-record traversal shows exactly how deletion causes an omission, insertion causes repetition and a premature checkpoint loses committed progress.</description></item><item><title>The draft can be ready before the decision is</title><link>https://hamsasoftware.com/blog/drafting-an-email-and-sending-it-are-different-tasks/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/drafting-an-email-and-sending-it-are-different-tasks/</guid><pubDate>Thu, 09 Jan 2025 12:00:00 GMT</pubDate><category>AI tooling</category><description>A three-sentence customer reply becomes a concrete evidence review: label creation, a missing delivery estimate and a replacement still awaiting approval.</description></item><item><title>The bookings restored, but one document was missing</title><link>https://hamsasoftware.com/blog/a-backup-becomes-credible-when-a-restore-works/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-backup-becomes-credible-when-a-restore-works/</guid><pubDate>Thu, 02 Jan 2025 12:00:00 GMT</pubDate><category>Engineering</category><description>A disposable booking-and-attachment rehearsal exposes two failures that a successful database query cannot detect.</description></item><item><title>Find the repeated work worth removing</title><link>https://hamsasoftware.com/blog/automate-the-repeated-work-keep-the-useful-judgement/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/automate-the-repeated-work-keep-the-useful-judgement/</guid><pubDate>Thu, 26 Dec 2024 12:00:00 GMT</pubDate><category>Automation</category><description>A time-only reporting example compares two improvements, their upkeep and the frequency at which either earns its setup effort.</description></item><item><title>Where does the next step come from?</title><link>https://hamsasoftware.com/blog/decembers-useful-agent-distinction-workflow-or-exploration/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/decembers-useful-agent-distinction-workflow-or-exploration/</guid><pubDate>Thu, 19 Dec 2024 12:00:00 GMT</pubDate><category>AI developments</category><description>Two explicit control paths separate difficult interpretation inside a known process from investigation whose next action depends on new evidence.</description></item><item><title>The right paragraph from the wrong handbook</title><link>https://hamsasoftware.com/blog/a-knowledge-assistant-needs-source-boundaries/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-knowledge-assistant-needs-source-boundaries/</guid><pubDate>Thu, 12 Dec 2024 12:00:00 GMT</pubDate><category>AI tooling</category><description>An invented three-policy corpus shows why applicability must constrain retrieval before attractive passages displace eligible evidence.</description></item><item><title>What did the update mean to change?</title><link>https://hamsasoftware.com/blog/two-systems-need-a-rule-for-who-owns-the-field/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/two-systems-need-a-rule-for-who-owns-the-field/</guid><pubDate>Thu, 05 Dec 2024 12:00:00 GMT</pubDate><category>Integrations</category><description>Omitted, empty and null fields express different edits. A contact example adds the version check that prevents an old form from silently overwriting newer work.</description></item><item><title>What MCP standardised in November 2024</title><link>https://hamsasoftware.com/blog/mcp-made-the-connection-standard-permissions-still-needed-design/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/mcp-made-the-connection-standard-permissions-still-needed-design/</guid><pubDate>Thu, 28 Nov 2024 12:00:00 GMT</pubDate><category>AI developments</category><description>A source-checked illustrative transcript separates the original protocol’s common lifecycle and tool calls from source-specific meaning.</description></item><item><title>A trace should answer a support question</title><link>https://hamsasoftware.com/blog/trace-one-customer-request-across-the-hand-offs/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/trace-one-customer-request-across-the-hand-offs/</guid><pubDate>Thu, 21 Nov 2024 12:00:00 GMT</pubDate><category>Engineering</category><description>An order-to-operation crosswalk shows how useful correlation survives a new attempt, a new trace and a missing context field.</description></item><item><title>A pause needs more than one meaning</title><link>https://hamsasoftware.com/blog/a-manual-fallback-is-part-of-the-automation/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-manual-fallback-is-part-of-the-automation/</guid><pubDate>Thu, 14 Nov 2024 12:00:00 GMT</pubDate><category>Automation</category><description>Three booking requests expose why intake, automatic writes and manual handling need distinct fallback decisions.</description></item><item><title>A connection is someone’s ongoing responsibility</title><link>https://hamsasoftware.com/blog/choose-integration-access-by-the-job-it-performs/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/choose-integration-access-by-the-job-it-performs/</guid><pubDate>Thu, 07 Nov 2024 12:00:00 GMT</pubDate><category>Integrations</category><description>A source-read/report-write example shows why business purposes, OAuth scope and revocation boundaries need separate records.</description></item><item><title>The green check has a definition</title><link>https://hamsasoftware.com/blog/review-the-diff-that-changes-how-the-diff-is-checked/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/review-the-diff-that-changes-how-the-diff-is-checked/</guid><pubDate>Thu, 31 Oct 2024 12:00:00 GMT</pubDate><category>Engineering</category><description>An executed two-command example shows how a familiar test job can turn green by selecting less evidence rather than fixing a defect.</description></item><item><title>The attachment cannot expand the job</title><link>https://hamsasoftware.com/blog/the-document-is-evidence-not-an-instruction/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/the-document-is-evidence-not-an-instruction/</guid><pubDate>Thu, 24 Oct 2024 12:00:00 GMT</pubDate><category>AI tooling</category><description>A small invoice-draft gate shows how tool and argument policy can reject unwanted effects independently of a model’s wording.</description></item><item><title>Which nine o’clock does the report follow?</title><link>https://hamsasoftware.com/blog/nine-oclock-is-not-a-complete-schedule/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/nine-oclock-is-not-a-complete-schedule/</guid><pubDate>Thu, 17 Oct 2024 12:00:00 GMT</pubDate><category>Automation</category><description>Four London clock examples turn a vague daily schedule into an explicit policy for ordinary, repeated and missing local times.</description></item><item><title>One deadline for the whole request</title><link>https://hamsasoftware.com/blog/give-each-integration-a-time-budget/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/give-each-integration-a-time-budget/</guid><pubDate>Thu, 10 Oct 2024 12:00:00 GMT</pubDate><category>Integrations</category><description>A worked 2,500-millisecond lookup shows why retries, backoff and response preparation must spend the same allowance.</description></item><item><title>The extra line is part of the design</title><link>https://hamsasoftware.com/blog/readable-typography-is-an-engineering-concern/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/readable-typography-is-an-engineering-concern/</guid><pubDate>Thu, 03 Oct 2024 12:00:00 GMT</pubDate><category>Engineering</category><description>A service-card specimen exposes the choice between preserving a tidy rectangle and preserving the words and link inside it.</description></item><item><title>Agree the answer before improving the prompt</title><link>https://hamsasoftware.com/blog/build-an-evaluation-set-before-polishing-the-prompt/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/build-an-evaluation-set-before-polishing-the-prompt/</guid><pubDate>Thu, 26 Sep 2024 12:00:00 GMT</pubDate><category>AI tooling</category><description>A twelve-message routing sheet shows why labels, adjudication and case grouping come before a persuasive accuracy score.</description></item><item><title>What the CSV importer thought you meant</title><link>https://hamsasoftware.com/blog/the-csv-import-deserves-a-preview-screen/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/the-csv-import-deserves-a-preview-screen/</guid><pubDate>Thu, 19 Sep 2024 12:00:00 GMT</pubDate><category>Automation</category><description>A five-row price file reveals the gap between parsing text and agreeing what changes it authorises.</description></item><item><title>The second reservation tests the real rule</title><link>https://hamsasoftware.com/blog/let-the-database-enforce-the-rule-that-matters/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/let-the-database-enforce-the-rule-that-matters/</guid><pubDate>Thu, 12 Sep 2024 12:00:00 GMT</pubDate><category>Engineering</category><description>A fixed-slot booking example shows why a database invariant must cover competing writes, cancellation and a failed move.</description></item><item><title>What the webhook receipt actually promises</title><link>https://hamsasoftware.com/blog/a-webhook-is-a-message-you-may-see-twice/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/a-webhook-is-a-message-you-may-see-twice/</guid><pubDate>Thu, 05 Sep 2024 12:00:00 GMT</pubDate><category>Integrations</category><description>Durable receipt, a membership transition and a welcome pack are separate obligations. Give each the identity and recovery boundary it needs.</description></item><item><title>What an empty date can tell you</title><link>https://hamsasoftware.com/blog/give-an-ai-extractor-permission-to-leave-a-field-blank/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/give-an-ai-extractor-permission-to-leave-a-field-blank/</guid><pubDate>Thu, 29 Aug 2024 12:00:00 GMT</pubDate><category>AI tooling</category><description>A missing availability date may mean silence, a relative statement or a conflict. Preserve the difference when it changes the next action.</description></item><item><title>Choose a migration small enough to disagree with</title><link>https://hamsasoftware.com/blog/modernise-one-useful-seam-at-a-time/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/modernise-one-useful-seam-at-a-time/</guid><pubDate>Thu, 22 Aug 2024 12:00:00 GMT</pubDate><category>Engineering</category><description>A read-only search slice can reveal whether a replacement preserves permission boundaries before the whole business depends on it. Six worked queries separate a useful ranking change from an unauthorised result.</description></item><item><title>The exception queue is where the process becomes visible</title><link>https://hamsasoftware.com/blog/draw-the-exception-path-before-automating-the-happy-path/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/draw-the-exception-path-before-automating-the-happy-path/</guid><pubDate>Thu, 15 Aug 2024 12:00:00 GMT</pubDate><category>Automation</category><description>A duplicate delivery, a repeated attachment and a corrected invoice are different events. A worked case model shows how one reviewer can keep them connected without confusing delivery with resolution.</description></item><item><title>What a valid JSON response can promise</title><link>https://hamsasoftware.com/blog/structured-outputs-arrived-business-validation-stayed/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/structured-outputs-arrived-business-validation-stayed/</guid><pubDate>Thu, 08 Aug 2024 12:00:00 GMT</pubDate><category>AI developments</category><description>The August 2024 announcement made output shape more dependable. A worked repairs enquiry shows why structure, evidence and diary availability still need different checks.</description></item><item><title>One purchase, several attempts</title><link>https://hamsasoftware.com/blog/when-a-retry-becomes-a-second-order/</link><guid isPermaLink="true">https://hamsasoftware.com/blog/when-a-retry-becomes-a-second-order/</guid><pubDate>Thu, 01 Aug 2024 12:00:00 GMT</pubDate><category>Integrations</category><description>A retry key is a promise about a particular purchase. A worked request ledger and tested failure cases show what has to remain true when calls overlap, answers disappear and the payload changes.</description></item></channel></rss>