When a Harbormaster Buildable object is first created for a Diff, it has no containerPHID since the revision has not yet been created.
We later (after creating a revision) send the Buildable a message telling it that we've added a container and it should re-link the container object.
Currently, we send this message in applyExternalEffects(), which runs inside the Differential transaction. If Harbormaster races quickly enough, it can read the Diff object before the transaction commits, and not see the container update.
Add a didCommitTransaction() callback after the transactions commit, then move the message code there instead.