context-retrieval-loop · git:20260606.f64a316 · 2026-06-06 · sha256 3e2ed7e72a29b52c
context-retrieval-loop git:20260606.f64a316A
Immutable. This exact content is served forever at /api/v1/blob/3e2ed7e72a29b52c.
--- name: context-retrieval-loop description: Use when about to refactor, rename, or remove code, assessing dead code before deletion, or unsure of the blast radius of a change. --- # Context Retrieval Loop (Codebase Maintenance) Gather context before any refactor or maintenance task. Prevents breaking undetected callers or missing test coverage. ## When to Use - About to refactor, rename, or remove code - Assessing dead code before deletion - Unsure of the blast radius of a change ## The 3-Cycle Loop ### Cycle 1 — Broad Search ```bash # Find callers and references rg "<symbol-name>" --type ts --type js -l rg "<symbol-name>" --glob "*.py" -l ``` Stop here if you can confirm the symbol is unused (no results). ### Cycle 2 — Exact Source and Tests Read the target file and its tests. Find all callers: ```bash rg "import.*<module>" -l rg "<function-name>" --glob "*.test.*" -l ``` Stop here if you understand the change scope and existing test coverage. ### Cycle 3 — Config and Build ```bash # Check if symbol appears in build or config rg "<symbol-name>" *.config.* tsconfig.json Makefile -l 2>/dev/null ``` Check for re-exports, barrel files, and public API surfaces. ## Output ``` Context gathered: <file-path> — <reason> Blast radius: <N> callers in <N> files Tests covering this code: <yes/no/partial> Missing context (if any): <what is still unclear> ``` Do not start a refactor without knowing the blast radius. If callers are unclear after Cycle 3, stop and report. ## Verification - [ ] Cycles ran in order and stopped at the first satisfied condition — never past 3 - [ ] Blast radius is reported: caller count, files affected, test coverage status - [ ] Re-exports, barrel files, and public API surfaces were checked before concluding - [ ] No refactor started while callers remained unclear — stopped and reported instead