%%{init: {'themeVariables': { 'fontSize': '12px'}}}%%
graph TD
    classDef path fill:#eee,stroke:#000,color:#000
    classDef plan fill:#fff,stroke-width:1px,color:#000
    classDef itemplan fill:#fff,stroke-width:2px,color:#000
    classDef unbatchedplan fill:#dff,stroke-width:1px,color:#000
    classDef sideeffectplan fill:#fcc,stroke-width:2px,color:#000
    classDef bucket fill:#f6f6f6,color:#000,stroke-width:2px,text-align:left


    %% plan dependencies
    Object14{{"Object[14∈0]<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    Access12{{"Access[12∈0]<br />ᐸ3.pgSettingsᐳ"}}:::plan
    Access13{{"Access[13∈0]<br />ᐸ3.withPgClientᐳ"}}:::plan
    Access12 & Access13 --> Object14
    __Value3["__Value[3∈0]<br />ᐸcontextᐳ"]:::plan
    __Value3 --> Access12
    __Value3 --> Access13
    __Value0["__Value[0∈0]"]:::plan
    __Value5["__Value[5∈0]<br />ᐸrootValueᐳ"]:::plan
    Constant24{{"Constant[24∈0]<br />ᐸ0.66ᐳ"}}:::plan
    PgInsertSingle11[["PgInsertSingle[11∈1]<br />ᐸleft_arm(length_in_metres)ᐳ"]]:::sideeffectplan
    Object14 & Constant24 --> PgInsertSingle11
    Object15{{"Object[15∈1]<br />ᐸ{result}ᐳ"}}:::plan
    PgInsertSingle11 --> Object15
    List18{{"List[18∈3]<br />ᐸ16,17ᐳ"}}:::plan
    Constant16{{"Constant[16∈3]<br />ᐸ'left_arms'ᐳ"}}:::plan
    PgClassExpression17{{"PgClassExpression[17∈3]<br />ᐸ__left_arm__.”id”ᐳ"}}:::plan
    Constant16 & PgClassExpression17 --> List18
    PgInsertSingle11 --> PgClassExpression17
    Lambda19{{"Lambda[19∈3]<br />ᐸbase64JSONEncodeᐳ"}}:::plan
    List18 --> Lambda19
    PgClassExpression21{{"PgClassExpression[21∈3]<br />ᐸ__left_arm...person_id”ᐳ"}}:::plan
    PgInsertSingle11 --> PgClassExpression21
    PgClassExpression22{{"PgClassExpression[22∈3]<br />ᐸ__left_arm...in_metres”ᐳ"}}:::plan
    PgInsertSingle11 --> PgClassExpression22
    PgClassExpression23{{"PgClassExpression[23∈3]<br />ᐸ__left_arm__.”mood”ᐳ"}}:::plan
    PgInsertSingle11 --> PgClassExpression23

    %% define steps

    subgraph "Buckets for mutations/v4/rbac.createLeftArm"
    Bucket0("Bucket 0 (root)"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value0,__Value3,__Value5,Access12,Access13,Object14,Constant24 bucket0
    Bucket1("Bucket 1 (mutationField)<br />Deps: 14, 24<br /><br />1: PgInsertSingle[11]<br />2: <br />ᐳ: Object[15]"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,PgInsertSingle11,Object15 bucket1
    Bucket2("Bucket 2 (nullableBoundary)<br />Deps: 15, 11<br /><br />ROOT Object{1}ᐸ{result}ᐳ[15]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2 bucket2
    Bucket3("Bucket 3 (nullableBoundary)<br />Deps: 11<br /><br />ROOT PgInsertSingle{1}ᐸleft_arm(length_in_metres)ᐳ[11]"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,Constant16,PgClassExpression17,List18,Lambda19,PgClassExpression21,PgClassExpression22,PgClassExpression23 bucket3
    Bucket0 --> Bucket1
    Bucket1 --> Bucket2
    Bucket2 --> Bucket3
    end
