ripple awareness
qualitydependenciescross-referenceblast-radius
/install muscle ripple-awareness Run in a Soma session to add to your project.
curl -sO https://raw.githubusercontent.com/meetsoma/community/main/muscles/ripple-awareness.md Download and copy to .soma/muscles/ripple-awareness.md — or view on GitHub ↗
Details
Ripple Awareness
TL;DR
When X changes, what else must update? Before committing: grep for references, check cross-file dependencies, update docs that mention the changed thing. The commit that changes code but not its docs is a debt bomb.
The Instinct
Every change ripples. The question is how far.
Before committing, ask: what references the thing I just changed?
Ripple Checklist
| You changed... | Also check... |
|---|---|
| A function name | All callers (grep -rn "oldName"), tests, docs that reference it |
| A file path | Imports, configs, READMEs, scripts that reference the old path |
| An API endpoint | Frontend calls, tests, docs, OpenAPI specs |
| A config key | Env files, docker-compose, CI configs, docs |
| A dependency version | Lock file, CI matrix, other packages that depend on it |
| A protocol or muscle | The digest line, any MAP that references it, the body if it's loaded |
| A template | Any docs that show the old template format |
How to Check
# Before committing: grep for the old name/path
grep -rn "old_thing" . --include="*.md" --include="*.ts" --include="*.json"
# For renames: check nothing still references the old name
grep -rn "oldFunctionName" . | grep -v node_modules
The Pattern
- Make the change
- Grep for references to the old version
- Update every reference found
- Grep again to confirm zero matches
- Commit
Skip step 2-4 and you ship a drift bomb — something that works today and confuses someone tomorrow.
heat: 0