Report 001: Does an AI add a year to "last October"?
September 27, 2026
*The tests use fictional first-person accounts written in Japanese. Quotations from the accounts and from AI outputs are translated; the original Japanese follows each quotation.*
Question
When an AI is asked to organize an account that gives no year, does the output contain a year that is not in the original text? Does it depend on how you ask or which model you use?
Conditions
- The case is harras_long, a fictional account (2,869 characters) written as if for a workplace harassment consultation. The original text contains no Western year and no era name. The timing is written as "last October (去年の10月)", "November 10", "right at the start of January after the new year (年が明けて1月早々)", and "last week".
- The plain request is "Please organize the following story." followed by the original text. The tuned request is a 7-item instruction followed by the original text. The full text is at the end. Its second item says: "Write dates the way the person said them, and do not add years or dates that are not written."
- In the split-stage setup, people, evidence, and timeline were produced in separate stages. The timeline stage was told: "If the original text gives no Western year, do not add a year to any date. If it says only 'last October', you cannot decide which year that is."
- FactSort production is a single output from gpt-4.1-mini, passed through code that removes years not in the original text.
- The runs were on September 27, 2026 (FactSort production only: September 7).
- What was counted: the number of strings in the output that match "four-digit Western year plus 年 or a separator" or "Reiwa/Heisei plus number plus 年", and that are not in the original text. If the same year appears twice, it counts as 2. A program did the counting. It was not checked by eye.
Results
| Request | Model | Runs | Years not in the original |
|---|---|---|---|
| Plain | claude-sonnet-5 (API) | 1 | 2 |
| Plain | gpt-5.5 (API) | 1 | 0 |
| Plain | ChatGPT (web) | 1 | 0 |
| Tuned | claude-sonnet-5 (API) | 1 | 0 |
| Tuned | gpt-5.5 (API) | 1 | 0 |
| Split stages (told not to add years) | gpt-4.1-mini | 3 | 9, 3, 0 |
| FactSort production (code removes years) | gpt-4.1-mini | 3 | 0, 0, 0 |
In two other cases (chat_log and mumble_accident, neither of which has a year in the original), the count was 0 under every condition.
Source vs. output
Original:
Last October, I looked at the expense figures and felt a chill down my back.
Right at the start of January after the new year, there was a seating change.
Original: 去年の10月、僕は経費精算の数字を見て、背中が冷えました。
年が明けて1月早々、席替えがありました。
Output of claude-sonnet-5 with the plain request (from the timeline table):
| October 2023 | Noticed an unnatural expense claim for meeting costs by Manager Sasaki and pointed it out: "Doesn't the headcount not add up?" The manager smiled and corrected it on the surface, but his eyes were not smiling. |
| Early January 2024 | At a seating change, moved to a seat near the storage room away from the team's cluster (directly under the air conditioner). |
Original: | 2023年10月 | 佐々木部長の会議費の不自然な経費精算に気づき、「人数合わなくないですか?」と指摘。部長は表向き笑って修正、ただし目が笑っていなかった。 |
| 2024年1月初旬 | 席替えで、チームの島から離れた倉庫近くの席(エアコン直撃)に配置される。 |
When the same model was given the tuned request, "last October (去年の10月)" stayed as written. gpt-5.5 wrote "last October (去年10月)" even with the plain request, and web ChatGPT wrote "last October (昨年10月)" and "January after the new year (年明けの1月)". In the split-stage run, gpt-4.1-mini kept the person's wording in the body of the timeline, but put values such as "2023-11-10", "2023-12-07", and "2024-01" in the date field.
Findings
- Adding a year stops for some models when the request changes (claude-sonnet-5).
- Even with the same kind of instruction, a smaller model may not stop. In the split-stage setup with gpt-4.1-mini, a year was added in 2 of 3 runs.
- The added years do not match the year counted back from the run date. The run date is September 27, 2026, so last year would be 2025.
Limitations
- Each chat condition was run once, so the frequency of adding a year is unknown. We cannot say whether plain claude-sonnet-5 adds a year every time or only in this run.
- There is one case, a fictional account, and the party who ran the measurement wrote it.
- Claude was run through the API, not the web version.
- The split-stage runs include a cross-checking stage that has nothing to do with writing years.
- For FactSort production, the 0 cannot distinguish between the model not inventing a year and the code removing it.
- Accounts in which the original text contains even one year have not been measured yet. In that case, the year-removal code does not act.
Reproduction materials
- Original account: harras_long (published at /research/cases/)
- Regular expression used for counting:
(?<![0-9])(19|20)[0-9]{2}\s*(年|[-/.])|令和\s*[0-9元]+\s*年|平成\s*[0-9元]+\s*年 - Full text of the tuned request (the Japanese original is shown below, followed by its English translation):
以下は、トラブルについて本人が話した内容です。弁護士に相談する前の資料として整理してください。
1. 登場人物と関係
2. 起きた順の時系列。日付は本人の言い方のまま書き、書かれていない年や日付を補わない
3. 証拠になりうるもの。本人の手元にあるもの、相手方や第三者が持っているはずのもの、作られなかった・存在しないものを分けて
4. 本人の話が揺れている点は、一つに決めずに、揺れているまま書く
5. 本人の推測や評価は、事実と分けて書く
6. 本人が尋ねていることは、答えずに質問として書き出す
7. 話に無いことは書かない
The following is what a person said about a trouble. Please organize it as material before consulting a lawyer.
1. People and relationships
2. A timeline in the order things happened. Write dates the way the person said them, and do not add years or dates that are not written
3. Things that could be evidence. Separate what the person has at hand, what the other party or third parties should have, and what was never made or does not exist
4. Where the person's account wavers, do not settle on one version; write it as it wavers
5. Write the person's guesses and evaluations separately from facts
6. Write what the person is asking as questions, without answering them
7. Do not write anything that is not in the story