ANN Index Staleness Runbook
Use this runbook when ANN index freshness degrades and retrieval quality is at risk.
When To Use
- ANN index age exceeds expected refresh interval.
- Retrieval quality drops with stale or missing embedding coverage.
- Alert indicates stale FAISS index age.
Signals
RecSysStaleAnnIndex- Secondary symptoms: higher fallback rates, lower retrieval diversity/coverage.
Immediate Actions (First 10 Minutes)
- Freeze risky rollout steps until index freshness is restored.
- Confirm current model run ID and index artifact timestamps.
- Validate that embeddings for the current model are available.
Rebuild Procedure
- Rebuild from the intended run:
uv run python -m scripts.backfill_ann \
--run_id <TARGET_RUN_ID> \
--output data/ann/index.faiss \
--backup_dir data/ann/backups
- Verify metadata and file timestamps for
data/ann/index.faissand sidecar metadata. - Restart serving workers/pods if index is loaded in-memory.
Fallback Procedure
- If rebuild fails, roll back to last known good run ID:
uv run python -m scripts.backfill_ann \
--run_id <PREVIOUS_GOOD_RUN_ID> \
--output data/ann/index.faiss \
--backup_dir data/ann/backups
- Keep rollout paused until freshness and retrieval metrics recover.
Validation Checklist
- ANN age metric returns below threshold.
- No error spikes from ANN lookup path.
- Fallback and retrieval-quality indicators return to baseline.