Engineering leadership
How do I stop AI coding agents from using stale requirements?
Do not ask the agent to decide which document is current. Give it one live, versioned source of intent, preserve the decisions that superseded older premises, and stop implementation when the active work still inherits from an obsolete parent.
Make freshness explicit
A timestamp is not enough. A requirement can be old and valid, or new and already superseded. Record lifecycle state, closure reason, version, and human authority as separate facts.
When a strategy, goal, project, or requirement becomes obsolete, mark why it closed. Then inspect every live descendant that still depends on it.
Read before work
Load the current artifact and its ancestors when the agent claims a task.
Recheck before merge
Repeat the freshness check against the pull request head, not the agent’s starting snapshot.
Preserve history
Keep the superseded premise available for audit, but remove its authority over new work.
How Helen detects stale premises
Helen walks upward from live work and finds the nearest ancestor closed as abandoned, obsolete, or duplicate. Draft and closed descendants do not create this signal because they do not represent active implementation on a discontinued foundation.
The finding names the live item, the invalidating ancestor, the closure reason, and their distance in the chain. The team can close the work, move it, or restore a valid premise.
The operating rule
Agents may propose against uncertain intent, but they should not implement against a known invalid premise. Make that distinction part of task admission and pull-request review.