# interview agent wrote questions from a stale job description - the JD updated but the agent's cached copy didn't

## TL;DR

The job description changed but the agent kept generating questions from its cached copy, so candidates got quizzed on dropped requirements. Fetch the JD fresh for every interview loop, version-stamp it, and invalidate the cache when the ATS version changes.

```text
interview agent wrote questions from a stale job description - cached copy outdated
```

## Steps

1. Confirm the staleness: diff the agent's cached JD against the current ATS version.
   Expected: The cached copy is versions behind.

2. Switch the agent to fetch the JD live from the ATS for each interview loop.
   Expected: Questions reflect the current requirements.

3. Version-stamp every question set with the JD version used.
   Expected: Each interview is auditable to a JD version.

4. Add cache invalidation: when the ATS JD version changes, drop the cached copy immediately.
   Expected: Updates propagate automatically.

5. Notify interviewers who ran loops on the stale JD; their feedback may reference wrong requirements.
   Expected: Affected loops are flagged.

## When to use

- interview questions reference removed requirements
- the JD changed mid-search
- the agent caches the JD

## When not to use

- the JD has not changed (the questions are current)
- questions are written by humans from the live JD (no agent cache involved)
- the staleness is in the hiring manager's head, not the agent's cache

## Tool compatibility

- any interview-question agent
- ATS job description APIs

## Variant phrasings

- "interview questions stale job description"
- "agent cached old JD"
- "questions from outdated requirements"

## Why it happens

Job descriptions evolve during a search as the hiring manager learns what the market offers. Agents cache the JD at loop-creation time and never re-fetch, so questions fossilize while the role moves on. Candidates notice immediately; interviewers notice when the feedback does not match the role.

## Edge cases

- ATS JD versioning is not always exposed; fall back to content hashing
- question banks need the same invalidation; they go stale independently
- mid-loop JD changes need a policy: finish the loop or regenerate, decided up front

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_oKNVK4sKLApDepgD-kkKVQ
