My final comment, as I won't continue discussion further, not enough time to waste.
I stand to my opinion here: setting "will cause failures downstream unless downstream opts-out of the failure" on bundles just "because we can" without thinking of how test flag actually works and which constraints it does add to consumers was a bad idea as it reduced the quality of Eclipse Platform by requesting efforts from adopters for no value to balance that (as opposed to eg move to newer Java).
At that stage, I'd like to just invite anyone to really spend time looking at what the "test" flag means to JDT and Tycho, so they may better understand why it doesn't make sense in this context. "Test" flag is just not a decoration, it has some semantics about visibility in the workspace that are not at all compatible with how PDE currently works. "test" flag was designed for Maven where a project has multiple scopes/visibility, that doesn't match usual PDE.
As a consequence, I also think building further logic in PDE on top this "test" flag
assuming it's just a reliable decoration for fragments or whatever is
also a misuse of the test flag and is likely to be fragile in a near
future.
But I and we all can survive that; it's an annoyance and not a blocker. I just wish I considered it more seriously earlier before this got applied widely.