title: Resolving conflicts between automated updates and manual overrides
body: <p>This is a bit of a complex, abstract question, so forgive me if it's not specific enough.</p>
  
  <p>I've encountered a specific type of problem numerous times: That on one hand, a data source is used to update a certain data structure in an automated fashion at regular intervals, but on the other hand, stakeholders want to be able to manually override the automated entries.</p>
  
  <p><strong>Example:</strong> </p>
  
  <p>You have a list of products, which are kept up-to-date (title, description, etc.) by some automated script which uses external data sources (product databases, etc.). </p>
  
  <p>Let's say that in your data source you have a toaster "Freshtoast XYZ 300" and if its name changes to "FreshToast! XYZ-300", you want to propagate that update into your own (differently structured) product model.</p>
  
  <p>At the same time, if a co-worker doesn't like the name "Freshtoast XYZ 300" and wants to change it to  "Toaster XYZ 300 by Freshtoast" (manually), you don't want to override that change automatically (he would get angry), but you also don't want to simply ignore the updated name, since if the co-worker knew about the change, he'd adjust the name to "Toaster XYZ-300 by FreshToast!".</p>
  
  <hr>
  
  <p>What's the best method to "consider" updated data sources - even for overridden data - while still allowing manual override?</p>
  
  <p>PS: I'm using mostly Ruby / Rails, but I guess the question is very general. Also, to be clear, automated updates are the rule, while manual overrides are the exception in this scenario. So let's say 200,000 products get updated every single day, only 20 of which have manually overridden titles. So, for example, having to approve every single update is not an option.</p>