I was able to make it work by adding the following into the project.new controller:
Sprints.reopen({
project: Ember.belongsTo(Projects, {key: 'project_id'})
});
I placed that code in the newSprint action before anything else. It could honestly go in the activate method for a route or the init for a controller, just as long as it gets called so that correct type gets referenced in the belongsTo.
This is definitely an issue with the resolver still. I am going to update my app to the latest EAK to see if I encounter any issues. I did still notice that you aren't using the ember-resolver, you still have a reference to the resolver.js, check out their bower.json to get the reference on the EAK repo. I'm not sure if that is the complete problem but there is definitely something happening upon initialization of the models that is not allowing the full reference to the subclass of the projects model to be passed in to create the belongsTo relationship. Strange because it is literally only the belongsTo relations that are affected.
Also just curious, why are you separating out sprints from the projects in the database? Do sprints ever need to be referenced without finding a project? If you don't really have a need to separate them out then I would look into embedded records. It would save you some query hassle on the backend since all of the sprints can be pulled in with their parent project. Again just curious if you have a design constraint that causes them to be separate. I make pretty heavy use of embedded since I am using mongo.