Agreement Design

this is a prototype for an agreement design system. In line with ADR 0010 - use shared drfinition of cmp agreement we want to define the metamodel for Commertial Agreements and supporting data in a common way, so all services, interfaces and data types are consistent.

This prototype

  • defines a common metamodel
  • models a number of agreement categories (as alpha prototypes, not as definitive representations)
  • produces API definitions such as Swagger
  • possibly produces domain objects (though these should probably be created from API specs)
  • possibly produces data domain descriptions, e.g. Ruby-on-Rails schema records

Things to see

the agreements directory defines our agreements metamodel and our reference agreements and catalogues (example for fm given)

the build script generates outputs including

  • data files showing the agreements and catalogue entries
    • for instance, can bulk load jsonlines for FM catalogue into search cluster
  • a picture of the metamodel
  • documentation for the agreements and metamodel