Fold source_kb_id into this one. The source row is deleted; its items are not.
The path names the survivor, deliberately. A route keyed on the base that disappears
reads as “delete this into that”, and the merge’s preconditions — same ceiling, same
embedding model — are properties of the survivor.
The body shows the fields the schema always carries. Which combination is legal is a service rule the schema cannot express, so read the description above before copying this.