{
  "sdkVersion": "0.4.1",
  "families": [
    {
      "id": "flowchart",
      "identity": {
        "id": "family:flowchart",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "flowchart",
        "example": "flowchart TD\n  A[Start] --> B{Ship?}\n  B -->|yes| C[Deploy]\n  B -->|no| D[Fix]",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "add_node",
        "remove_node",
        "rename_node",
        "set_label",
        "add_edge",
        "remove_edge",
        "set_shape",
        "set_direction",
        "add_subgraph",
        "remove_subgraph",
        "move_node",
        "define_class",
        "set_node_class",
        "set_node_style"
      ],
      "opFields": {
        "add_node": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          },
          {
            "name": "shape",
            "required": false,
            "type": "one of \"rectangle\", \"service\", \"rounded\", \"diamond\", \"stadium\", \"circle\", \"subroutine\", \"doublecircle\", \"hexagon\", \"cylinder\", \"asymmetric\", \"trapezoid\", \"trapezoid-alt\", \"lean-r\", \"lean-l\", \"state-start\", \"state-end\", \"bang\", \"bolt\", \"bow-rect\", \"bow-tie-rectangle\", \"brace\", \"brace-l\", \"brace-r\", \"braces\", \"card\", \"circ\", \"cloud\", \"collate\", \"com-link\", \"comment\", \"cross-circ\", \"crossed-circle\", \"curv-trap\", \"curved-trapezoid\", \"cyl\", \"das\", \"data-store\", \"database\", \"datastore\", \"db\", \"dbl-circ\", \"decision\", \"delay\", \"diam\", \"disk\", \"display\", \"div-proc\", \"div-rect\", \"divided-process\", \"divided-rectangle\", \"doc\", \"docs\", \"document\", \"documents\", \"double-circle\", \"event\", \"extract\", \"f-circ\", \"filled-circle\", \"flag\", \"flip-tri\", \"flipped-triangle\", \"fork\", \"fr-circ\", \"fr-rect\", \"framed-circle\", \"framed-rectangle\", \"h-cyl\", \"half-rounded-rectangle\", \"hex\", \"horizontal-cylinder\", \"hourglass\", \"in-out\", \"internal-storage\", \"inv-trapezoid\", \"join\", \"junction\", \"lean-left\", \"lean-right\", \"lightning-bolt\", \"lin-cyl\", \"lin-doc\", \"lin-proc\", \"lin-rect\", \"lined-cylinder\", \"lined-document\", \"lined-process\", \"lined-rectangle\", \"loop-limit\", \"manual\", \"manual-file\", \"manual-input\", \"notch-pent\", \"notch-rect\", \"notched-pentagon\", \"notched-rectangle\", \"odd\", \"out-in\", \"paper-tape\", \"pill\", \"prepare\", \"priority\", \"proc\", \"process\", \"processes\", \"procs\", \"question\", \"rect\", \"shaded-process\", \"sl-rect\", \"sloped-rectangle\", \"sm-circ\", \"small-circle\", \"st-doc\", \"st-rect\", \"stacked-document\", \"stacked-rectangle\", \"start\", \"stop\", \"stored-data\", \"subproc\", \"subprocess\", \"summary\", \"tag-doc\", \"tag-proc\", \"tag-rect\", \"tagged-document\", \"tagged-process\", \"tagged-rectangle\", \"terminal\", \"text\", \"trap-b\", \"trap-t\", \"trapezoid-bottom\", \"trapezoid-top\", \"tri\", \"triangle\", \"win-pane\", \"window-pane\"",
            "note": "default: rectangle; also accepts Mermaid v11 @{ shape } names/aliases (e.g. manual-input)"
          },
          {
            "name": "parent",
            "required": false,
            "type": "string"
          }
        ],
        "remove_node": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "rename_node": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "set_label": [
          {
            "name": "target",
            "required": true,
            "type": "string",
            "note": "a node id, an authored edge ID (e1), or \"from->to\"/\"from->to#k\""
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "add_edge": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          },
          {
            "name": "style",
            "required": false,
            "type": "one of \"solid\", \"dotted\", \"thick\", \"invisible\"",
            "note": "default: solid"
          }
        ],
        "remove_edge": [
          {
            "name": "id",
            "required": true,
            "type": "string",
            "note": "an authored edge ID (e1), or \"from->to\"/\"from->to#k\" for the k-th parallel edge"
          }
        ],
        "set_shape": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "shape",
            "required": true,
            "type": "one of \"rectangle\", \"service\", \"rounded\", \"diamond\", \"stadium\", \"circle\", \"subroutine\", \"doublecircle\", \"hexagon\", \"cylinder\", \"asymmetric\", \"trapezoid\", \"trapezoid-alt\", \"lean-r\", \"lean-l\", \"state-start\", \"state-end\", \"bang\", \"bolt\", \"bow-rect\", \"bow-tie-rectangle\", \"brace\", \"brace-l\", \"brace-r\", \"braces\", \"card\", \"circ\", \"cloud\", \"collate\", \"com-link\", \"comment\", \"cross-circ\", \"crossed-circle\", \"curv-trap\", \"curved-trapezoid\", \"cyl\", \"das\", \"data-store\", \"database\", \"datastore\", \"db\", \"dbl-circ\", \"decision\", \"delay\", \"diam\", \"disk\", \"display\", \"div-proc\", \"div-rect\", \"divided-process\", \"divided-rectangle\", \"doc\", \"docs\", \"document\", \"documents\", \"double-circle\", \"event\", \"extract\", \"f-circ\", \"filled-circle\", \"flag\", \"flip-tri\", \"flipped-triangle\", \"fork\", \"fr-circ\", \"fr-rect\", \"framed-circle\", \"framed-rectangle\", \"h-cyl\", \"half-rounded-rectangle\", \"hex\", \"horizontal-cylinder\", \"hourglass\", \"in-out\", \"internal-storage\", \"inv-trapezoid\", \"join\", \"junction\", \"lean-left\", \"lean-right\", \"lightning-bolt\", \"lin-cyl\", \"lin-doc\", \"lin-proc\", \"lin-rect\", \"lined-cylinder\", \"lined-document\", \"lined-process\", \"lined-rectangle\", \"loop-limit\", \"manual\", \"manual-file\", \"manual-input\", \"notch-pent\", \"notch-rect\", \"notched-pentagon\", \"notched-rectangle\", \"odd\", \"out-in\", \"paper-tape\", \"pill\", \"prepare\", \"priority\", \"proc\", \"process\", \"processes\", \"procs\", \"question\", \"rect\", \"shaded-process\", \"sl-rect\", \"sloped-rectangle\", \"sm-circ\", \"small-circle\", \"st-doc\", \"st-rect\", \"stacked-document\", \"stacked-rectangle\", \"start\", \"stop\", \"stored-data\", \"subproc\", \"subprocess\", \"summary\", \"tag-doc\", \"tag-proc\", \"tag-rect\", \"tagged-document\", \"tagged-process\", \"tagged-rectangle\", \"terminal\", \"text\", \"trap-b\", \"trap-t\", \"trapezoid-bottom\", \"trapezoid-top\", \"tri\", \"triangle\", \"win-pane\", \"window-pane\"",
            "note": "a geometry name or a Mermaid v11 @{ shape } name/alias; v11 names render with the documented geometry mapping and serialize with the authored spelling"
          }
        ],
        "set_direction": [
          {
            "name": "direction",
            "required": true,
            "type": "one of \"TD\", \"TB\", \"LR\", \"BT\", \"RL\""
          },
          {
            "name": "subgraph",
            "required": false,
            "type": "string",
            "note": "omit to set the diagram direction; a subgraph id sets that subgraph's direction override"
          }
        ],
        "add_subgraph": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          },
          {
            "name": "parent",
            "required": false,
            "type": "string",
            "note": "nest inside this subgraph"
          },
          {
            "name": "members",
            "required": false,
            "type": "string[]",
            "note": "existing node ids MOVED into the new subgraph"
          }
        ],
        "remove_subgraph": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "removeMembers",
            "required": false,
            "type": "boolean",
            "note": "default false: dissolve — members move to the parent scope; true also removes member nodes and their edges"
          }
        ],
        "move_node": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "subgraph",
            "required": true,
            "type": "string | null",
            "note": "target subgraph id; null moves the node to the top level"
          }
        ],
        "define_class": [
          {
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "name": "style",
            "required": true,
            "type": "string",
            "note": "CSS-like pairs, e.g. \"fill:#f96,stroke:#333,stroke-width:2px\""
          }
        ],
        "set_node_class": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "className",
            "required": true,
            "type": "string | null",
            "note": "assigns a classDef name (define_class or source classDef); null removes the assignment"
          }
        ],
        "set_node_style": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "style",
            "required": true,
            "type": "string | null",
            "note": "inline style pairs, e.g. \"fill:#bbf\"; null clears"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asFlowchart",
      "headers": [
        "flowchart",
        "graph"
      ],
      "example": "flowchart TD\n  A[Start] --> B{Ship?}\n  B -->|yes| C[Deploy]\n  B -->|no| D[Fix]"
    },
    {
      "id": "state",
      "identity": {
        "id": "family:state",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "state",
        "example": "stateDiagram-v2\n  [*] --> Draft\n  Draft --> Review : submit\n  Review --> [*] : approve",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "add_state",
        "remove_state",
        "rename_state",
        "set_state_label",
        "add_transition",
        "remove_transition",
        "set_transition_label",
        "make_composite",
        "set_direction",
        "move_state",
        "dissolve_composite",
        "add_note",
        "remove_note",
        "set_note_text",
        "define_class",
        "set_state_class",
        "set_state_style",
        "set_transition_style"
      ],
      "opFields": {
        "add_state": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "parent",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "region",
            "required": false,
            "type": "number"
          }
        ],
        "remove_state": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "recursive",
            "required": false,
            "type": "boolean",
            "note": "default false: refuse a non-empty composite; true removes the whole subtree (transitions + notes cascade)"
          }
        ],
        "rename_state": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "set_state_label": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_transition": [
          {
            "name": "from",
            "required": true,
            "type": "string",
            "note": "a state id, \"[*]\", or a history ref like \"X[H]\""
          },
          {
            "name": "to",
            "required": true,
            "type": "string",
            "note": "a state id, \"[*]\", or a history ref like \"X[H]\""
          },
          {
            "name": "label",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "parent",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "region",
            "required": false,
            "type": "number"
          }
        ],
        "remove_transition": [
          {
            "name": "index",
            "required": false,
            "type": "number"
          },
          {
            "name": "from",
            "required": false,
            "type": "string"
          },
          {
            "name": "to",
            "required": false,
            "type": "string"
          },
          {
            "name": "parent",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "region",
            "required": false,
            "type": "number"
          }
        ],
        "set_transition_label": [
          {
            "name": "index",
            "required": false,
            "type": "number"
          },
          {
            "name": "from",
            "required": false,
            "type": "string"
          },
          {
            "name": "to",
            "required": false,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string | null"
          },
          {
            "name": "parent",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "region",
            "required": false,
            "type": "number"
          }
        ],
        "make_composite": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "members",
            "required": true,
            "type": "string[]"
          },
          {
            "name": "label",
            "required": false,
            "type": "string | null"
          }
        ],
        "set_direction": [
          {
            "name": "direction",
            "required": true,
            "type": "one of \"TD\", \"TB\", \"LR\", \"BT\", \"RL\""
          },
          {
            "name": "state",
            "required": false,
            "type": "string | null",
            "note": "omit to set the diagram direction; a composite id sets that composite's direction override"
          }
        ],
        "move_state": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "parent",
            "required": true,
            "type": "string | null",
            "note": "target composite id; null moves the state to the top level"
          },
          {
            "name": "region",
            "required": false,
            "type": "number"
          }
        ],
        "dissolve_composite": [
          {
            "name": "id",
            "required": true,
            "type": "string",
            "note": "children and inner transitions hoist into the parent scope; rejects while transitions/notes still reference the composite"
          }
        ],
        "add_note": [
          {
            "name": "target",
            "required": true,
            "type": "string"
          },
          {
            "name": "side",
            "required": false,
            "type": "one of \"left\", \"right\"",
            "note": "default: right"
          },
          {
            "name": "text",
            "required": true,
            "type": "string",
            "note": "multi-line text serializes as a block note"
          }
        ],
        "remove_note": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "set_note_text": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          }
        ],
        "define_class": [
          {
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "name": "style",
            "required": true,
            "type": "string",
            "note": "CSS-like pairs, e.g. \"fill:#f96,stroke:#333\""
          }
        ],
        "set_state_class": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "className",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_state_style": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "style",
            "required": true,
            "type": "string | null",
            "note": "inline style pairs; null clears"
          }
        ],
        "set_transition_style": [
          {
            "name": "index",
            "required": false,
            "type": "number"
          },
          {
            "name": "default",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "style",
            "required": true,
            "type": "string | null"
          },
          {
            "name": "parent",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "region",
            "required": false,
            "type": "number"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asState",
      "headers": [
        "stateDiagram",
        "stateDiagram-v2"
      ],
      "example": "stateDiagram-v2\n  [*] --> Draft\n  Draft --> Review : submit\n  Review --> [*] : approve"
    },
    {
      "id": "sequence",
      "identity": {
        "id": "family:sequence",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "sequence",
        "example": "sequenceDiagram\n  participant U as User\n  participant S as Server\n  U->>S: request\n  S-->>U: response",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "add_participant",
        "remove_participant",
        "add_message",
        "remove_message",
        "set_message_text",
        "move_message",
        "set_participant_label",
        "add_fragment",
        "remove_fragment",
        "set_fragment_label",
        "add_fragment_branch",
        "set_fragment_branch_label",
        "add_fragment_message",
        "remove_fragment_message",
        "set_fragment_message_text"
      ],
      "opFields": {
        "add_participant": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          },
          {
            "name": "participantKind",
            "required": false,
            "type": "one of \"participant\", \"actor\""
          }
        ],
        "remove_participant": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "add_message": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          },
          {
            "name": "style",
            "required": false,
            "type": "one of \"sync\", \"reply\", \"async\", \"async-dashed\", \"lost\", \"lost-dashed\"",
            "note": "default: sync"
          },
          {
            "name": "index",
            "required": false,
            "type": "number",
            "note": "top-level insert position; default: append"
          }
        ],
        "remove_message": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "set_message_text": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          }
        ],
        "move_message": [
          {
            "name": "from",
            "required": true,
            "type": "number",
            "note": "top-level message index"
          },
          {
            "name": "to",
            "required": true,
            "type": "number",
            "note": "top-level target position"
          }
        ],
        "set_participant_label": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "add_fragment": [
          {
            "name": "fragmentKind",
            "required": true,
            "type": "one of \"alt\", \"opt\", \"loop\", \"par\""
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          },
          {
            "name": "index",
            "required": false,
            "type": "number",
            "note": "fragment insert position; default: append"
          }
        ],
        "remove_fragment": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "set_fragment_label": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_fragment_branch": [
          {
            "name": "fragmentIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          }
        ],
        "set_fragment_branch_label": [
          {
            "name": "fragmentIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "branchIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_fragment_message": [
          {
            "name": "fragmentIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "branchIndex",
            "required": false,
            "type": "number",
            "note": "default: 0"
          },
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          },
          {
            "name": "style",
            "required": false,
            "type": "one of \"sync\", \"reply\", \"async\", \"async-dashed\", \"lost\", \"lost-dashed\"",
            "note": "default: sync"
          },
          {
            "name": "index",
            "required": false,
            "type": "number",
            "note": "message insert position; default: append"
          }
        ],
        "remove_fragment_message": [
          {
            "name": "fragmentIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "branchIndex",
            "required": false,
            "type": "number",
            "note": "default: 0"
          },
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "set_fragment_message_text": [
          {
            "name": "fragmentIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "branchIndex",
            "required": false,
            "type": "number",
            "note": "default: 0"
          },
          {
            "name": "index",
            "required": true,
            "type": "number"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asSequence",
      "headers": [
        "sequenceDiagram"
      ],
      "example": "sequenceDiagram\n  participant U as User\n  participant S as Server\n  U->>S: request\n  S-->>U: response"
    },
    {
      "id": "timeline",
      "identity": {
        "id": "family:timeline",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "timeline",
        "example": "timeline\n  title Roadmap\n  2025 : Alpha : Beta\n  2026 : GA",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "add_section",
        "remove_section",
        "set_section_label",
        "add_period",
        "remove_period",
        "set_period_label",
        "add_event",
        "remove_event",
        "set_event_text",
        "move_period",
        "move_event",
        "move_section",
        "set_accessibility_title",
        "set_accessibility_description"
      ],
      "opFields": {
        "set_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_section": [
          {
            "name": "label",
            "required": true,
            "type": "string"
          },
          {
            "name": "index",
            "required": false,
            "type": "number",
            "note": "insert position; omit to append"
          }
        ],
        "remove_section": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "set_section_label": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "add_period": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          },
          {
            "name": "events",
            "required": false,
            "type": "string[]"
          },
          {
            "name": "index",
            "required": false,
            "type": "number",
            "note": "insert position; omit to append"
          }
        ],
        "remove_period": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "periodIndex",
            "required": true,
            "type": "number"
          }
        ],
        "set_period_label": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "periodIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "add_event": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "periodIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          },
          {
            "name": "index",
            "required": false,
            "type": "number",
            "note": "insert position; omit to append"
          }
        ],
        "remove_event": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "periodIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "eventIndex",
            "required": true,
            "type": "number"
          }
        ],
        "set_event_text": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "periodIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "eventIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          }
        ],
        "move_period": [
          {
            "name": "fromSection",
            "required": true,
            "type": "number"
          },
          {
            "name": "fromIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "toSection",
            "required": true,
            "type": "number"
          },
          {
            "name": "toIndex",
            "required": true,
            "type": "number",
            "note": "insert position in the target section, applied after removal"
          }
        ],
        "move_event": [
          {
            "name": "fromSection",
            "required": true,
            "type": "number"
          },
          {
            "name": "fromPeriod",
            "required": true,
            "type": "number"
          },
          {
            "name": "fromIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "toSection",
            "required": true,
            "type": "number"
          },
          {
            "name": "toPeriod",
            "required": true,
            "type": "number"
          },
          {
            "name": "toIndex",
            "required": true,
            "type": "number",
            "note": "insert position in the target period, applied after removal"
          }
        ],
        "move_section": [
          {
            "name": "from",
            "required": true,
            "type": "number"
          },
          {
            "name": "to",
            "required": true,
            "type": "number"
          }
        ],
        "set_accessibility_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_accessibility_description": [
          {
            "name": "description",
            "required": true,
            "type": "string | null"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asTimeline",
      "headers": [
        "timeline"
      ],
      "example": "timeline\n  title Roadmap\n  2025 : Alpha : Beta\n  2026 : GA"
    },
    {
      "id": "class",
      "identity": {
        "id": "family:class",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "class",
        "example": "classDiagram\n  class Account {\n    +id: string\n    +close() void\n  }\n  Account <|-- Savings\n  Account \"1\" o-- \"*\" Transaction : logs",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "add_class",
        "remove_class",
        "rename_class",
        "set_class_generic",
        "add_member",
        "remove_member",
        "add_relation",
        "remove_relation",
        "add_note",
        "remove_note",
        "set_class_namespace",
        "define_class",
        "set_css_class",
        "set_class_style"
      ],
      "opFields": {
        "set_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_class": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          },
          {
            "name": "generic",
            "required": false,
            "type": "string",
            "note": "Mermaid generic parameter text without surrounding ~ delimiters"
          },
          {
            "name": "members",
            "required": false,
            "type": "string[]"
          },
          {
            "name": "namespace",
            "required": false,
            "type": "string",
            "note": "dot path, e.g. \"Platform.Auth\"; declared on demand"
          }
        ],
        "remove_class": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "rename_class": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "set_class_generic": [
          {
            "name": "class",
            "required": true,
            "type": "string"
          },
          {
            "name": "generic",
            "required": true,
            "type": "string | null",
            "note": "parameter text without ~ delimiters; null removes it"
          }
        ],
        "add_member": [
          {
            "name": "class",
            "required": true,
            "type": "string"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          }
        ],
        "remove_member": [
          {
            "name": "class",
            "required": true,
            "type": "string"
          },
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "add_relation": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          },
          {
            "name": "relKind",
            "required": true,
            "type": "one of \"inheritance\", \"composition\", \"aggregation\", \"association\", \"dependency\", \"realization\", \"link-solid\", \"link-dashed\""
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          }
        ],
        "remove_relation": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "add_note": [
          {
            "name": "text",
            "required": true,
            "type": "string"
          },
          {
            "name": "for",
            "required": false,
            "type": "string"
          }
        ],
        "remove_note": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "set_class_namespace": [
          {
            "name": "class",
            "required": true,
            "type": "string"
          },
          {
            "name": "namespace",
            "required": true,
            "type": "string | null",
            "note": "dot path moves the class into that namespace (declared on demand); null moves it to the top level"
          }
        ],
        "define_class": [
          {
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "name": "style",
            "required": true,
            "type": "string",
            "note": "CSS-like pairs, e.g. \"fill:#f96,stroke:#333\""
          }
        ],
        "set_css_class": [
          {
            "name": "class",
            "required": true,
            "type": "string"
          },
          {
            "name": "className",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_class_style": [
          {
            "name": "class",
            "required": true,
            "type": "string"
          },
          {
            "name": "style",
            "required": true,
            "type": "string | null"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asClass",
      "headers": [
        "classDiagram"
      ],
      "example": "classDiagram\n  class Account {\n    +id: string\n    +close() void\n  }\n  Account <|-- Savings\n  Account \"1\" o-- \"*\" Transaction : logs"
    },
    {
      "id": "er",
      "identity": {
        "id": "family:er",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "er",
        "example": "erDiagram\n  CUSTOMER ||--o{ ORDER : places\n  ORDER {\n    string id\n  }",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "add_entity",
        "remove_entity",
        "rename_entity",
        "set_entity_label",
        "add_attribute",
        "remove_attribute",
        "add_relation",
        "remove_relation",
        "set_direction",
        "define_class",
        "set_entity_class",
        "set_entity_style"
      ],
      "opFields": {
        "add_entity": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          },
          {
            "name": "attributes",
            "required": false,
            "type": "string[]"
          }
        ],
        "remove_entity": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "rename_entity": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "set_entity_label": [
          {
            "name": "entity",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_attribute": [
          {
            "name": "entity",
            "required": true,
            "type": "string"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          }
        ],
        "remove_attribute": [
          {
            "name": "entity",
            "required": true,
            "type": "string"
          },
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "add_relation": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          },
          {
            "name": "leftCard",
            "required": true,
            "type": "one of \"one-only\", \"zero-or-one\", \"zero-or-many\", \"one-or-many\""
          },
          {
            "name": "rightCard",
            "required": true,
            "type": "one of \"one-only\", \"zero-or-one\", \"zero-or-many\", \"one-or-many\""
          },
          {
            "name": "dashed",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          }
        ],
        "remove_relation": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "set_direction": [
          {
            "name": "direction",
            "required": true,
            "type": "one of \"TD\", \"TB\", \"LR\", \"BT\", \"RL\""
          }
        ],
        "define_class": [
          {
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "name": "style",
            "required": true,
            "type": "string"
          }
        ],
        "set_entity_class": [
          {
            "name": "entity",
            "required": true,
            "type": "string"
          },
          {
            "name": "className",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_entity_style": [
          {
            "name": "entity",
            "required": true,
            "type": "string"
          },
          {
            "name": "style",
            "required": true,
            "type": "string | null"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asEr",
      "headers": [
        "erDiagram"
      ],
      "example": "erDiagram\n  CUSTOMER ||--o{ ORDER : places\n  ORDER {\n    string id\n  }"
    },
    {
      "id": "journey",
      "identity": {
        "id": "family:journey",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "journey",
        "example": "journey\n  title Checkout\n  section Browse\n    Find product: 4: Shopper\n  section Buy\n    Pay: 3: Shopper",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "add_section",
        "remove_section",
        "set_section_label",
        "add_task",
        "remove_task",
        "set_task_text",
        "set_task_score",
        "set_task_actors",
        "rename_actor",
        "move_task",
        "move_section",
        "set_accessibility_title",
        "set_accessibility_description"
      ],
      "opFields": {
        "set_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_section": [
          {
            "name": "label",
            "required": true,
            "type": "string"
          },
          {
            "name": "index",
            "required": false,
            "type": "number",
            "note": "insert position; omit to append"
          }
        ],
        "remove_section": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "set_section_label": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "add_task": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          },
          {
            "name": "score",
            "required": true,
            "type": "number",
            "note": "integer 1..5"
          },
          {
            "name": "actors",
            "required": false,
            "type": "string[]"
          },
          {
            "name": "index",
            "required": false,
            "type": "number",
            "note": "insert position; omit to append"
          }
        ],
        "remove_task": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskIndex",
            "required": true,
            "type": "number"
          }
        ],
        "set_task_text": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "text",
            "required": true,
            "type": "string"
          }
        ],
        "set_task_score": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "score",
            "required": true,
            "type": "number",
            "note": "integer 1..5"
          }
        ],
        "set_task_actors": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "actors",
            "required": true,
            "type": "string[]"
          }
        ],
        "rename_actor": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "move_task": [
          {
            "name": "fromSection",
            "required": true,
            "type": "number"
          },
          {
            "name": "fromIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "toSection",
            "required": true,
            "type": "number"
          },
          {
            "name": "toIndex",
            "required": true,
            "type": "number",
            "note": "insert position in the target section, applied after removal"
          }
        ],
        "move_section": [
          {
            "name": "from",
            "required": true,
            "type": "number"
          },
          {
            "name": "to",
            "required": true,
            "type": "number"
          }
        ],
        "set_accessibility_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_accessibility_description": [
          {
            "name": "description",
            "required": true,
            "type": "string | null"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asJourney",
      "headers": [
        "journey"
      ],
      "example": "journey\n  title Checkout\n  section Browse\n    Find product: 4: Shopper\n  section Buy\n    Pay: 3: Shopper"
    },
    {
      "id": "architecture",
      "identity": {
        "id": "family:architecture",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "architecture",
        "example": "architecture-beta\n  group backend(cloud)[Backend]\n  service api(server)[API] in backend\n  service db(database)[Database] in backend\n  service cache(disk)[Cache] in backend\n  api:R --> L:db\n  api:B -[reads]-> T:cache",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "set_accessibility_title",
        "set_accessibility_description",
        "add_service",
        "remove_service",
        "rename_service",
        "set_service_label",
        "set_service_icon",
        "move_service",
        "add_junction",
        "remove_junction",
        "rename_junction",
        "move_junction",
        "add_group",
        "set_group_label",
        "remove_group",
        "add_edge",
        "update_edge",
        "remove_edge"
      ],
      "opFields": {
        "set_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_accessibility_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_accessibility_description": [
          {
            "name": "description",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_service": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          },
          {
            "name": "icon",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "group",
            "required": false,
            "type": "string | null"
          }
        ],
        "remove_service": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "rename_service": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "set_service_label": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "set_service_icon": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "icon",
            "required": true,
            "type": "string | null"
          }
        ],
        "move_service": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "group",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_junction": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "group",
            "required": false,
            "type": "string | null"
          }
        ],
        "remove_junction": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "rename_junction": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "move_junction": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "group",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_group": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": false,
            "type": "string"
          },
          {
            "name": "icon",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "parent",
            "required": false,
            "type": "string | null"
          }
        ],
        "set_group_label": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "remove_group": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "add_edge": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          },
          {
            "name": "fromSide",
            "required": true,
            "type": "one of \"L\", \"R\", \"T\", \"B\""
          },
          {
            "name": "toSide",
            "required": true,
            "type": "one of \"L\", \"R\", \"T\", \"B\""
          },
          {
            "name": "fromBoundary",
            "required": false,
            "type": "one of \"item\", \"group\""
          },
          {
            "name": "toBoundary",
            "required": false,
            "type": "one of \"item\", \"group\""
          },
          {
            "name": "label",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "hasArrowStart",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "hasArrowEnd",
            "required": false,
            "type": "boolean"
          }
        ],
        "update_edge": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          },
          {
            "name": "from",
            "required": false,
            "type": "string"
          },
          {
            "name": "to",
            "required": false,
            "type": "string"
          },
          {
            "name": "fromSide",
            "required": false,
            "type": "one of \"L\", \"R\", \"T\", \"B\""
          },
          {
            "name": "toSide",
            "required": false,
            "type": "one of \"L\", \"R\", \"T\", \"B\""
          },
          {
            "name": "fromBoundary",
            "required": false,
            "type": "one of \"item\", \"group\""
          },
          {
            "name": "toBoundary",
            "required": false,
            "type": "one of \"item\", \"group\""
          },
          {
            "name": "label",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "hasArrowStart",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "hasArrowEnd",
            "required": false,
            "type": "boolean"
          }
        ],
        "remove_edge": [
          {
            "name": "index",
            "required": false,
            "type": "number"
          },
          {
            "name": "id",
            "required": false,
            "type": "string"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asArchitecture",
      "headers": [
        "architecture",
        "architecture-beta"
      ],
      "example": "architecture-beta\n  group backend(cloud)[Backend]\n  service api(server)[API] in backend\n  service db(database)[Database] in backend\n  service cache(disk)[Cache] in backend\n  api:R --> L:db\n  api:B -[reads]-> T:cache"
    },
    {
      "id": "xychart",
      "identity": {
        "id": "family:xychart",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "xychart",
        "example": "xychart-beta\n  title \"Revenue\"\n  x-axis [Q1, Q2, Q3]\n  y-axis \"USD\" 0 --> 100\n  bar [45, 62, 80]",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "set_x_axis",
        "set_y_axis",
        "add_series",
        "remove_series",
        "set_series_values",
        "set_series_name",
        "reorder_series",
        "set_orientation",
        "set_data_point"
      ],
      "opFields": {
        "set_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_x_axis": [
          {
            "name": "axis",
            "required": true,
            "type": "object | null"
          }
        ],
        "set_y_axis": [
          {
            "name": "axis",
            "required": true,
            "type": "object | null"
          }
        ],
        "add_series": [
          {
            "name": "kind2",
            "required": true,
            "type": "one of \"bar\", \"line\"",
            "note": "series type — the field is named kind2, not kind"
          },
          {
            "name": "name",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "values",
            "required": true,
            "type": "number[]"
          }
        ],
        "remove_series": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "set_series_values": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          },
          {
            "name": "values",
            "required": true,
            "type": "number[]"
          }
        ],
        "set_series_name": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          },
          {
            "name": "name",
            "required": true,
            "type": "string | null"
          }
        ],
        "reorder_series": [
          {
            "name": "from",
            "required": true,
            "type": "number"
          },
          {
            "name": "to",
            "required": true,
            "type": "number"
          }
        ],
        "set_orientation": [
          {
            "name": "horizontal",
            "required": true,
            "type": "boolean",
            "note": "true = horizontal, false = vertical (the default)"
          }
        ],
        "set_data_point": [
          {
            "name": "seriesIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "index",
            "required": true,
            "type": "number",
            "note": "0-based position within the series values"
          },
          {
            "name": "value",
            "required": true,
            "type": "number",
            "note": "finite"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asXyChart",
      "headers": [
        "xychart",
        "xychart-beta"
      ],
      "example": "xychart-beta\n  title \"Revenue\"\n  x-axis [Q1, Q2, Q3]\n  y-axis \"USD\" 0 --> 100\n  bar [45, 62, 80]"
    },
    {
      "id": "pie",
      "identity": {
        "id": "family:pie",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "pie",
        "example": "pie title Plans\n  \"Free\" : 60\n  \"Pro\" : 30\n  \"Enterprise\" : 10",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "set_show_data",
        "add_slice",
        "remove_slice",
        "rename_slice",
        "set_slice_value",
        "reorder_slice"
      ],
      "opFields": {
        "set_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_show_data": [
          {
            "name": "showData",
            "required": true,
            "type": "boolean"
          }
        ],
        "add_slice": [
          {
            "name": "label",
            "required": true,
            "type": "string"
          },
          {
            "name": "value",
            "required": true,
            "type": "number",
            "note": "> 0, finite"
          }
        ],
        "remove_slice": [
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "rename_slice": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "set_slice_value": [
          {
            "name": "label",
            "required": true,
            "type": "string"
          },
          {
            "name": "value",
            "required": true,
            "type": "number",
            "note": "> 0, finite"
          }
        ],
        "reorder_slice": [
          {
            "name": "from",
            "required": true,
            "type": "number"
          },
          {
            "name": "to",
            "required": true,
            "type": "number"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asPie",
      "headers": [
        "pie"
      ],
      "example": "pie title Plans\n  \"Free\" : 60\n  \"Pro\" : 30\n  \"Enterprise\" : 10"
    },
    {
      "id": "quadrant",
      "identity": {
        "id": "family:quadrant",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "quadrant",
        "example": "quadrantChart\n  title Prioritize\n  x-axis Low Effort --> High Effort\n  y-axis Low Value --> High Value\n  Quick win: [0.2, 0.8]\n  Money pit: [0.8, 0.2]",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "set_axis_labels",
        "set_quadrant_label",
        "add_point",
        "remove_point",
        "move_point",
        "rename_point"
      ],
      "opFields": {
        "set_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_axis_labels": [
          {
            "name": "axis",
            "required": true,
            "type": "one of \"x\", \"y\""
          },
          {
            "name": "near",
            "required": true,
            "type": "string | null"
          },
          {
            "name": "far",
            "required": false,
            "type": "string | null"
          }
        ],
        "set_quadrant_label": [
          {
            "name": "quadrant",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_point": [
          {
            "name": "label",
            "required": true,
            "type": "string"
          },
          {
            "name": "x",
            "required": true,
            "type": "number",
            "note": "0..1"
          },
          {
            "name": "y",
            "required": true,
            "type": "number",
            "note": "0..1"
          }
        ],
        "remove_point": [
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "move_point": [
          {
            "name": "label",
            "required": true,
            "type": "string"
          },
          {
            "name": "x",
            "required": true,
            "type": "number",
            "note": "0..1"
          },
          {
            "name": "y",
            "required": true,
            "type": "number",
            "note": "0..1"
          }
        ],
        "rename_point": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asQuadrant",
      "headers": [
        "quadrantChart"
      ],
      "example": "quadrantChart\n  title Prioritize\n  x-axis Low Effort --> High Effort\n  y-axis Low Value --> High Value\n  Quick win: [0.2, 0.8]\n  Money pit: [0.8, 0.2]"
    },
    {
      "id": "gantt",
      "identity": {
        "id": "family:gantt",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "gantt",
        "example": "gantt\n  title Plan\n  dateFormat YYYY-MM-DD\n  section Build\n  Implement :a1, 2026-01-05, 5d\n  Review :after a1, 2d",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "add_section",
        "rename_section",
        "remove_section",
        "add_task",
        "remove_task",
        "rename_task",
        "set_task_status",
        "set_task_dates",
        "set_task_flags",
        "set_task_id",
        "move_task",
        "move_section"
      ],
      "opFields": {
        "set_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_section": [
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "rename_section": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "remove_section": [
          {
            "name": "index",
            "required": true,
            "type": "number"
          }
        ],
        "add_task": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          },
          {
            "name": "taskId",
            "required": false,
            "type": "string"
          },
          {
            "name": "tags",
            "required": false,
            "type": "string[]"
          },
          {
            "name": "start",
            "required": false,
            "type": "string",
            "note": "date, or \"after <taskId>\""
          },
          {
            "name": "end",
            "required": true,
            "type": "string",
            "note": "date, a duration like \"3d\", or \"until <taskId>\""
          },
          {
            "name": "index",
            "required": false,
            "type": "number",
            "note": "insert position; omit to append — inserting into an implicit-start chain re-chains the follower onto the new task"
          }
        ],
        "remove_task": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskIndex",
            "required": true,
            "type": "number"
          }
        ],
        "rename_task": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "set_task_status": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "status",
            "required": true,
            "type": "one of \"active\", \"done\", \"crit\" | null"
          }
        ],
        "set_task_dates": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "start",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "end",
            "required": false,
            "type": "string"
          }
        ],
        "set_task_flags": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "milestone",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "vert",
            "required": false,
            "type": "boolean"
          }
        ],
        "set_task_id": [
          {
            "name": "sectionIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "taskId",
            "required": true,
            "type": "string | null",
            "note": "renames rewrite after/until references; null clears (rejected while referenced)"
          }
        ],
        "move_task": [
          {
            "name": "fromSection",
            "required": true,
            "type": "number"
          },
          {
            "name": "fromIndex",
            "required": true,
            "type": "number"
          },
          {
            "name": "toSection",
            "required": true,
            "type": "number"
          },
          {
            "name": "toIndex",
            "required": true,
            "type": "number",
            "note": "insert position in the target section, applied after removal — rejected if the move would change an implicit-start task's predecessor"
          }
        ],
        "move_section": [
          {
            "name": "from",
            "required": true,
            "type": "number"
          },
          {
            "name": "to",
            "required": true,
            "type": "number"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asGantt",
      "headers": [
        "gantt"
      ],
      "example": "gantt\n  title Plan\n  dateFormat YYYY-MM-DD\n  section Build\n  Implement :a1, 2026-01-05, 5d\n  Review :after a1, 2d"
    },
    {
      "id": "mindmap",
      "identity": {
        "id": "family:mindmap",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "mindmap",
        "example": "mindmap\n  root((Product))\n    Research\n      Interviews\n      Evidence\n    Delivery\n      Launch",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "add_node",
        "remove_node",
        "rename_node",
        "set_label",
        "move_node",
        "set_shape",
        "set_icon",
        "set_node_class",
        "set_accessibility_title",
        "set_accessibility_description"
      ],
      "opFields": {
        "add_node": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          },
          {
            "name": "parent",
            "required": true,
            "type": "string"
          },
          {
            "name": "shape",
            "required": false,
            "type": "one of \"default\", \"rect\", \"rounded\", \"circle\", \"cloud\", \"bang\", \"hexagon\""
          },
          {
            "name": "index",
            "required": false,
            "type": "number"
          }
        ],
        "remove_node": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "recursive",
            "required": false,
            "type": "boolean"
          }
        ],
        "rename_node": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "set_label": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string"
          }
        ],
        "move_node": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "parent",
            "required": true,
            "type": "string"
          },
          {
            "name": "index",
            "required": false,
            "type": "number"
          }
        ],
        "set_shape": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "shape",
            "required": true,
            "type": "one of \"default\", \"rect\", \"rounded\", \"circle\", \"cloud\", \"bang\", \"hexagon\""
          }
        ],
        "set_icon": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "icon",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_node_class": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "className",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_accessibility_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_accessibility_description": [
          {
            "name": "description",
            "required": true,
            "type": "string | null"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asMindmap",
      "headers": [
        "mindmap"
      ],
      "example": "mindmap\n  root((Product))\n    Research\n      Interviews\n      Evidence\n    Delivery\n      Launch"
    },
    {
      "id": "gitgraph",
      "identity": {
        "id": "family:gitgraph",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "gitgraph",
        "example": "gitGraph\n  commit id:\"base\"\n  branch feature\n  commit id:\"work\"\n  checkout main\n  commit id:\"release\"\n  merge feature id:\"merge\"",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "append_commit",
        "create_branch",
        "checkout_branch",
        "merge_branch",
        "cherry_pick",
        "set_commit_message",
        "set_commit_type",
        "set_commit_tags",
        "rename_branch",
        "set_accessibility_title",
        "set_accessibility_description"
      ],
      "opFields": {
        "append_commit": [
          {
            "name": "id",
            "required": false,
            "type": "string"
          },
          {
            "name": "message",
            "required": false,
            "type": "string"
          },
          {
            "name": "type",
            "required": false,
            "type": "one of \"NORMAL\", \"REVERSE\", \"HIGHLIGHT\""
          },
          {
            "name": "tags",
            "required": false,
            "type": "string[]"
          }
        ],
        "create_branch": [
          {
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "name": "order",
            "required": false,
            "type": "number"
          }
        ],
        "checkout_branch": [
          {
            "name": "name",
            "required": true,
            "type": "string"
          }
        ],
        "merge_branch": [
          {
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "required": false,
            "type": "string"
          },
          {
            "name": "type",
            "required": false,
            "type": "one of \"NORMAL\", \"REVERSE\", \"HIGHLIGHT\""
          },
          {
            "name": "tags",
            "required": false,
            "type": "string[]"
          }
        ],
        "cherry_pick": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "parent",
            "required": false,
            "type": "string"
          },
          {
            "name": "tags",
            "required": false,
            "type": "string[]"
          }
        ],
        "set_commit_message": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "message",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_commit_type": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "type",
            "required": true,
            "type": "one of \"NORMAL\", \"REVERSE\", \"HIGHLIGHT\""
          }
        ],
        "set_commit_tags": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "tags",
            "required": true,
            "type": "string[]"
          }
        ],
        "rename_branch": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "set_accessibility_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "set_accessibility_description": [
          {
            "name": "description",
            "required": true,
            "type": "string | null"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asGitGraph",
      "headers": [
        "gitGraph"
      ],
      "example": "gitGraph\n  commit id:\"base\"\n  branch feature\n  commit id:\"work\"\n  checkout main\n  commit id:\"release\"\n  merge feature id:\"merge\""
    },
    {
      "id": "radar",
      "identity": {
        "id": "family:radar",
        "version": "1.0.0",
        "compatibility": {
          "core": "^0.4.0"
        },
        "provenance": {
          "owner": "agentic-mermaid",
          "source": "built-in"
        }
      },
      "conformance": {
        "version": 2,
        "familyId": "radar",
        "example": "radar-beta\n  title Skills\n  axis speed[\"Speed\"], power[\"Power\"], range[\"Range\"]\n  curve now[\"Current\"]{4, 3, 5}\n  curve goal[\"Target\"]{5, 5, 4}\n  max 5",
        "passed": true,
        "capabilities": [
          {
            "capability": "detection",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "source-preservation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "parse",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "serialize",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "mutation",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "verify",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "layout",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "scene",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "svg",
            "declaredState": "native",
            "status": "passed"
          },
          {
            "capability": "terminal",
            "declaredState": "native",
            "status": "passed"
          }
        ]
      },
      "hasMutate": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "add_axis",
        "remove_axis",
        "rename_axis",
        "set_axis_label",
        "reorder_axis",
        "add_curve",
        "remove_curve",
        "set_curve_values",
        "set_curve_value",
        "set_curve_label",
        "rename_curve",
        "reorder_curve",
        "set_config"
      ],
      "opFields": {
        "set_title": [
          {
            "name": "title",
            "required": true,
            "type": "string | null"
          }
        ],
        "add_axis": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "index",
            "required": false,
            "type": "number",
            "note": "insert position; omit to append"
          },
          {
            "name": "fill",
            "required": false,
            "type": "number",
            "note": "value written to every existing curve for the new axis; default: min"
          }
        ],
        "remove_axis": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "rename_axis": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "set_axis_label": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string | null"
          }
        ],
        "reorder_axis": [
          {
            "name": "from",
            "required": true,
            "type": "number"
          },
          {
            "name": "to",
            "required": true,
            "type": "number",
            "note": "permutes every curve's value vector identically"
          }
        ],
        "add_curve": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": false,
            "type": "string | null"
          },
          {
            "name": "values",
            "required": true,
            "type": "number[]",
            "note": "one value per axis, in axis order"
          },
          {
            "name": "index",
            "required": false,
            "type": "number"
          }
        ],
        "remove_curve": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "set_curve_values": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "values",
            "required": true,
            "type": "number[]",
            "note": "length must equal the axis count"
          }
        ],
        "set_curve_value": [
          {
            "name": "curve",
            "required": true,
            "type": "string"
          },
          {
            "name": "axis",
            "required": true,
            "type": "string"
          },
          {
            "name": "value",
            "required": true,
            "type": "number",
            "note": "non-negative, finite"
          }
        ],
        "set_curve_label": [
          {
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "name": "label",
            "required": true,
            "type": "string | null"
          }
        ],
        "rename_curve": [
          {
            "name": "from",
            "required": true,
            "type": "string"
          },
          {
            "name": "to",
            "required": true,
            "type": "string"
          }
        ],
        "reorder_curve": [
          {
            "name": "from",
            "required": true,
            "type": "number"
          },
          {
            "name": "to",
            "required": true,
            "type": "number"
          }
        ],
        "set_config": [
          {
            "name": "max",
            "required": false,
            "type": "number | null",
            "note": "> min; null resets auto-max"
          },
          {
            "name": "min",
            "required": false,
            "type": "number | null",
            "note": "null resets 0"
          },
          {
            "name": "ticks",
            "required": false,
            "type": "number | null",
            "note": "integer 1..64; null resets 5"
          },
          {
            "name": "graticule",
            "required": false,
            "type": "one of \"circle\", \"polygon\" | null"
          },
          {
            "name": "showLegend",
            "required": false,
            "type": "boolean | null",
            "note": "null resets true"
          }
        ]
      },
      "editPolicy": "structured-when-narrowed",
      "narrower": "asRadar",
      "headers": [
        "radar-beta"
      ],
      "example": "radar-beta\n  title Skills\n  axis speed[\"Speed\"], power[\"Power\"], range[\"Range\"]\n  curve now[\"Current\"]{4, 3, 5}\n  curve goal[\"Target\"]{5, 5, 4}\n  max 5"
    }
  ],
  "warningCodes": [
    {
      "code": "EMPTY_DIAGRAM",
      "tier": "structural",
      "severity": "error",
      "what": "the source parses to a diagram with no drawable content.",
      "triggers": "A bare header like `flowchart TD` with no statements after it, a body containing only comments, or a mutation sequence that removed the last node, message, or task.",
      "fix": "Add at least one element — `add_node`/`add_edge` for flowcharts, `add_participant`/`add_message` for sequence, `add_task` for gantt/journey — or check that the intended body was not lost before serializing.",
      "example": "flowchart TD"
    },
    {
      "code": "UNRESOLVABLE_SCHEDULE",
      "tier": "structural",
      "severity": "error",
      "what": "a gantt schedule cannot be resolved to concrete dates, so bars cannot be positioned.",
      "triggers": "A task whose `after`/`until` expression references a task id that does not exist, or a start/end that cannot be parsed against the declared `dateFormat`. The warning carries the engine reason string.",
      "fix": "Point the reference at a real task id or give the task explicit dates with the `set_task_dates` mutation (or edit the offending source line named in the reason).",
      "example": "gantt\n  title Release\n  dateFormat YYYY-MM-DD\n  section Build\n    Ship :ship, after review, 3d"
    },
    {
      "code": "RENDER_FAILED",
      "tier": "structural",
      "severity": "error",
      "what": "the diagram parsed, but rendering to the requested format threw before producing an artifact.",
      "triggers": "A construct that parses but the renderer cannot lay out or rasterize — an unsupported combination reaching the SVG/PNG path, or a size/raster budget hit on a very large diagram. Not reachable from small well-formed source in normal operation.",
      "fix": "Return the structured error and the source rather than a fabricated artifact; simplify or split the diagram, drop the construct named in the message, or fall back to a lighter format (SVG or ASCII before PNG). A reproducible failure on stable source is a renderer bug worth reporting."
    },
    {
      "code": "BRAND_CONSTRAINT_ERROR",
      "tier": "lint",
      "severity": "error",
      "what": "a caller-selected Brand constraint failed with error action and therefore blocks verification.",
      "triggers": "The same final-Scene rules as `BRAND_CONSTRAINT_WARNING`, selected with `action: \"error\"` when a project wants its declared brand policy to flip `verify.ok`.",
      "fix": "Correct the StyleSpec or diagram paint named by the payload, or deliberately change that constraint to `action: \"warn\"`. Suppression does not repair the visual issue."
    },
    {
      "code": "EDGE_MISANCHORED",
      "tier": "structural",
      "severity": "error",
      "what": "an edge, message, or dependency references an endpoint that is not in the diagram.",
      "triggers": "A gantt `after` dependency naming a missing task, a sequence message whose participant was removed, or edges left dangling after a `remove_node` mutation.",
      "fix": "Add the missing endpoint (`add_node`, `add_participant`, `add_task`) or retarget/remove the dangling edge (`remove_edge`, `remove_message`).",
      "example": "gantt\n  dateFormat YYYY-MM-DD\n  section Build\n    Design :design, 2026-01-01, 2d\n    Ship :ship, after review, 3d"
    },
    {
      "code": "OFF_CANVAS",
      "tier": "structural",
      "severity": "error",
      "what": "a positioned node extends past the computed canvas on the reported axis.",
      "triggers": "Never in normal operation — the engine sizes the canvas around content, so this is a tripwire that fires only when a layout pass moves geometry after the canvas was sized. Layout is deterministic, so a firing input reproduces byte-identically.",
      "fix": "Not fixable by editing the diagram content itself: simplify or remove the construct that provokes it, and report the source as a renderer bug so the layout defect gets fixed."
    },
    {
      "code": "GROUP_BREACH",
      "tier": "structural",
      "severity": "error",
      "what": "a node that belongs to a subgraph or group is positioned outside its group rectangle.",
      "triggers": "An engine-bug tripwire like `OFF_CANVAS`: deeply nested subgraphs combined with cross-group edges are historically where containment slipped. The warning names both the group and the escaping member.",
      "fix": "Flatten the nesting or move the member out of the group (source edit, or `remove_node` then re-add outside the subgraph). A reproducible breach is a renderer bug worth reporting with the source."
    },
    {
      "code": "UNKNOWN_SHAPE",
      "tier": "structural",
      "severity": "warning",
      "what": "a node carries a shape outside the renderer’s known vocabulary and falls back to a plain rectangle.",
      "triggers": "Shape syntax the parser modeled but the renderer does not draw — typically newer Mermaid shape names reaching a structured flowchart or state graph.",
      "fix": "Switch the node to a supported shape (rectangle, rounded, diamond, stadium, circle, hexagon, cylinder, …) with a source edit; the diagram still renders meanwhile, so this is a warning rather than an error."
    },
    {
      "code": "LABEL_OVERFLOW",
      "tier": "structural",
      "severity": "warning",
      "what": "a label’s longest rendered line exceeds the character cap (default 40), which hurts layout and readability. The count measures what the renderer draws: `<br>` starts a new line, XML entities like `&#160;` count as one character, and formatting tags are stripped.",
      "triggers": "Prose sentences pasted into node labels, edge labels, message text, or section/period titles — common when an agent copies requirement text verbatim into the diagram. Multi-line labels fire only when a single rendered line exceeds the cap.",
      "fix": "Shorten the text with `set_label`, `set_message_text`, or the matching family mutation; raise `labelCharCap` in `VerifyOptions` only when long labels are genuinely intended.",
      "example": "flowchart LR\n  A[This label is far longer than the forty character cap] --> B[Done]"
    },
    {
      "code": "NODE_OVERLAP",
      "tier": "geometric",
      "severity": "warning",
      "what": "two nodes’ boxes intersect in the final layout; the warning reports the pair and the overlap area in pixels.",
      "triggers": "The deterministic layout separates nodes by construction, so no small flowchart source fires this — it appears only when a family adapter or post-pass produces colliding boxes on dense inputs. It is a tripwire, not an everyday lint.",
      "fix": "Shorten the labels of the named pair or reduce local density; if the overlap persists on a stable input, treat it as a layout defect and report the source."
    },
    {
      "code": "ROUTE_SELF_CROSS",
      "tier": "geometric",
      "severity": "warning",
      "what": "a single edge’s routed polyline crosses over itself.",
      "triggers": "A routing tripwire on the final geometry: the router avoids self-intersection, so a firing means dense cyclic routing degraded. The warning names the edge and the crossing count.",
      "fix": "Remove or redirect the redundant edge (`remove_edge`, then `add_edge` along a simpler path); a persistent self-cross on unchanged source is an engine bug to report."
    },
    {
      "code": "ROUTE_HITCH",
      "tier": "geometric",
      "severity": "warning",
      "what": "an edge deviates from its certified straight lane by more than the tolerance, reported in pixels.",
      "triggers": "The layout certifies clear lanes when routes are frozen; a hitch means a later pass mutated geometry after certification. Agents cannot cause this from source alone.",
      "fix": "Simplify the crossing edges near the named edge if a quick fix is needed, and report the reproducing source — the certificate/geometry mismatch is an engine defect."
    },
    {
      "code": "ROUTE_UNEXPLAINED_BEND",
      "tier": "geometric",
      "severity": "warning",
      "what": "an orthogonally-routed edge contains a bend its route certificate does not explain.",
      "triggers": "Orthogonal families (class, ER) certify every bend against an obstacle; an unexplained bend means post-certification geometry drift. Not reachable from well-formed source in normal operation.",
      "fix": "No source-level fix is expected to be needed; if verify reports it, capture the source and report it as a renderer bug — determinism makes the reproduction exact."
    },
    {
      "code": "ROUTE_LABEL_ON_SHARED_TRUNK",
      "tier": "geometric",
      "severity": "warning",
      "what": "an edge label sits on a line segment shared with another edge, so it is ambiguous which edge it names.",
      "triggers": "Fan-in/fan-out patterns where several labeled edges merge onto a shared trunk and a label pill lands on the shared piece rather than the edge’s own segment.",
      "fix": "Shorten the label with `set_label` so it fits the edge’s exclusive segment, or restructure the fan so the labeled edge has its own approach."
    },
    {
      "code": "ROUTE_SELF_LOOP_OCCUPANCY",
      "tier": "geometric",
      "severity": "warning",
      "what": "a self-loop cannot reserve a clear side, boundary span, route corridor, or label area without colliding with another loop or route.",
      "triggers": "Several self-loops competing for the same node side, or a later route/label pass entering space already certified for a loop. The warning names the conflict kind and, when applicable, the other edge.",
      "fix": "Move one relationship to a different endpoint or remove a redundant loop. If unchanged source fires nondeterministically, report it as a route-allocation defect."
    },
    {
      "code": "ROUTE_CONTAINER_MISANCHOR",
      "tier": "geometric",
      "severity": "warning",
      "what": "an edge attached to a subgraph or group does not terminate on the container’s border.",
      "triggers": "Container-anchored edges must end exactly on the group rectangle; a miss means the border moved after routing. This is a tripwire over final geometry rather than a source mistake.",
      "fix": "Re-anchor the edge to a member node instead of the container as a workaround, and report the source — the container anchor contract is the engine’s to uphold."
    },
    {
      "code": "ROUTE_SHAPE_MISANCHOR",
      "tier": "geometric",
      "severity": "warning",
      "what": "an edge endpoint does not sit on the outline of the node shape it connects to (e.g. off a diamond’s facet).",
      "triggers": "Endpoint-on-shape is checked against the final node geometry; a miss usually accompanies a node that changed size or shape after routes were frozen.",
      "fix": "Switching the node to a simpler shape (rectangle) is the mechanical workaround; the underlying anchor drift is an engine defect worth reporting with the source."
    },
    {
      "code": "ROUTE_STALE_AFTER_NODE_MOVE",
      "tier": "geometric",
      "severity": "warning",
      "what": "an edge still follows a corridor computed before its node moved, so it anchors where the node used to be.",
      "triggers": "A compaction or alignment pass moved a node after edge routing without re-anchoring the affected edges. Not producible from source alone in normal operation.",
      "fix": "No diagram edit reliably clears it; report the reproducing source. If it blocks a task, removing and re-adding the named edge forces a fresh route."
    },
    {
      "code": "DUPLICATE_EDGE",
      "tier": "lint",
      "severity": "warning",
      "what": "two edges with identical endpoints, label, and style — the second adds ink but no information.",
      "triggers": "An agent re-adding an edge that already exists, typically an `add_edge` issued without checking the current edge list, or copy-pasted source lines.",
      "fix": "Remove one copy with `remove_edge` (or delete the duplicate source line); if two parallel edges are intentional, give them distinct labels so they stop being duplicates.",
      "example": "flowchart LR\n  A[Start] --> B[Finish]\n  A --> B"
    },
    {
      "code": "UNREACHABLE_NODE",
      "tier": "lint",
      "severity": "warning",
      "what": "a node cannot be reached from any root (a node with no incoming edges) by following edges.",
      "triggers": "Disconnected clusters left behind after `remove_edge`/`remove_node` mutations, or a cycle with no entry edge from the main flow.",
      "fix": "Connect the node into the flow with `add_edge` from a reachable node, or delete it with `remove_node` if it is leftover.",
      "example": "flowchart LR\n  A[Start] --> B[Done]\n  C[Orphan] --> D[Cycle]\n  D --> C"
    },
    {
      "code": "DECISION_BRANCH_UNLABELED",
      "tier": "lint",
      "severity": "warning",
      "what": "a decision diamond with two or more exits has at least one unlabeled exit, so the branch condition is ambiguous.",
      "triggers": "Adding a second exit to a diamond without a condition label. ISO 5807 / ANSI X3.5 require each exit of a multi-exit decision to be labeled with its condition value.",
      "fix": "Label every exit — `set_label` on the unlabeled edge (e.g. `yes`/`no`) or add `|condition|` to the source line.",
      "example": "flowchart TD\n  A{Ready?} -->|yes| B[Ship]\n  A --> C[Wait]"
    },
    {
      "code": "COMMENT_DROPPED",
      "tier": "lint",
      "severity": "warning",
      "what": "in-body %% comments will not survive structured serialization; the loss is announced, not silent.",
      "triggers": "Comments between statements in a structurally-modeled body: the typed tree does not model them, so `serializeMermaid` writes the body back without them. The warning carries the count and line numbers.",
      "fix": "Move essential comment content into a label or title before mutating, keep a source-level edit instead of a typed mutation when comments must survive, or accept the loss knowingly.",
      "example": "flowchart LR\n  %% review note that structured serialization drops\n  A[Start] --> B[Done]"
    },
    {
      "code": "UNSUPPORTED_SYNTAX",
      "tier": "lint",
      "severity": "warning",
      "what": "the source uses syntax or content the local structured model cannot faithfully express.",
      "triggers": "Flowchart `click`/`href` directives, edge IDs and edge metadata, v11 `@{ shape: … }` node metadata, markdown strings, unclosed delimiters that would silently drop content, or `syntax: \"empty_layout\"` when content-bearing source lays out to a 0×0 canvas with no nodes, edges, or groups.",
      "fix": "For preserved Mermaid syntax, remove the directive if local rendering fidelity matters, or keep it knowing the local renderer ignores it; edits touching those lines need source-level editing rather than typed mutations. For `empty_layout`, inspect the warning message and `verify.layout`, then repair the malformed or unsupported source before accepting the artifact.",
      "example": "flowchart LR\n  A[Start] --> B[Docs]\n  click B callCallback"
    },
    {
      "code": "CONTENT_DROPPED_ON_ROUNDTRIP",
      "tier": "lint",
      "severity": "warning",
      "what": "a parse → serialize → re-parse cycle lost nodes, edges, or groups by count.",
      "triggers": "A serializer defect on unusual syntax: the faithfulness tally before and after the round trip disagrees. This is a tripwire that guards every verify; it should not fire on supported syntax.",
      "fix": "Do not serialize the typed tree for this diagram — fall back to source-level edits so nothing is lost, and report the source; the before/after counts on the warning pinpoint what vanished."
    },
    {
      "code": "INEFFECTIVE_CONFIG",
      "tier": "lint",
      "severity": "warning",
      "what": "a recognized Mermaid config field was accepted for compatibility but has no effect on this family’s geometry or paint.",
      "triggers": "Copying configuration between diagram families, using a documented upstream option that this deterministic renderer has not wired, or supplying an unknown field under a known family section. The warning names the exact field.",
      "fix": "Remove the inert field, move the setting under the family that supports it, or use a wired render option. Do not rely on the accepted value until verify stops reporting it.",
      "example": "---\nconfig:\n  flowchart:\n    madeUpKey: 1\n---\nflowchart LR\n  A --> B"
    },
    {
      "code": "LOW_CONTRAST",
      "tier": "lint",
      "severity": "warning",
      "what": "a concrete authored paint remains in the output but misses a measurable contrast threshold against the final resolved page background.",
      "triggers": "An authored color such as `themeVariables.radar.axisColor` resolves to less than 4.5:1 against an opaque page. Transparent output is not measured because its host backdrop is unknown.",
      "fix": "Choose a foreground or page color that meets the warning’s `minimum` ratio. The renderer preserves explicit authored paint, so re-run verify after changing the source rather than expecting an automatic repaint.",
      "example": "---\nconfig:\n  themeVariables:\n    radar:\n      axisColor: \"#dddddd\"\n---\nradar-beta\n  axis speed, cost, safety\n  curve current{4,3,5}\n  max 5"
    },
    {
      "code": "BRAND_CONSTRAINT_WARNING",
      "tier": "lint",
      "severity": "warning",
      "what": "an explicitly requested inspect-only Brand constraint failed or could not be measured.",
      "triggers": "A StyleSpec `contrast`, `accent-area`, or `mono-role` constraint with `action: \"warn\"` inspects final Scene paint. Transparent or unresolved compositing contexts report unmeasurable evidence without inventing a ratio.",
      "fix": "Inspect the structured measurement payload and adjust the role/slot paint or the constraint threshold. The renderer deliberately preserves the authored artifact and never repaints or relayouts it."
    }
  ],
  "outputFormats": [
    "svg",
    "ascii",
    "unicode",
    "png",
    "layout"
  ],
  "sectionA": {
    "projectionVersion": 1,
    "reportSchemaVersion": 12,
    "reportDigest": "fnv1a64:0a37a54eac83b3a6",
    "upstreamPin": {
      "package": "mermaid",
      "version": "11.16.0",
      "commit": "f3dea58385fd5c7dd1f4e9c9c1876751ae6943cc",
      "inventorySha256": "743517bef84810c6e8afc8b470b801b8cc4a1687445037bd42cc6079f57a3b59"
    },
    "counts": {
      "sharedRequestFieldCount": 29,
      "sharedRequestSurfaceCellCount": 203,
      "hostOnlyRequestFieldCount": 1,
      "portableOutputOptionFieldCount": 3,
      "nativeHostOnlyOutputOptionFieldCount": 3,
      "registeredBackendCount": 3,
      "outputCount": 6,
      "resourceCount": 10,
      "registeredFamilyCount": 15,
      "upstreamPublicFamilyCount": 31,
      "upstreamNativeHeaderCount": 19,
      "upstreamUnsupportedHeaderCount": 26,
      "upstreamInventoryOnlyHeaderCount": 5,
      "scenePrimitiveCount": 7,
      "sceneRoleCount": 42,
      "syntaxDimensionCount": 11,
      "syntaxFamilyDimensionCount": 341,
      "syntaxFeatureClassificationCount": 1833,
      "syntaxAbsentCount": 0,
      "evidenceSystemCount": 4,
      "retiredAuthorityCount": 15
    },
    "noAbsentSyntaxCapabilities": true,
    "fullReport": {
      "repositoryModule": "src/section-a-capability-report.ts",
      "factory": "createSectionACapabilityReport",
      "markdown": "docs/project/section-a-capability-report.md",
      "regenerateCommand": "bun run section-a-report"
    }
  },
  "generatedFrom": {
    "packageVersion": "0.4.1",
    "gitSha": "d2d821cb07f46d39770c3b731c346ef0c22ea773",
    "buildTime": "2026-07-31T11:27:14Z"
  }
}
