---
name: behavior-change-grep-tests-not-comments
description: "When renaming a symbol or changing a behavior/token, grep tests/ for the OLD behavior assertions — not just non-comment code refs"
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 22d5a4f6-16ae-4552-82b1-0f69cfb556b0
---

When a change renames a symbol or alters a behavior/output token, the blast-radius grep MUST include integration tests (`tests/`, `ci/`), searching for the OLD behavior/token as ASSERTIONS — not just non-comment source refs.

**Why:** v0.14.0 W4 swapped `await_endpoint_online`→`await_endpoint_session`. I grep'd the old token + symbol, saw only *comment* hits in `dummy_harness_e2e.rs`, and shipped. CI went RED both runners (deterministic) on a live e2e (`endpoint_run_attach_awaits_online_before_attaching`) whose ASSERTION exercised the old await-online timing — a real semantic regression (resuming-offline perch hit run_attach's offline failfast pre-bind). Units were green; the e2e caught it. Green-units ≠ green-integration, AGAIN.

**How to apply:** before declaring a rename/behavior change done, grep `tests/` and `ci/` for the old name AND the behavioral premise (not just `--include` source). A comment-only hit in a test file is a RED FLAG: read the test body — its assertions likely encode the behavior you just changed. Run the heavy e2e locally when feasible (the dummy-harness fixture runs on the Win box in ~8s). Relates to [[shared-seam-change-run-all-seam-tests]] and the standing green-units≠green-int lesson in [[v0140-endpoint-creation-flow]].
