src/pipeline/pipeline_delta.c now makes delta_batch_contains_edge() compare decoded local_name values when source_qn, target_qn, and type identify an IMPORTS candidate. This matches graph-buffer and SQLite uniqueness, so preserving METHODS_WITH_BODY no longer suppresses REF_PREFIX when both unchanged imports point to a recreated FastAPI.openapi target.
The identity check retains existing behavior for every non-IMPORTS edge. Exact JSON matches avoid parsing; JSON decoding occurs only after an IMPORTS endpoint/type collision, leaving the existing delta scan complexity unchanged and adding only property-sized transient memory.
tests/test_pipeline.c covers cbm_pipeline_file_delta_add_preserved_inbound_edges() with two local_name-distinct IMPORTS edges to one target. tests/test_graph_buffer.c verifies cascade deletion removes both dedup keys before target recreation and reinsertion.
Validated with ASan/UBSan: the focused pipeline and graph-buffer regressions pass, and the complete incremental suite passes 162/162, including incr_formatter_run, incr_db_deleted_recovery, and incr_accuracy_vs_full.
Signed-off-by: Andrew Hundt <ATHundt@gmail.com>