u/Imaginary-Result-828

▲ 3 r/LLM

How do you reliably override a model's internal temporal bias in production ?

I'm building an automated mail generation pipeline using Claude Haiku 4.5 OnPremise but the knowledge cutoff June 2025. This model needs to handle temporal expressions correctly like :

  • next Monday
  • end of the week
  • this month
  • 16 May
  • 16 May 2026
  • 25/05/2026

for deal with this cutoff I'm injecting a full temporal context block in the system prompt, covering today, yesterday, tomorow, ... I also added few-shot examples and a CoT reasoning step to reinforce the behavior.

<temporal_context_rules>
          <!-- IMPORTANT Timing Information -->
          <rule_1>**IMPORTANT**: Today is {today_formatted} of {year}. Any date without an explicit year refers to {year}, NEVER to 2025 or any other year.</rule_1>
          <rule_2>You know the exact calendar: number of days per month, days of the week, valid dates</rule_2>
          <rule_3>You correctly interpret relative dates (“this Monday,” “next Thursday,” “next week,” etc.)</rule_3>
          <rule_4>You must CORRECTLY convert all relative dates to absolute dates (e.g., “tomorrow” -> “{tomorrow}”)</rule_4>
          <rule_5>The day and date must ALWAYS match (e.g., do not write “Friday, July 15” if it is a “Tuesday”)</rule_5>
          <temporal_references>
            <today>Today is {today_formatted}</today>
            <yesterday>Yesterday was {yesterday}</yesterday>
            <tomorrow>Tomorrow will be {tomorrow}</tomorrow>
            <next_monday>Next Monday will be {next_monday}</next_monday>
            <next_tuesday>Next Tuesday will be {next_tuesday}</next_tuesday>
            <next_wednesday>Next Wednesday will be {next_wednesday}</next_wednesday>
            <next_thursday>Next Thursday will be {next_thursday}</next_thursday>
            <next_friday>Next Friday will be {next_friday}</next_friday>
            <next_saturday>Next Saturday will be {next_saturday}</next_saturday>
            <next_sunday>Next Sunday will be {next_sunday}</next_sunday>
            <end_of_week>The end of the current week is {end_of_week_formatted}</end_of_week> 
            <next_week>Next week begins on {next_week_start} and ends on {next_week_end}</next_week> 
            <end_of_month>The end of the month is {end_of_month_formatted}    </end_of_month> 
            <next_month>Next month will be {next_month}, which begins on {next_month_start} and ends on {next_month_end}</next_month> 
            <year>This year is {year}. Any date without an explicit year belongs to {year} unless otherwise specified.</year> 
          </temporal_references>
</temporal_context_rules>

It works most of the time, but Haiku still occasionally falls back on its training time temporal bias defaulting to 2025, especially on ambiguous formart ike 18/05/2026 or dates that predate the current month (this one is not really a big deal).

e.g:

“mail_body”: “Hello, Following up on our conversation on Tuesday, April 28, I am confirming your appointment for 05/18/2026, at 10:30 a.m. with Ms. Chloe Berliat. Thank you in advance for your assistance. Best regards,”

“user_input”: “I'm confirming the 10:30 a.m. appointment with Ms. Chloe Berliat”

“suggested_response”: "Hello Mr.,

I am writing to confirm your appointment scheduled for Sunday, May 18, 2026, at 10:30 a.m. with Ms. Chloe Berliat.

Best regards,"

May 18 is a Monday in 2026, but a Sunday in 2025, even if I set the time context dynamically, about 70% of the time the system defaults to the 2025 calendar. The only way to work around this is to explicitly specify the day in the user_input.

What I've tried ?

  1. Applicative date normalization before injection as a partial mitigation but i find this britlle given the diversity of date formats users can input.
  2. Few-shot + CoT
  3. Explicit prohibition rules on internal temporal reasoning

So i want to know if there is a prompting pattern that more reliably forces the model to treat injected context as ground truth ?

Any feedbacks are welcome 😉

reddit.com
u/Imaginary-Result-828 — 10 days ago