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: 
  IMPORTANT: moving investment status will impact batch jobs as inserts/updates will fail unless modified.
  
  
  ==== Example exporters using pivot functions
  
  Database vendors have differing ways of supporting pivoting
  
  .postgres example
  [source,sql]
  ----
  select a.name, f.*
  
negative.code: 
  
  === Constraint Relationship
  Each apps needs to (optionally) have a constraining 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_.  We assume that if an application has no constraining
  value then users are free to assign any _measurable ratings_ to that application.
  
  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
  