Later, in the backing stream(stream_1_3), somebody promotes file_002.c (but not file_001.c) to its parent stream (stream_1_2). This leaves the change package for issue 2 complete in stream_1_3, but now it appears as an incomplete change package in stream_1_2.
This one is easy: simply promote the entire change package from stream_1_3 to its parent stream_1_2. Since file_002.c has already been promoted, it is ignored, but file_001.c gets promoted, making the change package complete.
Make it a policy to always promote by issue. Avoid promoting by file. You can enforce this policy by customizing the server_preop_trig trigger to disable promotion by file and only allow promotions to occur via issue. See
Sample server_preop_trig rules below for more information.