Seriously though, what you did will work just fine. Rally.app.App is just an Ext.Container like anything else. All of the magic of bootstrapping and launching is done via the Rally.launchApp function generated by rally app builder. You'd have a bad time if you tried to actually launch two different apps, but that's not what's happening here. You're just launching one- the className referenced in config.json.
Ideally you'd just move the contents of the launch method of the BOA.AdoptedWork.MultiArtifactGrid into the launch method of that top custom app class. Or, you could just move that out into its own file and make it extend Ext.Container instead, and then just add it in your top level app's launch method. Couple different options there.