The USSR defense industry also funded multiple OKBs that would compete with each other for projects.
In the EU's case, multi-party competitive bidding, with the winner taking the prime slot and others being assigned modular chunks of the product, sounds attractive.
Specifically, with the stipulation that results would be used as a criteria in future bids.
tl;dr -- Use the pyramid league system (e.g. from football) with promotion and relegation to efficiently create industry competition. Fuck up too many projects, down the pyramid you go.
Sounds good to me. I am not too dogmatic about the exact implementation of who does the work and your system seems to align incentives properly while also avoiding the too many cooks in the pot/too much dilution of the money into small projects to have an impact issues.
From past failures the 2 things I want to be addressed are: 1) Have a proper procurement agency with actual experts at the helm, they are the "customer", they hand over the bids, they measure success, they should of course listen to end users. 2) Shield the project from petty internal politics. While I understand that political interference is inevitable, especially if you get public funding. The top priority is to have a good alternative to existing software in these 3 categories I defined. Not yet another job program/kickback to politically well connected entities.