extended lid reflection tests
added a test to demonstrate that child attributes are not updated correctly by .save() when sideposted record has different attribute than in the response payload with lid provided
After reviewing, this is expected behavior and not a bug. However, expected does not necessarily mean desired and I'd recommend trying to start a discussion around what the best update semantics here should be.
The reason the record is still in the dirty-state after saving via sidepost and why the local state is left unchanged is because when you sidepost the record itself is never transitioned into a saving state. Due to this, nothing has tracked what attributes and values were given to the request. For all we know these attributes and values should be considered stale compared to what we have locally still. In ember-data today, local values are given precedent over the remote values. You will see this same effect when reloading a record that has dirty attributes / receiving an update in the background for a record that has dirty attributes.
In your application, if you know that you are sideposting and that the responses contain altered values you can use rollbackAttributes on the record to move it to a clean state after the save completes. Alternatively, in your adapter you can mark the sideposted records as saving, and resolve their save promises once the primary request has completed.