Tested on 9.0.11, but also have reports on 9.1.0, likely exists several versions before as well.
The spec for setting IVs on spawn or giving gets overridden for legendary Pokémon, likely due to the "3 perfect IVs on legends" effect.
The command
Code: Select all/pokegive ordalca Rayquaza ivhp:31 ivatk:31 ivdef:31 ivspatk:31 ivspdef:31 ivspd:31
should give a 100% IV Rayquaza, but instead only gave a 3IV one. Replacing
with
successfully gives a 100% IV Ponyta, so spec in general isn't an issue.
I believe the spec is being set, but then when the Pokémon is initialized, it reaches the check for legendary and recreates the IVs from scratch instead of maintaining the ones it already had. The solution to this is likely complicated, assuming we want to be able to set IVs normally and have that spec honored, but have the 3-iv bonus if possible.