AWS Builder Center
Agents for Humans: My Agent Invented a Date and Filed It Under FACT #AgentsforHumans

Agents for Humans: My Agent Invented a Date and Filed It Under FACT #AgentsforHumans

A confident error taught me where an agent's authority should end. I used Strands interventions, date validation and delivery checks to keep known facts under code's control while leaving the model to explain the business consequence.

Series: Building Still Working (3 articles)

  1. 3
    Agents for Humans: My Agent Invented a Date and Filed It Under FACT #AgentsforHumans This article
The input said 14 July. The output said 24 May, under the word FACT.
I am building Still Working for the Agents for Humans hackathon. It turns supplier contract changes into a useful note for an illustrative shop owner. The note has a section for her freelance developer, with the publication evidence separated from the inferred business consequence.
That is exactly where the model put the wrong date.

Arithmetic nobody asked for

The payload contained date: 2026-07-14 and days_ago: 51. The model subtracted 51 days from 14 July, producing 24 May.
Both input fields were already available. There was no missing information to fill in. The model transformed a known value into a wrong one, then gave it the strongest label in the note.
If a developer searches their logs around that invented date, the note has created work instead of saving it. Labelling a sentence FACT does not make its contents factual.

Put the check where the note is made

The project uses Strands on AWS Bedrock AgentCore. One tool renders the note, so that tool is the boundary where I can enforce the rules.
A Strands Transform intervention stamps the routine identifier, the supplier publication date and relative age from the deterministic assessment. The model is not allowed to choose replacements for those fields.
The prose needs a separate check. A correct date field beside an invented date in a paragraph is still a bad note. The formatter scans for explicit dates and refuses contradictory ones. The refusal becomes a tool result, giving the model an opportunity to correct its next attempt.
The prompt still asks the model to use the supplied date. The control determines whether the result is allowed to render.

Be precise about what gets rejected

One legitimate sentence referred to December being busier for the shop. That is a seasonal consequence, not a claim about when the supplier changed something.
Rejecting every month name would block that useful sentence. The detector instead looks for a day paired with a month, or an ISO date. A later check added the year: 14 July in the wrong year must not pass simply because the month and day agree.
That is still a bounded parser, not a general factuality guarantee. It protects the date claim it was written to protect. It cannot prove the model's business reasoning is correct.

Refused does not mean delivered

The other half of this fix is accounting. The delivery ledger must record what rendered successfully, not what the model tried to send.
A refused date cannot start the five-day repeat window. If it did, the agent could reject a bad note and then suppress the corrected one because it believed the owner had already been told.
The tests exercise that sequence: refusal, correction, successful rendering, then one ledger entry. They also run requests with different dates concurrently so one invocation cannot change the date another is allowed to use.
The deployed controls now come from the same source as the local agent, with a drift check before deployment. I then replayed the supplier history through the actual cloud runtime. The saved notes preserve the model's wording; the page identifies publication as observed and business consequences as inferred.
The lesson I will keep is to decide which values the model has authority to create. This agent needs judgement to explain a possible consequence. It does not need authority to invent the date already in its input.

Series: Building Still Working (3 articles)

  1. 3
    Agents for Humans: My Agent Invented a Date and Filed It Under FACT #AgentsforHumans This article
Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article