type Link struct {
Input int `json:"input"`
Output int `json:"output"`
Digest digest.Digest `json:"digest,omitempty"`
Selector digest.Digest `json:"selector,omitempty"`
Record *Record `json:"-"`
ID int `json:"target,omitempty"`
}
type Record struct {
ID int `json:"id"`
Parents []Link `json:"parents,omitempty"`
Children map[int]map[*Record]struct{} `json:"-"`
Digest digest.Digest `json:"digest,omitempty"`
Random bool `json:"random,omitempty"`
ChildIDs map[int]map[int]struct{} `json:"children,omitempty"`
}