SCENE 1 / 7 • WITHOUT CODEVIRA
my-app/auth.py Claude Code
You
What did I decide about retries last week?
Claude
I don't have context on previous decisions you've made. Generally, retries should use exponential backoff with jitter, but the right policy depends on your specific system… (generic suggestion follows…)
SCENE 2 / 7 • 60-SECOND INSTALL
~/my-app — zsh Terminal
$ pipx install codevira
installed package codevira 2.0.0
installed: codevira
 
$ codevira setup
detecting installed AI tools…
Claude Code ✓ found
Cursor ✓ found
Windsurf ✓ found
Antigravity ✓ found
GitHub Copilot ✓ found
 
writing nudge files…
CLAUDE.md, AGENTS.md, .cursor/rules/codevira.mdc,
.windsurfrules, GEMINI.md, .github/copilot-instructions.md
 
installing Claude Code lifecycle hooks…
SessionStart, PreToolUse, PostToolUse, UserPromptSubmit, Stop
 
codevira ready in this project. Open any AI tool and start.
SCENE 3 / 7 • WITH CODEVIRA • same question, real answer
my-app/auth.py Claude Code
You
What did I decide about retries last week?
⚡ CODEVIRA INJECT — SessionStart context
📌 retries.py — "exponential backoff with jitter; max 5 attempts"
Score 0.88 · 4/4 kept · session 2026-04-28 · "tune retry policy after timeout incident"
Claude
You decided exponential backoff with jitter, max 5 attempts on April 28 in retries.py — after the timeout incident. The decision is locked. Want me to verify the current implementation matches?
SCENE 4 / 7 • SWITCH TOOLS • same memory follows you
my-app Cursor
What about retries?
Exponential backoff with jitter, max 5 attempts in retries.py. Decision locked Apr 28.
my-app Windsurf
What about retries?
Exponential backoff with jitter, max 5 attempts in retries.py. Decision locked Apr 28.
my-app Antigravity
What about retries?
Exponential backoff with jitter, max 5 attempts in retries.py. Decision locked Apr 28.
Same memory in every tool. ✦ Same project. ✦ Local-first.
SCENE 5 / 7 • WRITE ONCE • every other tool sees it
retries.py Claude Code
def retry_with_backoff(fn, max_attempts=5):
    for attempt in range(max_attempts):
        try: return fn()
        except Exception:
+ wait_with_jitter(2 ** attempt)


Claude · auto-logged decision
✓ Logged: "added jitter to retry backoff"
linked to retries.py · session today
retries.py Cursor
What changed in retries.py recently?
⚡ CODEVIRA INJECT
Recent decision (today): "added jitter to retry backoff"
Cursor
Today, jitter was added to the retry backoff — makes the 5-attempt max less likely to thunder.
$ pipx install codevira && codevira setup
github.com/yourname/codevira ★
One memory.
Every AI tool.
Local-first.
codevira · MIT · no signup
00:00 / 00:30