A 30‑day‑old note was obeyed exactly as hard as a 7‑year‑old one
Description and use
An AI model keeps obeying stale repository constraints, ignoring that the team may have learned new skills. The solution is to store rejected decisions in Markdown files with expiry dates, making them invisible after expiration.
Problem
AI agents keep following stale repository constraints, ignoring that team skills may have changed.
Outcome
The experiment showed that models obey stale constraints regardless of age; hiding expired notes restores correct behavior. The whynot tool provides a lightweight, audit‑friendly way to manage such constraints.
Workflow
- 1. Create a note in the repo with a creation date and an expiry date. 2. Run the model to choose a stack. 3. Observe that the model obeys the note regardless of age. 4. Hide the note after its expiry date. 5. Re‑run the model and see it recommends TypeScript.
- 6. Build the "whynot" tool to store rejected decisions as Markdown files with expiry metadata.
- 7. Install via
npx whynot-cli initand audit existing agent configs withnpx whynot-cli audit. - 8. Use the tool to manage future constraints.
- 9. Monitor agent behavior over time to assess impact.
Evidence
Every single response refused TypeScript.
A one-month-old note was obeyed exactly as hard as a seven-year-old one.
Make the expired entry invisible. Not annotated. Not warned about. Absent.
whynot is a folder of Markdown files in your repository that records what you ruled out and why — especially rejected entries, which are the only kind of knowledge that cannot be recovered from the code.
- Record date: 2026-10-22T09:11:18.694Z