44 lines
1.1 KiB
Plaintext
44 lines
1.1 KiB
Plaintext
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 },
|
|
},
|
|
}
|