let pole_type = [| 'Yang, 'Yin, 'Spiral |] in let level_type = [| 'Axiom, 'Tension, 'Practice, 'Project, 'Moment |] in let edge_type = [| 'Contains, 'TensionWith, 'ManifestsIn, 'ValidatedBy, 'FlowsTo, 'CyclesIn, 'SpiralsWith, 'LimitedBy, 'Complements, |] in { Pole = pole_type, AbstractionLevel = level_type, EdgeType = edge_type, Node = { id | String, name | String, pole | pole_type, level | level_type, description | String, invariant | Bool | default = false, artifact_paths | Array String | default = [], adrs | Array String | default = [], }, Edge = { from | String, to | String, kind | edge_type, weight | Number | default = 1, note | String | default = "", }, CoreConfig = { nodes | Array { id | String, name | String, pole | pole_type, level | level_type, description | String, invariant | Bool, artifact_paths | Array String, adrs | Array String }, edges | Array { from | String, to | String, kind | edge_type, weight | Number, note | String }, }, }