anchor.diff:  v0.1, 2020-08-14
   :toc:
   
  +|===
  +| Attribute | Value
  +
  +| Status
  +| DESIGN
  +
  +| Target Version
  +| 1.27
  +
  +| Lead
  +| Dave Watkins
  +|===
  +
  +== Overview
  +
  +This design doc discusses approaches to implementing default / constraining value in Waltz.  The driver
  +behind this enhancement is to ensure data consistency in Waltz.  For example if an app is rated as
  +_'Disinvest'_ then it should have should no individual features rated as _'Invest'_.
   
   == Rating Scheme recap
   
  
positive.code: 
  
  === Constraint Relationship
  Each apps needs to (optionally) have a maximal rating per _rating-scheme_ / _measurable category_.
  This may require a new table.  An alternative may be to reuse assessments and link a
  _measurable category_ to a constraining _assessment rating_.  In this case the assessment and category
  would need to share a common _rating scheme_ and be specified somewhere.  We assume that if an application
  has no constraining value then _measurable ratings_ are free to pick any value.
  
  NOTE: we need to be careful about using the overall investment rating as a constraint since
        we do not have a clean way of referencing it, unlike assessment_definitions.  However moving
  
negative.code: 
  == Challenges
  
  This section outlines some challenges we face in implementing a solution for this feature.
  
  * **Constraint Relationship**, how do we tell Waltz that there is a constraining relationship between a
    _measurable rating_ and some other value in Waltz (for example the app's overall _investment rating_) ?
  