<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: creatorhub121</title>
    <description>The latest articles on DEV Community by creatorhub121 (@creatorhub121).</description>
    <link>https://dev.to/creatorhub121</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4111061%2Fb4ac4a9c-fdcc-49c1-afdf-a20dc129a9bf.png</url>
      <title>DEV Community: creatorhub121</title>
      <link>https://dev.to/creatorhub121</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/creatorhub121"/>
    <language>en</language>
    <item>
      <title>The Australian Date Rules AI Agents shouldn't be guessing</title>
      <dc:creator>creatorhub121</dc:creator>
      <pubDate>Sat, 05 Sep 2026 11:34:57 +0000</pubDate>
      <link>https://dev.to/creatorhub121/the-australian-date-rules-ai-agents-shouldnt-be-guessing-199</link>
      <guid>https://dev.to/creatorhub121/the-australian-date-rules-ai-agents-shouldnt-be-guessing-199</guid>
      <description>&lt;p&gt;AI agents are very good at reasoning.&lt;/p&gt;

&lt;p&gt;But there are some things I don't think they should be reasoning their way through at all.&lt;/p&gt;

&lt;p&gt;Australian business-day calculations are one of them.&lt;/p&gt;

&lt;p&gt;A question like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What is one NSW business day after 24 December 2021?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;looks simple.&lt;/p&gt;

&lt;p&gt;But the answer depends on more than just skipping Saturday and Sunday.&lt;/p&gt;

&lt;p&gt;Christmas Day fell on Saturday that year. Boxing Day fell on Sunday. Their substitute public holidays then fell on Monday and Tuesday.&lt;/p&gt;

&lt;p&gt;So:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;24 Dec 2021 + 1 NSW business day
= 29 Dec 2021
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;An AI model might get that right.&lt;/p&gt;

&lt;p&gt;But for something deterministic, I'd rather it &lt;strong&gt;doesn't have to guess&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  So I built a tool for it
&lt;/h2&gt;

&lt;p&gt;I originally built a small MCP tool that could answer one question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Is this date a business day in this Australian state or territory?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I kept expanding it and it has now become the first module of a project I'm calling &lt;strong&gt;AU Agent Utilities&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Give AI agents reliable Australian utilities for things where local rules and deterministic calculations matter.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Business Day Engine is currently at &lt;strong&gt;v1.2.0&lt;/strong&gt; and exposes four MCP tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Check an Australian business day
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;check_australian_business_day&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Given a date and jurisdiction, it determines whether the date is a business day and can return:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;whether it is a business day&lt;/li&gt;
&lt;li&gt;whether the reason is a weekend or public holiday&lt;/li&gt;
&lt;li&gt;the applicable holiday name&lt;/li&gt;
&lt;li&gt;the previous business day&lt;/li&gt;
&lt;li&gt;the next business day&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Date: 2021-12-27
State: NSW
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;returns that the date is not a business day because it is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Christmas Day (substitute day)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;with the next business day being:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2021-12-29
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Add or subtract business days
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;calculate_australian_business_date&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This lets an agent move forward or backward by a specified number of business days.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Start date: 2021-12-24
State: NSW
Business days: 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;returns:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2021-12-29
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The engine skips the weekend and the applicable substitute public holidays.&lt;/p&gt;

&lt;p&gt;Negative numbers can also be used to move backwards.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Count business days between dates
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;count_australian_business_days&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This counts business days across a date range while making the inclusion rules explicit.&lt;/p&gt;

&lt;p&gt;That matters because:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How many business days are between these two dates?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;is ambiguous unless you know whether the start date and end date should be included.&lt;/p&gt;

&lt;p&gt;The tool allows those rules to be supplied rather than leaving the agent to infer them.&lt;/p&gt;

&lt;p&gt;It can also return information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;business days&lt;/li&gt;
&lt;li&gt;non-business days&lt;/li&gt;
&lt;li&gt;weekend days&lt;/li&gt;
&lt;li&gt;public-holiday weekdays&lt;/li&gt;
&lt;li&gt;holidays encountered&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  4. Calculate Australian deadlines
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;calculate_australian_deadline&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This is probably the most useful expansion so far.&lt;/p&gt;

&lt;p&gt;It can calculate deadlines using either:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;calendar days&lt;/li&gt;
&lt;li&gt;business days&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and explicitly control:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;whether the start date is counted&lt;/li&gt;
&lt;li&gt;whether a non-business deadline should roll forward&lt;/li&gt;
&lt;li&gt;whether it should roll backward&lt;/li&gt;
&lt;li&gt;whether it should remain unchanged&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Start date: 2021-12-20
State: NSW
Days: 7
Day type: calendar
Roll: next
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The unadjusted date is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2021-12-27
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But that is a substitute public holiday.&lt;/p&gt;

&lt;p&gt;The final deadline therefore becomes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2021-12-29
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Australian jurisdictions
&lt;/h2&gt;

&lt;p&gt;The engine currently supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ACT&lt;/li&gt;
&lt;li&gt;NSW&lt;/li&gt;
&lt;li&gt;NT&lt;/li&gt;
&lt;li&gt;QLD&lt;/li&gt;
&lt;li&gt;SA&lt;/li&gt;
&lt;li&gt;TAS&lt;/li&gt;
&lt;li&gt;VIC&lt;/li&gt;
&lt;li&gt;WA&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It handles weekends, state and territory public holidays, and substitute public holidays where represented in the underlying holiday dataset.&lt;/p&gt;

&lt;p&gt;Local, regional and industry-specific holidays are not guaranteed unless they are represented in that jurisdiction's dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why make this an MCP?
&lt;/h2&gt;

&lt;p&gt;The interesting part for me isn't really date calculation.&lt;/p&gt;

&lt;p&gt;It's the broader pattern.&lt;/p&gt;

&lt;p&gt;AI agents increasingly need to interact with real workflows, but a lot of local rules sit in the awkward space between:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"the model probably knows this"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;and:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I actually need this answer to be deterministic."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Business-day calculations are one example.&lt;/p&gt;

&lt;p&gt;There are plenty of others in Australia:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;business and entity verification&lt;/li&gt;
&lt;li&gt;addresses and location data&lt;/li&gt;
&lt;li&gt;government identifiers&lt;/li&gt;
&lt;li&gt;regulatory dates&lt;/li&gt;
&lt;li&gt;state-specific rules&lt;/li&gt;
&lt;li&gt;local formatting and validation&lt;/li&gt;
&lt;li&gt;other structured Australian datasets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rather than packing all of that knowledge into prompts and hoping the model applies it correctly, I'm interested in turning those problems into small tools an agent can call when needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deployment
&lt;/h2&gt;

&lt;p&gt;AU Agent Utilities is open source.&lt;/p&gt;

&lt;p&gt;The current MCP is deployed remotely on Cloudflare Workers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://au-business-day.auagentutilities.workers.dev/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is also published in the Official MCP Registry as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;io.github.creatorhub121/au-business-day
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and is available through Smithery.&lt;/p&gt;

&lt;p&gt;The source is on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/creatorhub121/au-business-day" rel="noopener noreferrer"&gt;https://github.com/creatorhub121/au-business-day&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;The Business Day Engine is only the first module.&lt;/p&gt;

&lt;p&gt;I'm now looking for the next Australian-specific gap worth turning into a reliable agent tool.&lt;/p&gt;

&lt;p&gt;So I'm particularly interested in hearing from people building agents or automations:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Australian data, rule or verification task do you currently make the model figure out itself that you'd rather have a deterministic tool for?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>opensource</category>
      <category>australia</category>
    </item>
  </channel>
</rss>
