{
  "commit": "4088f5a1d23be63f43953ed1eae5eb1740f6eb8d",
  "core": "0.69.0",
  "root": "Beacon Systems",
  "rootId": "01a04c7b-6b80-7021-b82c-bfedcb24827f",
  "types": [
    {
      "type": "achievement-kind",
      "folder": "achievement-kinds",
      "owner": null,
      "singular": false
    },
    {
      "type": "brand",
      "folder": null,
      "owner": null,
      "singular": true
    },
    {
      "type": "concept",
      "folder": "concepts",
      "owner": null,
      "singular": false
    },
    {
      "type": "control",
      "folder": "controls",
      "owner": null,
      "singular": false
    },
    {
      "type": "data-object",
      "folder": "data-objects",
      "owner": null,
      "singular": false
    },
    {
      "type": "data-processor",
      "folder": "data-processors",
      "owner": null,
      "singular": false
    },
    {
      "type": "decision",
      "folder": "decisions",
      "owner": null,
      "singular": false
    },
    {
      "type": "decision-kind",
      "folder": "decision-kinds",
      "owner": null,
      "singular": false
    },
    {
      "type": "decision-status",
      "folder": "decision-statuses",
      "owner": null,
      "singular": false
    },
    {
      "type": "domain",
      "folder": "domains",
      "owner": null,
      "singular": false
    },
    {
      "type": "experience",
      "folder": "experiences",
      "owner": "profile",
      "singular": false
    },
    {
      "type": "experience-kind",
      "folder": "experience-kinds",
      "owner": null,
      "singular": false
    },
    {
      "type": "feature",
      "folder": "features",
      "owner": null,
      "singular": false
    },
    {
      "type": "group",
      "folder": "groups",
      "owner": null,
      "singular": false
    },
    {
      "type": "group-kind",
      "folder": "group-kinds",
      "owner": null,
      "singular": false
    },
    {
      "type": "identifier",
      "folder": null,
      "owner": null,
      "singular": true
    },
    {
      "type": "identity",
      "folder": null,
      "owner": null,
      "singular": true
    },
    {
      "type": "job",
      "folder": "jobs",
      "owner": null,
      "singular": false
    },
    {
      "type": "kpi",
      "folder": "kpis",
      "owner": null,
      "singular": false
    },
    {
      "type": "localization",
      "folder": null,
      "owner": null,
      "singular": true
    },
    {
      "type": "phase",
      "folder": "phases",
      "owner": "process",
      "singular": false
    },
    {
      "type": "process",
      "folder": "processes",
      "owner": null,
      "singular": false
    },
    {
      "type": "processing-activity",
      "folder": "processing-activities",
      "owner": null,
      "singular": false
    },
    {
      "type": "product",
      "folder": "products",
      "owner": null,
      "singular": false
    },
    {
      "type": "product-kind",
      "folder": "product-kinds",
      "owner": null,
      "singular": false
    },
    {
      "type": "proficiency-level",
      "folder": "proficiency-levels",
      "owner": null,
      "singular": false
    },
    {
      "type": "profile",
      "folder": "profiles",
      "owner": null,
      "singular": false
    },
    {
      "type": "question",
      "folder": "questions",
      "owner": null,
      "singular": false
    },
    {
      "type": "question-kind",
      "folder": "question-kinds",
      "owner": null,
      "singular": false
    },
    {
      "type": "requirement",
      "folder": "requirements",
      "owner": null,
      "singular": false
    },
    {
      "type": "risk",
      "folder": "risks",
      "owner": null,
      "singular": false
    },
    {
      "type": "rule",
      "folder": "rules",
      "owner": null,
      "singular": false
    },
    {
      "type": "seat",
      "folder": "seats",
      "owner": null,
      "singular": false
    },
    {
      "type": "service",
      "folder": "services",
      "owner": null,
      "singular": false
    },
    {
      "type": "skill",
      "folder": "skills",
      "owner": null,
      "singular": false
    },
    {
      "type": "source",
      "folder": "sources",
      "owner": null,
      "singular": false
    },
    {
      "type": "stored-item",
      "folder": "stored-items",
      "owner": null,
      "singular": false
    },
    {
      "type": "strategic-objective",
      "folder": "strategic-objectives",
      "owner": null,
      "singular": false
    },
    {
      "type": "strategy",
      "folder": "strategies",
      "owner": null,
      "singular": false
    },
    {
      "type": "surface",
      "folder": "surfaces",
      "owner": null,
      "singular": false
    },
    {
      "type": "system",
      "folder": "systems",
      "owner": null,
      "singular": false
    },
    {
      "type": "system-kind",
      "folder": "system-kinds",
      "owner": null,
      "singular": false
    },
    {
      "type": "track",
      "folder": "tracks",
      "owner": "process",
      "singular": false
    },
    {
      "type": "use-case",
      "folder": "use-cases",
      "owner": null,
      "singular": false
    },
    {
      "type": "value",
      "folder": "values",
      "owner": null,
      "singular": false
    },
    {
      "type": "vision",
      "folder": null,
      "owner": null,
      "singular": true
    }
  ],
  "entities": [
    {
      "id": "01a0b0b8-a108-7599-9272-b4401bbf7084",
      "address": "achievement-kinds/decisions",
      "type": "achievement-kind",
      "name": "Decisions",
      "tagline": "A call that set what the work would be — what to build, in what order and what to stop.",
      "fields": {
        "id": "01a0b0b8-a108-7599-9272-b4401bbf7084",
        "source": "Local",
        "rank": "10"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "An achievement whose claim is the choice itself: a ranking agreed, a roadmap rewritten, a feature retired, a direction someone had to be talked into. What makes it this kind is that somebody else could have carried it out once the call was made.\n\nCarrying it out is Delivery, even where the same person did both, and what came of it is Results. A bullet that decided and built in one sentence is filed by whichever half the entry would be poorer without.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/achievement-kinds/decisions.md"
    },
    {
      "id": "01a0b0b8-a108-7e20-8c94-a5323dc3e63b",
      "address": "achievement-kinds/delivery",
      "type": "achievement-kind",
      "name": "Delivery",
      "tagline": "Something built, changed or taken apart, and in the hands of the people it was for.",
      "fields": {
        "id": "01a0b0b8-a108-7e20-8c94-a5323dc3e63b",
        "source": "Local",
        "rank": "20"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "An achievement whose claim is the work done: a system replaced, a service split, a migration run, a process put in place. It names what changed and who has it now.\n\nChoosing what to build is Decisions. What the change turned out to be worth — a measured effect, a finding, an outcome still owed — is Results, and it goes there even where one sentence could carry both.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/achievement-kinds/delivery.md"
    },
    {
      "id": "01a0b0b8-a108-7db9-b6d4-ab3e08e2c1c8",
      "address": "achievement-kinds/results",
      "type": "achievement-kind",
      "name": "Results",
      "tagline": "What came of the work — an effect measured, a finding established or an outcome still owed.",
      "fields": {
        "id": "01a0b0b8-a108-7db9-b6d4-ab3e08e2c1c8",
        "source": "Local",
        "rank": "40"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "An achievement whose claim is the consequence rather than the act: what changed because the work was done, what it turned out to show, and what it has not delivered yet. An entry's honest unfinished business is this kind, because it is an outcome like any other.\n\nThe work that produced the result is Delivery, and the call that aimed it is Decisions. The result is filed apart from both, so a reader looking for what came of a period finds it in the same place in every entry.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/achievement-kinds/results.md"
    },
    {
      "id": "01a0b0b8-a108-7a00-8d86-e683919c26ba",
      "address": "achievement-kinds/sharing",
      "type": "achievement-kind",
      "name": "Sharing",
      "tagline": "What was learned, handed to people outside the work — a talk, a written case, a session taught.",
      "fields": {
        "id": "01a0b0b8-a108-7a00-8d86-e683919c26ba",
        "source": "Local",
        "rank": "30"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "An achievement whose claim is that people outside the work now know something: a conference talk, a published case, a workshop for another team. The audience is the point of the bullet and the bullet names it.\n\nExplaining a decision to the people who had to accept it is part of Decisions, not this. A talk about work done elsewhere is this kind even when the entry exists only for the talk.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/achievement-kinds/sharing.md"
    },
    {
      "id": "01a0d907-1478-7032-8b40-57789e97c388",
      "address": "brand",
      "type": "brand",
      "name": "Beacon",
      "tagline": "An invoice carrying this name can be read without calling us, and everything else we put the name on is held to the same test.",
      "fields": {
        "id": "01a0d907-1478-7032-8b40-57789e97c388",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "Mark",
          "text": "The mark is a lit beacon, a bar with a flame above it, set in the accent color on the ground, and its master is `mark.svg` in the design repository; every render, on an invoice, on the console, on a tile a host is handed, is made from that file and never redrawn.\n\n- The flame is never separated from the bar: the bar is what the light stands on.\n- Clear space around the mark is the height of the bar on every side.\n- The mark sits on the ground color or on white, and on nothing else.\n- Where a render carries values other than the tokens', the tokens are the master and the render follows.",
          "tables": []
        },
        {
          "heading": "Color",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Name",
                "Means",
                "Never"
              ],
              "rows": [
                [
                  "`ground`",
                  "The page: what everything else sits on",
                  "A fill on anything that is not the page"
                ],
                [
                  "`ink`",
                  "What is read: body text and the figures on an invoice",
                  "A decorative element"
                ],
                [
                  "`accent`",
                  "What can be acted on: a link, a button, the mark",
                  "A figure, which would read as clickable"
                ],
                [
                  "`signal`",
                  "Something the reader has to see before going on: a correction, a dispute",
                  "Emphasis on a sentence that is merely important"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Name",
              "Means",
              "Never"
            ],
            "rows": [
              [
                "`ground`",
                "The page: what everything else sits on",
                "A fill on anything that is not the page"
              ],
              [
                "`ink`",
                "What is read: body text and the figures on an invoice",
                "A decorative element"
              ],
              [
                "`accent`",
                "What can be acted on: a link, a button, the mark",
                "A figure, which would read as clickable"
              ],
              [
                "`signal`",
                "Something the reader has to see before going on: a correction, a dispute",
                "Emphasis on a sentence that is merely important"
              ]
            ]
          }
        },
        {
          "heading": "Typography",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Face",
                "Job"
              ],
              "rows": [
                [
                  "Source Sans",
                  "Prose: the console and every page"
                ],
                [
                  "Source Code",
                  "Figures: every amount on an invoice and every identifier, so a column lines up"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Face",
              "Job"
            ],
            "rows": [
              [
                "Source Sans",
                "Prose: the console and every page"
              ],
              [
                "Source Code",
                "Figures: every amount on an invoice and every identifier, so a column lines up"
              ]
            ]
          }
        },
        {
          "heading": "Voice",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Trait",
                "Means",
                "Never"
              ],
              "rows": [
                [
                  "Plain",
                  "We say what a charge is in the words the customer used when they agreed to it",
                  "A term the contract does not use"
                ],
                [
                  "Shown",
                  "We claim what the invoice shows, and the invoice shows how each number was reached",
                  "A total with no line under it"
                ],
                [
                  "Owned",
                  "We say what we got wrong before we say what we fixed",
                  "A correction written as if nothing had been wrong"
                ],
                [
                  "Short",
                  "We write the sentence a customer reads on a phone at the end of a month",
                  "A paragraph where a line would do"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Trait",
              "Means",
              "Never"
            ],
            "rows": [
              [
                "Plain",
                "We say what a charge is in the words the customer used when they agreed to it",
                "A term the contract does not use"
              ],
              [
                "Shown",
                "We claim what the invoice shows, and the invoice shows how each number was reached",
                "A total with no line under it"
              ],
              [
                "Owned",
                "We say what we got wrong before we say what we fixed",
                "A correction written as if nothing had been wrong"
              ],
              [
                "Short",
                "We write the sentence a customer reads on a phone at the end of a month",
                "A paragraph where a line would do"
              ]
            ]
          }
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Design tokens",
                  "https://github.example.invalid/beacon-systems/design/blob/main/tokens.json"
                ],
                [
                  "Mark",
                  "https://github.example.invalid/beacon-systems/design/blob/main/mark.svg"
                ],
                [
                  "Rulebook of the voice",
                  "https://github.example.invalid/beacon-systems/handbook/blob/main/writing.md"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Design tokens",
                "https://github.example.invalid/beacon-systems/design/blob/main/tokens.json"
              ],
              [
                "Mark",
                "https://github.example.invalid/beacon-systems/design/blob/main/mark.svg"
              ],
              [
                "Rulebook of the voice",
                "https://github.example.invalid/beacon-systems/handbook/blob/main/writing.md"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/brand.md"
    },
    {
      "id": "01a0c25c-19f8-72d5-bef8-bc1574eb03f4",
      "address": "concepts/billing-period",
      "type": "concept",
      "name": "Billing period",
      "tagline": "The stretch of time one invoice charges for, set by the contract, with a first and a last day.",
      "fields": {
        "id": "01a0c25c-19f8-72d5-bef8-bc1574eb03f4",
        "source": "Local",
        "domain": "Invoicing"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/concepts/billing-period.md"
    },
    {
      "id": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
      "address": "concepts/contract",
      "type": "concept",
      "name": "Contract",
      "tagline": "The terms a customer agreed to buy under, in the words both sides signed, from the day they take effect until they are replaced or ended.",
      "fields": {
        "id": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
        "source": "Local",
        "domain": "Pricing"
      },
      "sections": [
        {
          "heading": "Relations",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Concept",
                "Cardinality",
                "As"
              ],
              "rows": [
                [
                  "Customer",
                  "one",
                  "signing customer"
                ],
                [
                  "Customer",
                  "maybe one",
                  "paying customer"
                ],
                [
                  "Pricing rule",
                  "one to many",
                  "terms"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Concept",
              "Cardinality",
              "As"
            ],
            "rows": [
              [
                "Customer",
                "one",
                "signing customer"
              ],
              [
                "Customer",
                "maybe one",
                "paying customer"
              ],
              [
                "Pricing rule",
                "one to many",
                "terms"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/concepts/contract.md"
    },
    {
      "id": "01a0c25c-19f8-76b2-92d0-ed85a91331b4",
      "address": "concepts/credit-note",
      "type": "concept",
      "name": "Credit note",
      "tagline": "A document that lowers what a customer owes on an invoice already issued, leaving that invoice as it was.",
      "fields": {
        "id": "01a0c25c-19f8-76b2-92d0-ed85a91331b4",
        "source": "Local",
        "domain": "Invoicing"
      },
      "sections": [
        {
          "heading": "Also known as",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Term",
                "Kind"
              ],
              "rows": [
                [
                  "CN",
                  "abbreviation"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Term",
              "Kind"
            ],
            "rows": [
              [
                "CN",
                "abbreviation"
              ]
            ]
          }
        },
        {
          "heading": "Relations",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Concept",
                "Cardinality",
                "As"
              ],
              "rows": [
                [
                  "Invoice",
                  "one",
                  "corrected invoice"
                ],
                [
                  "Invoice line",
                  "one to many",
                  "lines"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Concept",
              "Cardinality",
              "As"
            ],
            "rows": [
              [
                "Invoice",
                "one",
                "corrected invoice"
              ],
              [
                "Invoice line",
                "one to many",
                "lines"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/concepts/credit-note.md"
    },
    {
      "id": "01a0c25c-19f8-716b-846a-8c5f00818198",
      "address": "concepts/customer",
      "type": "concept",
      "name": "Customer",
      "tagline": "A person or company that has agreed to a contract or pays under one — the party an invoice is addressed to, never the company that issues it.",
      "fields": {
        "id": "01a0c25c-19f8-716b-846a-8c5f00818198",
        "source": "Local",
        "domain": "Pricing"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/concepts/customer.md"
    },
    {
      "id": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "address": "concepts/invoice",
      "type": "concept",
      "name": "Invoice",
      "tagline": "What one customer is asked to pay for one billing period, as a document that stays as it was issued.",
      "fields": {
        "id": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
        "source": "Local",
        "domain": "Invoicing"
      },
      "sections": [
        {
          "heading": "Also known as",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Term",
                "Kind"
              ],
              "rows": [
                [
                  "Rechnung",
                  "translation"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Term",
              "Kind"
            ],
            "rows": [
              [
                "Rechnung",
                "translation"
              ]
            ]
          }
        },
        {
          "heading": "Relations",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Concept",
                "Cardinality",
                "As"
              ],
              "rows": [
                [
                  "Customer",
                  "one",
                  "billed customer"
                ],
                [
                  "Billing period",
                  "one",
                  ""
                ],
                [
                  "Invoice line",
                  "one to many",
                  "lines"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Concept",
              "Cardinality",
              "As"
            ],
            "rows": [
              [
                "Customer",
                "one",
                "billed customer"
              ],
              [
                "Billing period",
                "one",
                ""
              ],
              [
                "Invoice line",
                "one to many",
                "lines"
              ]
            ]
          }
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "A standard",
                  "https://standards.example.invalid/e-invoicing/core-invoice"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "A standard",
                "https://standards.example.invalid/e-invoicing/core-invoice"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/concepts/invoice.md"
    },
    {
      "id": "01a0c25c-19f8-788e-8b44-ada689a92da4",
      "address": "concepts/invoice-line",
      "type": "concept",
      "name": "Invoice line",
      "tagline": "One charge on an invoice: an amount, and the reason for that amount in terms the customer agreed to.",
      "fields": {
        "id": "01a0c25c-19f8-788e-8b44-ada689a92da4",
        "source": "Local",
        "domain": "Invoicing"
      },
      "sections": [
        {
          "heading": "Relations",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Concept",
                "Cardinality",
                "As"
              ],
              "rows": [
                [
                  "Pricing rule",
                  "one",
                  "rule"
                ],
                [
                  "Usage record",
                  "many",
                  "usage read"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Concept",
              "Cardinality",
              "As"
            ],
            "rows": [
              [
                "Pricing rule",
                "one",
                "rule"
              ],
              [
                "Usage record",
                "many",
                "usage read"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/concepts/invoice-line.md"
    },
    {
      "id": "01a0c25c-19f8-7980-a019-46b608819370",
      "address": "concepts/pricing-rule",
      "type": "concept",
      "name": "Pricing rule",
      "tagline": "One term of a contract in a form that can be applied: what it charges for, at what price and under which conditions, named as the contract names it.",
      "fields": {
        "id": "01a0c25c-19f8-7980-a019-46b608819370",
        "source": "Local",
        "domain": "Pricing"
      },
      "sections": [
        {
          "heading": "Also known as",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Term",
                "Kind"
              ],
              "rows": [
                [
                  "Price plan",
                  "deprecated"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Term",
              "Kind"
            ],
            "rows": [
              [
                "Price plan",
                "deprecated"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/concepts/pricing-rule.md"
    },
    {
      "id": "01a0c25c-19f8-7aa8-92f8-8cb84ce85714",
      "address": "concepts/usage-record",
      "type": "concept",
      "name": "Usage record",
      "tagline": "One thing a customer used that a contract charges for — a call made, a seat held, a gigabyte stored — with when it happened and how much of it there was.",
      "fields": {
        "id": "01a0c25c-19f8-7aa8-92f8-8cb84ce85714",
        "source": "Local",
        "domain": "Pricing"
      },
      "sections": [
        {
          "heading": "Also known as",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Term",
                "Kind"
              ],
              "rows": [
                [
                  "Usage event",
                  "synonym"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Term",
              "Kind"
            ],
            "rows": [
              [
                "Usage event",
                "synonym"
              ]
            ]
          }
        },
        {
          "heading": "Relations",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Concept",
                "Cardinality",
                "As"
              ],
              "rows": [
                [
                  "Contract",
                  "one",
                  ""
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Concept",
              "Cardinality",
              "As"
            ],
            "rows": [
              [
                "Contract",
                "one",
                ""
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/concepts/usage-record.md"
    },
    {
      "id": "01a0fb1b-b534-79e9-a261-eda408034315",
      "address": "controls/main-requires-a-review",
      "type": "control",
      "name": "Main requires a review",
      "tagline": "The default branch refuses a merge that carries no approving review from someone other than its author.",
      "fields": {
        "id": "01a0fb1b-b534-79e9-a261-eda408034315",
        "source": "Local",
        "kind": "preventive",
        "mode": "automated",
        "mitigates": [
          "An unreviewed change reaches customers"
        ],
        "enforces": [
          "A change is reviewed before it ships"
        ]
      },
      "sections": [
        {
          "heading": "How it is carried out",
          "text": "A branch protection rule on the default branch requires one approving review before any pull request merges, and dismisses an approval when new commits are pushed after it.",
          "tables": []
        },
        {
          "heading": "Applies to",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Type",
                "Entity",
                "Owner"
              ],
              "rows": [
                [
                  "process",
                  "Delivery",
                  ""
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Type",
              "Entity",
              "Owner"
            ],
            "rows": [
              [
                "process",
                "Delivery",
                ""
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/controls/main-requires-a-review.md"
    },
    {
      "id": "01a1226b-c617-7a13-9570-6f418579c6dc",
      "address": "data-objects/invoice-record",
      "type": "data-object",
      "name": "Invoice record",
      "tagline": "The row set the Billing service writes for each issued invoice, with its lines and totals, kept in the billing database.",
      "fields": {
        "id": "01a1226b-c617-7a13-9570-6f418579c6dc",
        "source": "Local",
        "realizes": "Invoice"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/data-objects/invoice-record.md"
    },
    {
      "id": "01a10523-72fd-716a-adde-7b185258fad6",
      "address": "data-processors/lantern-mail",
      "type": "data-processor",
      "name": "Lantern Mail",
      "tagline": "Sends each customer's invoice to its billing contact by email.",
      "fields": {
        "id": "01a10523-72fd-716a-adde-7b185258fad6",
        "source": "Local",
        "legal-name": "Lantern Mail AG",
        "countries": [
          "CH"
        ],
        "retention": "Thirty days after delivery, then deleted",
        "sub-processor-authorization": "specific"
      },
      "sections": [
        {
          "heading": "Transfers",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Jurisdiction",
                "Safeguard"
              ],
              "rows": [
                [
                  "eu",
                  "Adequacy decision for Switzerland"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Jurisdiction",
              "Safeguard"
            ],
            "rows": [
              [
                "eu",
                "Adequacy decision for Switzerland"
              ]
            ]
          }
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Data processing agreement",
                  "https://lantern.example/legal/dpa"
                ],
                [
                  "Sub-processor list",
                  "https://lantern.example/legal/subprocessors"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Data processing agreement",
                "https://lantern.example/legal/dpa"
              ],
              [
                "Sub-processor list",
                "https://lantern.example/legal/subprocessors"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/data-processors/lantern-mail.md"
    },
    {
      "id": "01a0dd35-9358-72cf-a4bd-360593010506",
      "address": "decision-kinds/architecture",
      "type": "decision-kind",
      "name": "Architecture",
      "tagline": "A call about how the product is built: what is one service and what is two, what is stored and what is derived, what talks to what.",
      "fields": {
        "id": "01a0dd35-9358-72cf-a4bd-360593010506",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A decision whose subject is the shape of the system rather than what it does for a customer: a boundary drawn, a store chosen, a protocol fixed. It is this kind even when a customer feels the result, because what was decided is the structure.\n\nA call about what the product does, which feature ships and for whom, is Product. A call that only picks a library inside a boundary already drawn is nobody's decision to record.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/decision-kinds/architecture.md"
    },
    {
      "id": "01a0dd35-9358-70ac-a19f-441d4e7e8183",
      "address": "decision-kinds/product",
      "type": "decision-kind",
      "name": "Product",
      "tagline": "A call about what the product does and for whom: which capability ships, which customer it is for, what it will not do.",
      "fields": {
        "id": "01a0dd35-9358-70ac-a19f-441d4e7e8183",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A decision whose subject is the customer's side of the product: a feature taken on or refused, a market chosen, a promise made on the invoice page. It is this kind even when it forces a change in the structure, because what was decided is the offer.\n\nHow the system that carries it is built is Architecture. Which of two ways to build the same offer is chosen is Architecture too.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/decision-kinds/product.md"
    },
    {
      "id": "01a0dd35-9358-7c8f-a3e8-0a4b022e70b7",
      "address": "decision-statuses/revised",
      "type": "decision-status",
      "name": "Revised",
      "tagline": "A later decision replaced this call, and the call is read through that decision.",
      "fields": {
        "id": "01a0dd35-9358-7c8f-a3e8-0a4b022e70b7",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A decision is Revised when another decision names it in `supersedes`. Its file stays as it was written, because what was decided on that date does not stop having happened; what holds now is the decision that replaced it, and a reader who arrives here follows the reference forward. A Revised decision never returns to Standing: a company that changes its mind again makes a third decision.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/decision-statuses/revised.md"
    },
    {
      "id": "01a0dd35-9358-7359-89d0-a3a4afb3d24d",
      "address": "decision-statuses/standing",
      "type": "decision-status",
      "name": "Standing",
      "tagline": "The call holds as written, and the work follows it.",
      "fields": {
        "id": "01a0dd35-9358-7359-89d0-a3a4afb3d24d",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A decision is Standing from the day it was made until a later decision replaces it. While it stands, a reader acts on it as written and re-opens it only by making a decision that names it in `supersedes`. It leaves this state the day that later decision is made, and becomes Revised.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/decision-statuses/standing.md"
    },
    {
      "id": "01a0dd35-9358-7f34-b9f9-9c998df35ff1",
      "address": "decisions/2022-billing-leaves-the-monolith",
      "type": "decision",
      "name": "Billing leaves the monolith",
      "tagline": "We take billing out of the one service three teams edit and make it a service of its own, owned by one team, with the invoice as its boundary.",
      "fields": {
        "id": "01a0dd35-9358-7f34-b9f9-9c998df35ff1",
        "source": "Local",
        "decided": "2022-01",
        "kind": "Architecture",
        "status": "Standing",
        "by": "Backend Engineer",
        "upholds": [
          "Craftsmanship"
        ]
      },
      "sections": [
        {
          "heading": "The question",
          "text": "Three teams edited one service, and the second waited on the first to merge before the third could start. Invoice work queued behind pricing work that had nothing to do with it. The question was where to cut, and it had to be decided in January 2022 because the next quarter's invoice changes would otherwise be written into the same service and make the cut dearer.",
          "tables": []
        },
        {
          "heading": "Alternatives",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Option",
                "Why not"
              ],
              "rows": [
                [
                  "Keep one service and add a review rota",
                  "The wait moves from the merge to the review and stays a wait, and three teams still ship one thing."
                ],
                [
                  "Split by team rather than by domain",
                  "Three services that each hold part of billing would share the invoice, and every price change would cross all three."
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Option",
              "Why not"
            ],
            "rows": [
              [
                "Keep one service and add a review rota",
                "The wait moves from the merge to the review and stays a wait, and three teams still ship one thing."
              ],
              [
                "Split by team rather than by domain",
                "Three services that each hold part of billing would share the invoice, and every price change would cross all three."
              ]
            ]
          }
        },
        {
          "heading": "Why",
          "text": "The invoice is where the teams already stopped understanding each other's code, so it is the boundary that costs the least to draw and the most to leave. A service owned by one team can be released when that team is ready, which is the whole of what the second team was waiting for.",
          "tables": []
        },
        {
          "heading": "Consequences",
          "text": "Two services where there was one, each released by its own team, and a third split still owed to the third team. Every price change now crosses a boundary, which the pricing rules have to be written to survive. The call stays right as long as one team owns the whole invoice; the day two teams edit the billing service, the cut was in the wrong place.",
          "tables": []
        },
        {
          "heading": "Bears on",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Type",
                "Entity",
                "Owner",
                "How"
              ],
              "rows": [
                [
                  "experience",
                  "Splitting the billing domain",
                  "Mira Halvorsen",
                  "made it"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Type",
              "Entity",
              "Owner",
              "How"
            ],
            "rows": [
              [
                "experience",
                "Splitting the billing domain",
                "Mira Halvorsen",
                "made it"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/decisions/2022-billing-leaves-the-monolith.md"
    },
    {
      "id": "01a0c25c-19f8-79d2-898e-01b6da02bb29",
      "address": "domains/invoicing",
      "type": "domain",
      "name": "Invoicing",
      "tagline": "What a customer is asked to pay, for which period and on which document, and how a document already issued is corrected. What a term of a contract means, and the amount it produces, is left to Pricing.",
      "fields": {
        "id": "01a0c25c-19f8-79d2-898e-01b6da02bb29",
        "source": "Local"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/domains/invoicing.md"
    },
    {
      "id": "01a0c25c-19f8-70f4-803c-9899401b89dd",
      "address": "domains/pricing",
      "type": "domain",
      "name": "Pricing",
      "tagline": "What a customer agreed to pay for, and how each term of that agreement turns what they used into an amount. Which invoice an amount lands on, and when it is issued, is left to Invoicing.",
      "fields": {
        "id": "01a0c25c-19f8-70f4-803c-9899401b89dd",
        "source": "Local"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/domains/pricing.md"
    },
    {
      "id": "01a06385-9d00-7fff-ab77-615f9b902c2f",
      "address": "experience-kinds/community",
      "type": "experience-kind",
      "name": "Community",
      "tagline": "Work done in public — a talk, a seat, a working group, a published case.",
      "fields": {
        "id": "01a06385-9d00-7fff-ab77-615f9b902c2f",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A period whose output is addressed to people outside the organization paying for it: a conference talk, a board or committee seat, a standards or user group, a case study published under someone else's name. `organization` names the host — the conference, the group, the publisher — not an employer.\n\nA one-off writes `end` equal to `start`; a seat held over years does not. Both are this kind: what makes it community work is the audience, not the duration.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/experience-kinds/community.md"
    },
    {
      "id": "01a06385-9d00-7fa8-9e3b-5082c9904037",
      "address": "experience-kinds/education",
      "type": "experience-kind",
      "name": "Education",
      "tagline": "A degree, a certification, a course.",
      "fields": {
        "id": "01a06385-9d00-7fa8-9e3b-5082c9904037",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A period whose output is a qualification rather than a delivery. `organization` names the awarding body — the school, the certifying institute — which is the one case where the field does not name somewhere work was done.\n\nLearning that happened during a role is not this kind. Every role teaches something; what makes a period education is that the qualification is the point of it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/experience-kinds/education.md"
    },
    {
      "id": "01a06385-9d00-77bd-944c-8d4ba61288db",
      "address": "experience-kinds/project",
      "type": "experience-kind",
      "name": "Project",
      "tagline": "A delivery worth naming on its own, inside a role or beside one.",
      "fields": {
        "id": "01a06385-9d00-77bd-944c-8d4ba61288db",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A period defined by what it produced rather than by who it was spent with: a system, a migration, a launch. Client work and internal work alike. `organization` names the client, or the organization the work was done for when that differs from the employer.\n\nIt ends when the delivery does. A project that has no end and no deliverable is a role described by its current work.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/experience-kinds/project.md"
    },
    {
      "id": "01a06385-9d00-7cf7-8d01-185357324476",
      "address": "experience-kinds/role",
      "type": "experience-kind",
      "name": "Role",
      "tagline": "A position held in an organization — the employment history.",
      "fields": {
        "id": "01a06385-9d00-7cf7-8d01-185357324476",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A period spent working for an organization under an arrangement that outlasts any one piece of work: employment, a long-running contract, a partnership. `organization` names the employer.\n\nIt is not a delivery. What was built during a role belongs to a project, and a role that lists one delivery in its achievements is usually two periods written as one. The test is whether the period would have continued had the work changed: if it would, it is a role.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/experience-kinds/role.md"
    },
    {
      "id": "01a0c25c-19f8-7b2b-81c4-d2dd9f850e9c",
      "address": "features/billing-run",
      "type": "feature",
      "name": "Billing run",
      "tagline": "A finance team can close a billing period and have every invoice for it issued at once, the same whoever runs it.",
      "fields": {
        "id": "01a0c25c-19f8-7b2b-81c4-d2dd9f850e9c",
        "source": "Local",
        "products": [
          "Billing Console"
        ],
        "concepts": [
          "Billing period",
          "Contract",
          "Invoice"
        ]
      },
      "sections": [
        {
          "heading": "Description",
          "text": "Closing a period applies every contract’s rules to the usage recorded in it and issues one invoice per customer, and running it twice on the same inputs issues the same invoices. It ends when the invoices are issued. Sending reminders and collecting payment come after it and are not part of it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/features/billing-run.md"
    },
    {
      "id": "01a0c25c-19f8-775c-bdc0-cbdf0b182b2d",
      "address": "features/charge-explanation",
      "type": "feature",
      "name": "Charge explanation",
      "tagline": "Anyone reading an invoice can tell how each charge was reached, in the words of the contract they agreed to.",
      "fields": {
        "id": "01a0c25c-19f8-775c-bdc0-cbdf0b182b2d",
        "source": "Local",
        "products": [
          "Invoice Page",
          "Billing Console"
        ],
        "concepts": [
          "Invoice line",
          "Pricing rule",
          "Usage record"
        ]
      },
      "sections": [
        {
          "heading": "Description",
          "text": "Every line on an invoice carries the term of the contract that produced it and the usage that term was applied to, and the explanation beside the line is rendered from both. The person paying reads it where they read the invoice, and the finance team that issued it reads the same words when a question reaches them. It explains the arithmetic and stops there: whether the contract says what the payer believes it says is a question for the contract, and nothing here answers it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/features/charge-explanation.md"
    },
    {
      "id": "01a0c25c-19f8-776c-ba20-82b391bc6e7a",
      "address": "features/credit-notes",
      "type": "feature",
      "name": "Credit notes",
      "tagline": "A finance team can correct an invoice already sent, and the payer can read what changed and why.",
      "fields": {
        "id": "01a0c25c-19f8-776c-ba20-82b391bc6e7a",
        "source": "Local",
        "products": [
          "Billing Console",
          "Invoice Page"
        ],
        "concepts": [
          "Credit note",
          "Invoice"
        ]
      },
      "sections": [
        {
          "heading": "Description",
          "text": "A credit note is issued against an invoice when the usage it read or the rule it applied turns out wrong, and it is computed from the corrected usage or the corrected rule, so every line on it explains itself the way an invoice line does. It never changes the invoice it corrects, and it carries no amount typed in by hand.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/features/credit-notes.md"
    },
    {
      "id": "01a0c25c-19f8-77ee-8656-f16c523bdc15",
      "address": "features/invoice-download",
      "type": "feature",
      "name": "Invoice download",
      "tagline": "Whoever pays an invoice can keep a copy of it in their own books, exactly as it was issued.",
      "fields": {
        "id": "01a0c25c-19f8-77ee-8656-f16c523bdc15",
        "source": "Local",
        "products": [
          "Invoice Page"
        ]
      },
      "sections": [
        {
          "heading": "Description",
          "text": "The copy is a file holding the invoice as issued, with every line and its explanation, and it matches what the page shows on the day it was issued and on every day after. It is a copy and nothing more: paying, disputing and asking a question about the invoice happen elsewhere.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Documentation",
                  "https://docs.example.invalid/beacon/invoice-download"
                ],
                [
                  "A place to use it",
                  "https://beacon.example/invoices/sample"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Documentation",
                "https://docs.example.invalid/beacon/invoice-download"
              ],
              [
                "A place to use it",
                "https://beacon.example/invoices/sample"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/features/invoice-download.md"
    },
    {
      "id": "01a0c25c-19f8-7b11-9b56-2c95a9f92677",
      "address": "features/pricing-rules",
      "type": "feature",
      "name": "Pricing rules",
      "tagline": "A finance team can write each term of a contract as a rule every billing run applies, named as the contract names it.",
      "fields": {
        "id": "01a0c25c-19f8-7b11-9b56-2c95a9f92677",
        "source": "Local",
        "products": [
          "Billing Console"
        ],
        "concepts": [
          "Contract",
          "Pricing rule"
        ]
      },
      "sections": [
        {
          "heading": "Description",
          "text": "A rule states what a term charges for, at what price and under which conditions, and it belongs to the contract it was written from, so a new version of the contract brings new versions of its rules. It records prices and never proposes them. A term the rules cannot express is not approximated: the term is renegotiated or the rules grow, and until one of those happens the term is not billed.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/features/pricing-rules.md"
    },
    {
      "id": "01a0c25c-19f8-7f6b-8c83-ceaa8f5973f9",
      "address": "features/usage-reporting",
      "type": "feature",
      "name": "Usage reporting",
      "tagline": "Usage can be reported by the systems that see it happen, as it happens, so nobody types it in at the end of the month.",
      "fields": {
        "id": "01a0c25c-19f8-7f6b-8c83-ceaa8f5973f9",
        "source": "Local",
        "products": [
          "Usage API"
        ],
        "concepts": [
          "Usage record",
          "Contract"
        ]
      },
      "sections": [
        {
          "heading": "Description",
          "text": "Each report becomes a usage record under the contract it counts against, kept as it was sent. It records and does not correct: a report sent wrong is answered by a second report that offsets it, never by editing the first, so what a billing run read can always be read again.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/features/usage-reporting.md"
    },
    {
      "id": "01a1152c-379b-73e1-b7e3-e6cc8ff183be",
      "address": "group-kinds/department",
      "type": "group-kind",
      "name": "Department",
      "tagline": "A standing unit of the company that hires, appraises and sets objectives for the people in it.",
      "fields": {
        "id": "01a1152c-379b-73e1-b7e3-e6cc8ff183be",
        "source": "Local",
        "in-line": "yes"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A department is a standing unit that people belong to, and it lasts as long as the company has the work. A team gathered for a piece of work is not one.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/group-kinds/department.md"
    },
    {
      "id": "01a11fcc-a433-7d5d-8f95-954125a2abe8",
      "address": "group-kinds/staff-unit",
      "type": "group-kind",
      "name": "Staff Unit",
      "tagline": "A unit that serves a head from beside it, preparing and checking what the head decides, and commands nothing outside itself.",
      "fields": {
        "id": "01a11fcc-a433-7d5d-8f95-954125a2abe8",
        "source": "Local",
        "in-line": "yes",
        "staff": "yes"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A staff unit advises the head of the unit it is attached to, as Legal advises Beacon's managing director, and its people have it as their unit. A department that runs a part of the business is not one.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/group-kinds/staff-unit.md"
    },
    {
      "id": "01a1152c-37cd-72c7-9330-b457a52f24ab",
      "address": "group-kinds/team",
      "type": "group-kind",
      "name": "Team",
      "tagline": "A group gathered for a piece of work from people who already sit in a department.",
      "fields": {
        "id": "01a1152c-37cd-72c7-9330-b457a52f24ab",
        "source": "Local",
        "in-line": "no"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A team is formed for work and disbanded after it, and the people in it keep the department they already sit in. A standing unit is not one.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/group-kinds/team.md"
    },
    {
      "id": "01a1152c-3863-79ba-8430-755ed2dec49c",
      "address": "groups/billing-run-team",
      "type": "group",
      "name": "Billing Run Team",
      "tagline": "Ships the billing run, the feature that closes a period and issues every invoice for it.",
      "fields": {
        "id": "01a1152c-3863-79ba-8430-755ed2dec49c",
        "source": "Local",
        "kind": "Team",
        "rank": "90",
        "start": "2026-09"
      },
      "sections": [
        {
          "heading": "People",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Profile",
                "Job",
                "Place"
              ],
              "rows": [
                [
                  "Mira Halvorsen",
                  "Backend Engineer",
                  "Lead"
                ],
                [
                  "Tomas Reyes",
                  "Head of Product",
                  "Member"
                ],
                [
                  "AI Agent",
                  "",
                  "Member"
                ],
                [
                  "Build Agent",
                  "",
                  "Member"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Profile",
              "Job",
              "Place"
            ],
            "rows": [
              [
                "Mira Halvorsen",
                "Backend Engineer",
                "Lead"
              ],
              [
                "Tomas Reyes",
                "Head of Product",
                "Member"
              ],
              [
                "AI Agent",
                "",
                "Member"
              ],
              [
                "Build Agent",
                "",
                "Member"
              ]
            ]
          }
        },
        {
          "heading": "Direction",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Agent",
                "Directed by"
              ],
              "rows": [
                [
                  "Build Agent",
                  "Mira Halvorsen"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Agent",
              "Directed by"
            ],
            "rows": [
              [
                "Build Agent",
                "Mira Halvorsen"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/groups/billing-run-team.md",
      "stamp": {
        "kind": null,
        "start": "2026-09",
        "end": null
      }
    },
    {
      "id": "01a1152c-3830-7c3f-b3ad-3761dc40528c",
      "address": "groups/engineering",
      "type": "group",
      "name": "Engineering",
      "tagline": "Builds and runs the billing platform.",
      "fields": {
        "id": "01a1152c-3830-7c3f-b3ad-3761dc40528c",
        "source": "Local",
        "kind": "Department",
        "rank": "20",
        "part-of": "Management",
        "guides": [
          "Backend Engineer",
          "Product Engineer"
        ]
      },
      "sections": [
        {
          "heading": "Responsibilities",
          "text": "- Keeps the billing run reproducible: the same inputs issue the same invoices.\n- Keeps every charge on an invoice traceable to what the customer agreed to.\n- Reviews every change before it ships.",
          "tables": []
        },
        {
          "heading": "People",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Profile",
                "Job",
                "Place"
              ],
              "rows": [
                [
                  "Mira Halvorsen",
                  "Engineering Lead",
                  "Lead"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Profile",
              "Job",
              "Place"
            ],
            "rows": [
              [
                "Mira Halvorsen",
                "Engineering Lead",
                "Lead"
              ]
            ]
          }
        },
        {
          "heading": "Openings",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Job",
                "Place",
                "Count",
                "Since"
              ],
              "rows": [
                [
                  "Backend Engineer",
                  "Member",
                  "2",
                  "2026-11-01"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Job",
              "Place",
              "Count",
              "Since"
            ],
            "rows": [
              [
                "Backend Engineer",
                "Member",
                "2",
                "2026-11-01"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/groups/engineering.md"
    },
    {
      "id": "01a11fcc-a579-7c38-88e9-0784850f3e77",
      "address": "groups/legal",
      "type": "group",
      "name": "Legal",
      "tagline": "Advises Beacon's managing director on the law the billing platform is held to, from contracts to invoicing rules.",
      "fields": {
        "id": "01a11fcc-a579-7c38-88e9-0784850f3e77",
        "source": "Local",
        "kind": "Staff Unit",
        "rank": "15",
        "part-of": "Management"
      },
      "sections": [
        {
          "heading": "Responsibilities",
          "text": "- Reviews every customer contract before it is signed.\n- Keeps the invoice format within the invoicing rules of each country Beacon bills in.",
          "tables": []
        },
        {
          "heading": "Openings",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Job",
                "Place",
                "Count",
                "Since"
              ],
              "rows": [
                [
                  "Legal Counsel",
                  "Lead",
                  "",
                  "2026-12-01"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Job",
              "Place",
              "Count",
              "Since"
            ],
            "rows": [
              [
                "Legal Counsel",
                "Lead",
                "",
                "2026-12-01"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/groups/legal.md"
    },
    {
      "id": "01a1152c-3800-7600-a961-2992dc0f3e2d",
      "address": "groups/management",
      "type": "group",
      "name": "Management",
      "tagline": "The top of Beacon Systems' line, where the company's direction is set and the departments answer.",
      "fields": {
        "id": "01a1152c-3800-7600-a961-2992dc0f3e2d",
        "source": "Local",
        "kind": "Department",
        "rank": "10"
      },
      "sections": [
        {
          "heading": "People",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Profile",
                "Job",
                "Place"
              ],
              "rows": [
                [
                  "Ines Marchetti",
                  "Managing Director",
                  "Lead"
                ],
                [
                  "Jonas Whitcombe",
                  "Executive Assistant",
                  "Staff"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Profile",
              "Job",
              "Place"
            ],
            "rows": [
              [
                "Ines Marchetti",
                "Managing Director",
                "Lead"
              ],
              [
                "Jonas Whitcombe",
                "Executive Assistant",
                "Staff"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/groups/management.md"
    },
    {
      "id": "01a11732-685a-77fa-b329-a53090054f37",
      "address": "groups/product",
      "type": "group",
      "name": "Product",
      "tagline": "Decides what Beacon's products and features do for the people who use them, and builds the features it decides on.",
      "fields": {
        "id": "01a11732-685a-77fa-b329-a53090054f37",
        "source": "Local",
        "kind": "Department",
        "rank": "30",
        "part-of": "Management"
      },
      "sections": [
        {
          "heading": "Responsibilities",
          "text": "- Keeps every feature tied to a customer need: the billing run for the finance team that closes a period, the charge explanation for the customer who asks why a line is on an invoice.\n- Keeps the Billing Console, the Invoice Page and the Usage API each answering to one audience.\n- Builds product features to the standard Engineering sets.",
          "tables": []
        },
        {
          "heading": "People",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Profile",
                "Job",
                "Place"
              ],
              "rows": [
                [
                  "Tomas Reyes",
                  "Head of Product",
                  "Lead"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Profile",
              "Job",
              "Place"
            ],
            "rows": [
              [
                "Tomas Reyes",
                "Head of Product",
                "Lead"
              ]
            ]
          }
        },
        {
          "heading": "Openings",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Job",
                "Place",
                "Count",
                "Since"
              ],
              "rows": [
                [
                  "Head of Product",
                  "Lead",
                  "",
                  "2027-01-01"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Job",
              "Place",
              "Count",
              "Since"
            ],
            "rows": [
              [
                "Head of Product",
                "Lead",
                "",
                "2027-01-01"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/groups/product.md"
    },
    {
      "id": "01a0f10b-91d2-7004-96e6-daffc70ee0c1",
      "address": "identifier",
      "type": "identifier",
      "name": "Entity id",
      "tagline": "An entity keeps this id through every rename and every language it is written in, so whatever holds one outside the model still finds the entity.",
      "fields": {
        "id": "01a0f10b-91d2-7004-96e6-daffc70ee0c1",
        "source": "Google Workspace",
        "format": "uuidv7"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/identifier.md"
    },
    {
      "id": "01a04c7b-6b80-7021-b82c-bfedcb24827f",
      "address": "identity",
      "type": "identity",
      "name": "Beacon Systems",
      "tagline": "Billing software for companies whose pricing outgrew their spreadsheets.",
      "fields": {
        "id": "01a04c7b-6b80-7021-b82c-bfedcb24827f",
        "source": "Google Workspace",
        "email": "hello@beacon.example",
        "location": "Rotterdam, Netherlands",
        "url": "https://beacon.example"
      },
      "sections": [
        {
          "heading": "What it is",
          "text": "We build and run the billing platform our customers invoice their own customers through. Two teams, one platform, and a domain we are still splitting into the shapes it wants to be in.\n\nWe sell to companies at the point where pricing has become a system rather than a page — usage, tiers, credits, corrections — and where getting an invoice wrong costs more than the invoice.",
          "tables": []
        },
        {
          "heading": "Also at",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Where",
                "URL"
              ],
              "rows": [
                [
                  "GitHub",
                  "https://github.example.invalid/beacon-systems"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Where",
              "URL"
            ],
            "rows": [
              [
                "GitHub",
                "https://github.example.invalid/beacon-systems"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/identity.md"
    },
    {
      "id": "01a1199f-df7d-7d7d-90ae-03cd52174cbf",
      "address": "jobs/backend-engineer",
      "type": "job",
      "name": "Backend Engineer",
      "tagline": "Builds and runs the services the billing platform stands on, and answers for them when they are not right.",
      "fields": {
        "id": "01a1199f-df7d-7d7d-90ae-03cd52174cbf",
        "source": "Local",
        "seats": [
          "Backend Engineer"
        ]
      },
      "sections": [
        {
          "heading": "Responsibilities",
          "text": "- Keeps the services the product runs on correct, and takes a turn on the pager for what ships.\n- Keeps each change small enough that a reviewer reads it in one sitting.\n- Covers each change with the tests that show the invoice is still right.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/jobs/backend-engineer.md"
    },
    {
      "id": "01a1199f-dfc5-7f98-9cf4-f46d07e4ac11",
      "address": "jobs/engineering-lead",
      "type": "job",
      "name": "Engineering Lead",
      "tagline": "Leads Engineering and sets the standard every engineer works to, wherever they sit.",
      "fields": {
        "id": "01a1199f-dfc5-7f98-9cf4-f46d07e4ac11",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "Responsibilities",
          "text": "- Sets the standard for how engineering work is done and reviewed.\n- Keeps Engineering meeting it: the billing run reproducible, every charge traceable.\n- Keeps the standard for a change whatever the date, and gives it to every engineer in another department.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/jobs/engineering-lead.md"
    },
    {
      "id": "01a11fcc-a50a-7011-b85b-e24a6436103d",
      "address": "jobs/executive-assistant",
      "type": "job",
      "name": "Executive Assistant",
      "tagline": "Keeps the managing director's calendar, papers and decisions in order, so that what is decided is also prepared and followed up.",
      "fields": {
        "id": "01a11fcc-a50a-7011-b85b-e24a6436103d",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "Responsibilities",
          "text": "- Prepares the papers for each leadership meeting and sends them before it.\n- Records what the meeting decided and follows each decision up with the person it names.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/jobs/executive-assistant.md"
    },
    {
      "id": "01a1199f-e00b-7a2a-9466-9f6a96ffe718",
      "address": "jobs/head-of-product",
      "type": "job",
      "name": "Head of Product",
      "tagline": "Leads Product and answers for what is built and why.",
      "fields": {
        "id": "01a1199f-e00b-7a2a-9466-9f6a96ffe718",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "Responsibilities",
          "text": "- Decides what is built next and what is not, each with the customer need it answers.\n- Takes what engineering says a feature costs before committing it to a date.\n- Leaves how a feature is built to the engineering standard.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/jobs/head-of-product.md"
    },
    {
      "id": "01a11fcc-a49f-7fff-ba50-805be7c54c60",
      "address": "jobs/legal-counsel",
      "type": "job",
      "name": "Legal Counsel",
      "tagline": "Advises Beacon on the law its billing platform is held to, and answers for what the company signs.",
      "fields": {
        "id": "01a11fcc-a49f-7fff-ba50-805be7c54c60",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "Responsibilities",
          "text": "- Reads every customer contract before it is signed and says what it commits Beacon to.\n- Checks each new invoice format against the invoicing rules of the country it is for before it ships.\n- Answers a customer's legal question about an invoice in writing.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/jobs/legal-counsel.md"
    },
    {
      "id": "01a11fec-8800-7f1d-aefb-030f2f1a31f8",
      "address": "jobs/managing-director",
      "type": "job",
      "name": "Managing Director",
      "tagline": "Leads Beacon Systems and answers for its direction, its results and the departments that carry them out.",
      "fields": {
        "id": "01a11fec-8800-7f1d-aefb-030f2f1a31f8",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "Responsibilities",
          "text": "- Sets the company's direction and says what it will not do, so the departments choose against something.\n- Holds each department to the outcomes it answers for, and settles what two of them cannot.\n- Signs what commits Beacon, after Legal has said what it commits the company to.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/jobs/managing-director.md"
    },
    {
      "id": "01a1199f-e096-78eb-b8c2-76e01a6bf381",
      "address": "jobs/product-engineer",
      "type": "job",
      "name": "Product Engineer",
      "tagline": "Builds product features from inside Product, to engineering's standard.",
      "fields": {
        "id": "01a1199f-e096-78eb-b8c2-76e01a6bf381",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "Responsibilities",
          "text": "- Builds each feature to the customer need it answers.\n- Keeps each change small enough to be reviewed in one sitting, with the tests that show it.\n- Holds each change to the engineering standard, whatever Product asks.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/jobs/product-engineer.md"
    },
    {
      "id": "01a0d888-d040-7226-b4e2-24993ad80baf",
      "address": "kpis/change-fail-rate",
      "type": "kpi",
      "name": "Change Fail Rate",
      "tagline": "The share of releases that need immediate intervention once they are in production.",
      "fields": {
        "id": "01a0d888-d040-7226-b4e2-24993ad80baf",
        "source": "Local",
        "owner": "Backend Engineer",
        "measures": "Delivery",
        "unit": "percent of deployments",
        "direction": "lower",
        "read-with": [
          "Change Lead Time"
        ]
      },
      "sections": [
        {
          "heading": "How it is measured",
          "text": "The releases of a calendar month that were followed, before the next planned release, by a rollback or a hotfix made because of them, divided by all releases of that month. A failure is what a customer or a check against production met, not a build that failed before anything shipped.",
          "tables": []
        },
        {
          "heading": "What it can hide",
          "text": "It falls when fewer releases ship, and when a failure is folded into the next planned release instead of being named as one. Change Lead Time rising beside it shows the first.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "DORA's definition",
                  "https://dora.dev/guides/dora-metrics/"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "DORA's definition",
                "https://dora.dev/guides/dora-metrics/"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/kpis/change-fail-rate.md"
    },
    {
      "id": "01a0d888-d040-77b2-940d-11f931f3b8b4",
      "address": "kpis/change-lead-time",
      "type": "kpi",
      "name": "Change Lead Time",
      "tagline": "The time a change takes from its first commit to running in production.",
      "fields": {
        "id": "01a0d888-d040-77b2-940d-11f931f3b8b4",
        "source": "Local",
        "owner": "Backend Engineer",
        "measures": "Delivery",
        "unit": "hours",
        "direction": "lower",
        "read-with": [
          "Change Fail Rate"
        ],
        "can-cost": [
          "Craftsmanship"
        ]
      },
      "sections": [
        {
          "heading": "How it is measured",
          "text": "For each release the Release phase ships, the time from the earliest commit it carries that no earlier release carried to the moment the release is live for customers; the value is the median over the releases of a calendar month. The commits come from the repository's history and the live moment from the deployment log.",
          "tables": []
        },
        {
          "heading": "What it can hide",
          "text": "It shortens when changes get smaller and when review gets thinner, and only the first is progress. Thinner review shows as a higher Change Fail Rate, which is why the two are read together. A median also hides the change that waited a week behind a release.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "DORA's definition",
                  "https://dora.dev/guides/dora-metrics/"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "DORA's definition",
                "https://dora.dev/guides/dora-metrics/"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/kpis/change-lead-time.md"
    },
    {
      "id": "01a10040-3005-7db7-a01b-d031d4bebf58",
      "address": "kpis/review-escapes",
      "type": "kpi",
      "name": "Review Escapes",
      "tagline": "The changes that reached the default branch without the review its protection asks for.",
      "fields": {
        "id": "01a10040-3005-7db7-a01b-d031d4bebf58",
        "source": "Local",
        "owner": "Backend Engineer",
        "assesses": [
          "Main requires a review"
        ],
        "unit": "changes per month",
        "direction": "lower"
      },
      "sections": [
        {
          "heading": "How it is measured",
          "text": "The pull requests merged to the default branch in a calendar month without an approving review from someone other than their author, read from the repository host's pull request reviews.",
          "tables": []
        },
        {
          "heading": "What it can hide",
          "text": "A change pushed to the default branch without a pull request carries no reviews to read, so it escapes without being counted; and an override made for a good reason counts the same as one made in a hurry.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/kpis/review-escapes.md"
    },
    {
      "id": "01a0f254-3527-78bd-9d78-ee022ef66188",
      "address": "localization",
      "type": "localization",
      "name": "Language",
      "tagline": "Beacon Systems writes its model in American English for everyone who reads it, people and agents alike.",
      "fields": {
        "id": "01a0f254-3527-78bd-9d78-ee022ef66188",
        "source": "Local",
        "locale": "en-US"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/localization.md"
    },
    {
      "id": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "address": "processes/delivery",
      "type": "process",
      "name": "Delivery",
      "tagline": "How a change to the platform is specified, built and released.",
      "fields": {
        "id": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
        "source": "Local",
        "owner": "Backend Engineer",
        "supported-by": [
          "Reviewer"
        ]
      },
      "sections": [
        {
          "heading": "Tracks",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Track"
              ],
              "rows": [
                [
                  "Code"
                ],
                [
                  "Docs"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Track"
            ],
            "rows": [
              [
                "Code"
              ],
              [
                "Docs"
              ]
            ]
          }
        },
        {
          "heading": "Phases",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Phase"
              ],
              "rows": [
                [
                  "Specify"
                ],
                [
                  "Build"
                ],
                [
                  "Release"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Phase"
            ],
            "rows": [
              [
                "Specify"
              ],
              [
                "Build"
              ],
              [
                "Release"
              ]
            ]
          }
        },
        {
          "heading": "What it never does",
          "text": "- Never begins a phase whose predecessor's gate has not been approved.\n- Never releases a change that no reviewer has read.\n- Never counts a check nobody ran as a check that passed.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Engineering handbook",
                  "https://example.com/handbook"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Engineering handbook",
                "https://example.com/handbook"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/processes/delivery/delivery.md"
    },
    {
      "id": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "address": "processes/delivery/phases/build",
      "type": "phase",
      "name": "Build",
      "tagline": "Make the change and have it read, one track at a time.",
      "fields": {
        "id": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
        "source": "Local",
        "owner": "Backend Engineer",
        "executed-by": [
          "Backend Engineer",
          "Reviewer"
        ],
        "gate-approvers": [
          "Reviewer"
        ],
        "escalation-authority": "Reviewer",
        "gate-to": "Release"
      },
      "sections": [
        {
          "heading": "What it takes",
          "text": "An approved specification, and a branch off the platform's main line.",
          "tables": []
        },
        {
          "heading": "Activities",
          "text": "### Code\n\n1. Write the failing test, then the change that passes it.\n2. Hand the diff to the Reviewer with the specification beside it.\n3. Resolve every finding, or record why it stands.\n\n### Docs\n\n1. Draft the page from the specification.\n2. Have the Reviewer read it against what the change actually does.",
          "tables": []
        },
        {
          "heading": "What it produces",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Deliverable",
                "Description"
              ],
              "rows": [
                [
                  "Reviewed change",
                  "Commits on a branch, with the suite passing and every finding resolved"
                ],
                [
                  "Draft page",
                  "The customer-facing description of what changed, unpublished"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Deliverable",
              "Description"
            ],
            "rows": [
              [
                "Reviewed change",
                "Commits on a branch, with the suite passing and every finding resolved"
              ],
              [
                "Draft page",
                "The customer-facing description of what changed, unpublished"
              ]
            ]
          }
        },
        {
          "heading": "What it never does",
          "text": "- Never changes a test's expectation to make it pass.\n- Never publishes the page before the change is released.",
          "tables": []
        },
        {
          "heading": "Gate",
          "text": "To leave Build, all of these hold:\n\n- The suite passes on the branch.\n- Every review finding is resolved or recorded with a reason.\n- The branch does what the specification said, and nothing else.",
          "tables": []
        },
        {
          "heading": "If not met",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Outcome",
                "Leads to"
              ],
              "rows": [
                [
                  "reworked",
                  "Build"
                ],
                [
                  "abandoned",
                  ""
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Outcome",
              "Leads to"
            ],
            "rows": [
              [
                "reworked",
                "Build"
              ],
              [
                "abandoned",
                ""
              ]
            ]
          }
        }
      ],
      "owner": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "path": "example/model/processes/delivery/phases/build.md"
    },
    {
      "id": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "address": "processes/delivery/phases/release",
      "type": "phase",
      "name": "Release",
      "tagline": "Put the change in front of the platform's users, and the page with it.",
      "fields": {
        "id": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
        "source": "Local",
        "owner": "Reviewer",
        "executed-by": [
          "Reviewer"
        ],
        "supported-by": [
          "Backend Engineer"
        ],
        "gate-approvers": [
          "Reviewer",
          "Backend Engineer"
        ],
        "escalation-authority": "Reviewer"
      },
      "sections": [
        {
          "heading": "What it takes",
          "text": "A branch that left Build, and the draft page written beside it.",
          "tables": []
        },
        {
          "heading": "Activities",
          "text": "1. Merge the branch and tag the release.\n2. Publish the page.\n3. Watch the platform until the change has been exercised by real traffic.",
          "tables": []
        },
        {
          "heading": "What it produces",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Deliverable",
                "Description"
              ],
              "rows": [
                [
                  "Released change",
                  "Merged, tagged, and running for users"
                ],
                [
                  "Published page",
                  "The page describing the change, live on the customer site"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Deliverable",
              "Description"
            ],
            "rows": [
              [
                "Released change",
                "Merged, tagged, and running for users"
              ],
              [
                "Published page",
                "The page describing the change, live on the customer site"
              ]
            ]
          }
        },
        {
          "heading": "What it never does",
          "text": "- Never releases and publishes in the opposite order.\n- Never leaves a release untagged.",
          "tables": []
        },
        {
          "heading": "Gate",
          "text": "Release is the last phase. The work is done when all of these hold:\n\n- The change is merged and tagged.\n- The page is live.\n- The change has been exercised in production without incident.",
          "tables": []
        },
        {
          "heading": "If not met",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Outcome",
                "Leads to"
              ],
              "rows": [
                [
                  "rolled back",
                  ""
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Outcome",
              "Leads to"
            ],
            "rows": [
              [
                "rolled back",
                ""
              ]
            ]
          }
        }
      ],
      "owner": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "path": "example/model/processes/delivery/phases/release.md"
    },
    {
      "id": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "address": "processes/delivery/phases/specify",
      "type": "phase",
      "name": "Specify",
      "tagline": "Write down what the change must do, before anyone writes how it does it.",
      "fields": {
        "id": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
        "source": "Local",
        "owner": "Backend Engineer",
        "executed-by": [
          "Backend Engineer"
        ],
        "supported-by": [
          "Reviewer"
        ],
        "gate-approvers": [
          "Reviewer"
        ],
        "escalation-authority": "Reviewer",
        "gate-to": "Build"
      },
      "sections": [
        {
          "heading": "What it takes",
          "text": "A request from the platform's users, and the part of the system it will touch, read rather than remembered.",
          "tables": []
        },
        {
          "heading": "Activities",
          "text": "1. State the request as one sentence.\n2. Name the approaches worth considering, and recommend one.\n3. Write down what the change must do, and what it is explicitly not doing.",
          "tables": []
        },
        {
          "heading": "What it produces",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Deliverable",
                "Description"
              ],
              "rows": [
                [
                  "Specification",
                  "What the change must do, the approach chosen, and what was left out"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Deliverable",
              "Description"
            ],
            "rows": [
              [
                "Specification",
                "What the change must do, the approach chosen, and what was left out"
              ]
            ]
          }
        },
        {
          "heading": "What it never does",
          "text": "- Never writes the change it specifies.\n- Never leaves a question unasked because an assumption would be convenient.",
          "tables": []
        },
        {
          "heading": "Gate",
          "text": "To leave Specify, all of these hold:\n\n- The request is stated as one sentence.\n- The approach is chosen and the rejected ones are named.\n- What the change will not do is written down.",
          "tables": []
        },
        {
          "heading": "If not met",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Outcome",
                "Leads to"
              ],
              "rows": [
                [
                  "reshaped",
                  "Specify"
                ],
                [
                  "dropped",
                  ""
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Outcome",
              "Leads to"
            ],
            "rows": [
              [
                "reshaped",
                "Specify"
              ],
              [
                "dropped",
                ""
              ]
            ]
          }
        }
      ],
      "owner": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "path": "example/model/processes/delivery/phases/specify.md"
    },
    {
      "id": "01a0bfb0-acf0-74cd-b00c-e4476b81e56e",
      "address": "processes/delivery/tracks/code",
      "type": "track",
      "name": "Code",
      "tagline": "A merged change to the platform.",
      "fields": {
        "id": "01a0bfb0-acf0-74cd-b00c-e4476b81e56e",
        "source": "Local"
      },
      "sections": [],
      "owner": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "path": "example/model/processes/delivery/tracks/code.md"
    },
    {
      "id": "01a0bfb0-acf0-7fa9-9817-8993fc642da6",
      "address": "processes/delivery/tracks/docs",
      "type": "track",
      "name": "Docs",
      "tagline": "A published page on the customer site.",
      "fields": {
        "id": "01a0bfb0-acf0-7fa9-9817-8993fc642da6",
        "source": "Local"
      },
      "sections": [],
      "owner": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "path": "example/model/processes/delivery/tracks/docs.md"
    },
    {
      "id": "01a10523-733e-7f2e-beab-5a53c9c792b7",
      "address": "processing-activities/invoice-delivery",
      "type": "processing-activity",
      "name": "Invoice delivery",
      "tagline": "Sending each customer the invoice its contract asks for, to the person who pays it.",
      "fields": {
        "id": "01a10523-733e-7f2e-beab-5a53c9c792b7",
        "source": "Local",
        "legal-basis": "contract",
        "retention": "Ten years after the invoice date, as business records",
        "surfaces": [
          "Beacon Systems website"
        ]
      },
      "sections": [
        {
          "heading": "Data subjects",
          "text": "- Billing contacts at customers",
          "tables": []
        },
        {
          "heading": "Personal data",
          "text": "- Name and email address of the billing contact\n- The invoice: its lines, its amounts and the customer's address",
          "tables": []
        },
        {
          "heading": "Processors",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Processor",
                "Receives"
              ],
              "rows": [
                [
                  "Lantern Mail",
                  "The billing contact's email address and the invoice as a PDF"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Processor",
              "Receives"
            ],
            "rows": [
              [
                "Lantern Mail",
                "The billing contact's email address and the invoice as a PDF"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/processing-activities/invoice-delivery.md"
    },
    {
      "id": "01a1218a-eab6-7a05-be07-a764f7c083db",
      "address": "product-kinds/api",
      "type": "product-kind",
      "name": "API",
      "tagline": "An interface the systems of a customer send to or read from, set up by a developer.",
      "fields": {
        "id": "01a1218a-eab6-7a05-be07-a764f7c083db",
        "source": "Local",
        "rank": "30"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A product of this kind is opened by a developer on the customer's side, once, to connect a system of theirs; after that the systems talk and no person looks at it. The Usage API is this kind.\n\nWhat a person works in is Application, and what a person reads from a link is Page.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/product-kinds/api.md"
    },
    {
      "id": "01a1218a-ea4b-719a-8ff6-c652c9eea5ee",
      "address": "product-kinds/application",
      "type": "product-kind",
      "name": "Application",
      "tagline": "Software a customer's own people sign in to and work in.",
      "fields": {
        "id": "01a1218a-ea4b-719a-8ff6-c652c9eea5ee",
        "source": "Local",
        "rank": "10"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A product of this kind is opened by the staff of a company billing through Beacon, signed in, as part of their work: the finance team in the Billing Console. It is this kind when the person opening it is on the customer's side and comes back to it.\n\nA page somebody reaches once from a link, to read or pay, is Page. An interface another system calls is API.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/product-kinds/application.md"
    },
    {
      "id": "01a1218a-ea82-78fc-ae73-ccb3b2d20727",
      "address": "product-kinds/page",
      "type": "product-kind",
      "name": "Page",
      "tagline": "A page somebody reaches from a link, to read something or pay it, without an account.",
      "fields": {
        "id": "01a1218a-ea82-78fc-ae73-ccb3b2d20727",
        "source": "Local",
        "rank": "20"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A product of this kind is opened by whoever an invoice or a notice is addressed to, following a link, with nothing to sign in to: the payer on the Invoice Page. It is this kind when the person opening it may never come back and needs no account.\n\nSoftware a customer's own staff sign in to is Application. An interface a developer connects is API.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/product-kinds/page.md"
    },
    {
      "id": "01a0c25c-19f8-73d1-90f2-6b99d03be0a7",
      "address": "products/billing-console",
      "type": "product",
      "name": "Billing Console",
      "tagline": "The web application where the finance team of a company billing through Beacon keeps its pricing, runs its billing and answers for every invoice that goes out.",
      "fields": {
        "id": "01a0c25c-19f8-73d1-90f2-6b99d03be0a7",
        "source": "Local",
        "domain": "Pricing",
        "kind": "Application"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/products/billing-console.md"
    },
    {
      "id": "01a0c25c-19f8-764b-a67b-1073041d82ed",
      "address": "products/invoice-page",
      "type": "product",
      "name": "Invoice Page",
      "tagline": "The page every invoice links to, opened by whoever has to pay it.",
      "fields": {
        "id": "01a0c25c-19f8-764b-a67b-1073041d82ed",
        "source": "Local",
        "domain": "Invoicing",
        "kind": "Page"
      },
      "sections": [
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Documentation",
                  "https://docs.example.invalid/beacon/invoice-page"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Documentation",
                "https://docs.example.invalid/beacon/invoice-page"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/products/invoice-page.md"
    },
    {
      "id": "01a0c25c-19f8-7f6a-aa9d-2d7a3a1eb26a",
      "address": "products/usage-api",
      "type": "product",
      "name": "Usage API",
      "tagline": "The interface the systems of a company billing through Beacon send usage to, set up by the developers who connect them.",
      "fields": {
        "id": "01a0c25c-19f8-7f6a-aa9d-2d7a3a1eb26a",
        "source": "Local",
        "domain": "Pricing",
        "kind": "API"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/products/usage-api.md"
    },
    {
      "id": "01a02f8b-db90-7f26-8c18-79e44090fddb",
      "address": "proficiency-levels/competent",
      "type": "proficiency-level",
      "name": "Competent",
      "tagline": "Reliable alone. Unsupervised work with a predictable result.",
      "fields": {
        "id": "01a02f8b-db90-7f26-8c18-79e44090fddb",
        "source": "Local",
        "rank": "20"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Someone at this level works with it unsupervised and the result is predictable. They recognize the common failure modes, having run into them.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/proficiency-levels/competent.md"
    },
    {
      "id": "01a02f8b-db90-7a8b-815a-989dfd3ff84b",
      "address": "proficiency-levels/expert",
      "type": "proficiency-level",
      "name": "Expert",
      "tagline": "Knows the limits. Has worked below the surface, shaped it, or taught it.",
      "fields": {
        "id": "01a02f8b-db90-7a8b-815a-989dfd3ff84b",
        "source": "Local",
        "rank": "40"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Someone at this level knows where it breaks down and where it is simply wrong. They have worked below its surface, shaped it, or taught it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/proficiency-levels/expert.md"
    },
    {
      "id": "01a02f8b-db90-71f9-a22d-205ad39ac4f8",
      "address": "proficiency-levels/familiar",
      "type": "proficiency-level",
      "name": "Familiar",
      "tagline": "Needs support. Real use, with guidance or frequent reference.",
      "fields": {
        "id": "01a02f8b-db90-71f9-a22d-205ad39ac4f8",
        "source": "Local",
        "rank": "10"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Someone at this level has used it on real work, with guidance or frequent reference. They can follow a conversation about it and make sense of other people's work in it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/proficiency-levels/familiar.md"
    },
    {
      "id": "01a02f8b-db90-7e41-8fe9-9672700145e0",
      "address": "proficiency-levels/proficient",
      "type": "proficiency-level",
      "name": "Proficient",
      "tagline": "Exercises judgment. Chooses between alternatives and can say why.",
      "fields": {
        "id": "01a02f8b-db90-7e41-8fe9-9672700145e0",
        "source": "Local",
        "rank": "30"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Someone at this level makes judgment calls in it and can explain why the alternatives are worse. Other people bring them their questions.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/proficiency-levels/proficient.md"
    },
    {
      "id": "01a0a6b8-7e80-78af-b202-d3733bdd650c",
      "address": "profiles/ai-agent",
      "type": "profile",
      "name": "AI Agent",
      "tagline": "Whichever agent reviews a change at Beacon Systems today, held to the same seat whichever model it is.",
      "fields": {
        "id": "01a0a6b8-7e80-78af-b202-d3733bdd650c",
        "source": "Local",
        "nature": "agent",
        "seats": [
          "Reviewer"
        ],
        "image": "ai-agent.png"
      },
      "sections": [
        {
          "heading": "Summary",
          "text": "One profile for whichever agent reviews, so the seat has a holder. It claims no skill, and not because the first review is unread: a claim is a person's history with a capability, and an agent has none. What holds it to the seat is the rulebook, never a row.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/profiles/ai-agent/ai-agent.md"
    },
    {
      "id": "01a12659-d295-7969-b17f-fbae284c2391",
      "address": "profiles/build-agent",
      "type": "profile",
      "name": "Build Agent",
      "tagline": "Whichever agent writes the change at Beacon Systems today, in the Backend Engineer seat, and hands it to the Reviewer.",
      "fields": {
        "id": "01a12659-d295-7969-b17f-fbae284c2391",
        "source": "Local",
        "nature": "agent",
        "seats": [
          "Backend Engineer"
        ]
      },
      "sections": [
        {
          "heading": "Summary",
          "text": "The second profile an agent holds: where AI Agent reviews, this one builds, and the two never hold one seat, so a change is never approved by what wrote it. It claims no skill, as no agent does, and the seat's gap is reported for no one. What holds it to the seat is the rulebook, and who directs it is a row of the Billing Run Team's Direction: Mira Halvorsen alone, where AI Agent beside it, with no row there, is directed by every human in the team.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/profiles/build-agent/build-agent.md"
    },
    {
      "id": "01a11fec-8792-73f8-b030-92147dae4f65",
      "address": "profiles/ines-marchetti",
      "type": "profile",
      "name": "Ines Marchetti",
      "tagline": "Managing director who sets Beacon Systems' direction and answers for it to the departments and to customers.",
      "fields": {
        "id": "01a11fec-8792-73f8-b030-92147dae4f65",
        "source": "Google Workspace",
        "source-id": "104857613958",
        "nature": "human",
        "email": "ines@example.invalid",
        "location": "Zurich"
      },
      "sections": [
        {
          "heading": "Summary",
          "text": "Beacon's managing director, kept to a thin file: the model records the lead at the top of the company's line and leaves the career to the places that publish it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/profiles/ines-marchetti/ines-marchetti.md"
    },
    {
      "id": "01a11fec-87c0-7d80-8aa2-fa64547264dc",
      "address": "profiles/jonas-whitcombe",
      "type": "profile",
      "name": "Jonas Whitcombe",
      "tagline": "Executive assistant who keeps the managing director's calendar and papers, so that what is decided is also prepared and followed up.",
      "fields": {
        "id": "01a11fec-87c0-7d80-8aa2-fa64547264dc",
        "source": "Google Workspace",
        "source-id": "104857613971",
        "nature": "human",
        "email": "jonas@example.invalid",
        "location": "Zurich"
      },
      "sections": [
        {
          "heading": "Summary",
          "text": "Beacon's executive assistant, kept to a thin file for the same reason as the managing director's: the model needs the person and the place they hold, not a history of how they came to it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/profiles/jonas-whitcombe/jonas-whitcombe.md"
    },
    {
      "id": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "address": "profiles/mira-halvorsen",
      "type": "profile",
      "name": "Mira Halvorsen",
      "tagline": "Backend engineer who ended up owning the parts nobody else wanted to.",
      "fields": {
        "id": "01a02f53-2408-7291-ac16-087fcdee4d71",
        "source": "Google Workspace",
        "source-id": "104857613902",
        "nature": "human",
        "seats": [
          "Backend Engineer"
        ],
        "email": "mira@example.invalid",
        "location": "Bergen"
      },
      "sections": [
        {
          "heading": "Skills",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Skill",
                "Level"
              ],
              "rows": [
                [
                  "Java Programming",
                  "Proficient"
                ],
                [
                  "Domain-Driven Design",
                  "Competent"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Skill",
              "Level"
            ],
            "rows": [
              [
                "Java Programming",
                "Proficient"
              ],
              [
                "Domain-Driven Design",
                "Competent"
              ]
            ]
          }
        },
        {
          "heading": "Evidence",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Skill",
                "What it shows",
                "Experience"
              ],
              "rows": [
                [
                  "Java Programming",
                  "Owned the JVM services two other teams built on, and was the one called when they stopped.",
                  "Rebuilding the order pipeline"
                ],
                [
                  "Java Programming",
                  "Replaced a nightly batch with a pipeline that ran when the order did, taking visibility from the next morning to seconds.",
                  "Rebuilding the order pipeline"
                ],
                [
                  "Domain-Driven Design",
                  "Split the billing domain into two bounded contexts; the seams have held under two years of change.",
                  "Splitting the billing domain"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Skill",
              "What it shows",
              "Experience"
            ],
            "rows": [
              [
                "Java Programming",
                "Owned the JVM services two other teams built on, and was the one called when they stopped.",
                "Rebuilding the order pipeline"
              ],
              [
                "Java Programming",
                "Replaced a nightly batch with a pipeline that ran when the order did, taking visibility from the next morning to seconds.",
                "Rebuilding the order pipeline"
              ],
              [
                "Domain-Driven Design",
                "Split the billing domain into two bounded contexts; the seams have held under two years of change.",
                "Splitting the billing domain"
              ]
            ]
          }
        },
        {
          "heading": "Summary",
          "text": "Eight years across two companies, both of them small enough that the boundary between building a thing and running it never really existed.",
          "tables": []
        },
        {
          "heading": "Also at",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Where",
                "URL"
              ],
              "rows": [
                [
                  "GitHub",
                  "https://github.example.invalid/mira-halvorsen"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Where",
              "URL"
            ],
            "rows": [
              [
                "GitHub",
                "https://github.example.invalid/mira-halvorsen"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/profiles/mira-halvorsen/mira-halvorsen.md"
    },
    {
      "id": "01a02f53-2408-729e-aa93-95bce1b59a93",
      "address": "profiles/mira-halvorsen/experiences/2018-northwind-atelier",
      "type": "experience",
      "name": "Rebuilding the order pipeline",
      "tagline": "Four years replacing a nightly batch with something that ran when the order did.",
      "fields": {
        "id": "01a02f53-2408-729e-aa93-95bce1b59a93",
        "source": "Local",
        "kind": "Role",
        "start": "2018-03",
        "end": "2022-01",
        "capacity": "Backend engineer",
        "organization": "Northwind Atelier",
        "skills": [
          "Java Programming"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "### Delivery\n\n- Replaced a nightly batch with a pipeline that ran when the order did, taking visibility from\n  the next morning to seconds.\n\n### Results\n\n- Established that the speed-up mattered less than anyone expected, and why — which set the\n  direction for the work that followed.",
          "tables": []
        },
        {
          "heading": "Ending",
          "text": "Left in January 2022 when the pipeline work was done and the next problem worth four years was somewhere else.",
          "tables": []
        }
      ],
      "owner": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "path": "example/model/profiles/mira-halvorsen/experiences/2018-northwind-atelier.md",
      "stamp": {
        "kind": "Role",
        "start": "2018-03",
        "end": "2022-01"
      }
    },
    {
      "id": "01a02f53-2408-7b1e-bad3-c39aa223228c",
      "address": "profiles/mira-halvorsen/experiences/2022-beacon-systems",
      "type": "experience",
      "name": "Splitting the billing domain",
      "tagline": "Ongoing. Taking one service that three teams edited and making it two, each owned by one team.",
      "fields": {
        "id": "01a02f53-2408-7b1e-bad3-c39aa223228c",
        "source": "Local",
        "kind": "Role",
        "start": "2022-02",
        "organization": "Beacon Systems",
        "skills": [
          "Java Programming",
          "Domain-Driven Design"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "### Delivery\n\n- Split one service that three teams edited into two that one team each owns, so the second\n  team stopped waiting on the first to merge.\n\n### Results\n\n- Not finished: the third team is still waiting on the split.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Commercial register entry",
                  "https://register.example/firm/4419"
                ],
                [
                  "Product",
                  "https://beacon.example"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Commercial register entry",
                "https://register.example/firm/4419"
              ],
              [
                "Product",
                "https://beacon.example"
              ]
            ]
          }
        }
      ],
      "owner": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "path": "example/model/profiles/mira-halvorsen/experiences/2022-beacon-systems.md",
      "stamp": {
        "kind": "Role",
        "start": "2022-02",
        "end": null
      }
    },
    {
      "id": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "address": "profiles/tomas-reyes",
      "type": "profile",
      "name": "Tomas Reyes",
      "tagline": "Product person who learned to read the code so the conversation with engineering stayed honest.",
      "fields": {
        "id": "01a03a2c-2de8-73b4-9058-8664caea919a",
        "source": "Google Workspace",
        "source-id": "104857613947",
        "nature": "human",
        "email": "tomas@example.invalid",
        "location": "Lisbon"
      },
      "sections": [
        {
          "heading": "Skills",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Skill",
                "Level"
              ],
              "rows": [
                [
                  "Product Discovery",
                  "Expert"
                ],
                [
                  "Domain-Driven Design",
                  "Familiar"
                ],
                [
                  "Java Programming",
                  "Familiar"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Skill",
              "Level"
            ],
            "rows": [
              [
                "Product Discovery",
                "Expert"
              ],
              [
                "Domain-Driven Design",
                "Familiar"
              ],
              [
                "Java Programming",
                "Familiar"
              ]
            ]
          }
        },
        {
          "heading": "Evidence",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Skill",
                "What it shows",
                "Experience"
              ],
              "rows": [
                [
                  "Product Discovery",
                  "Ran the conversations that showed visibility, not speed, was what the pipeline rebuild bought, and rewrote the roadmap around it.",
                  "Finding out what the order pipeline was for"
                ],
                [
                  "Product Discovery",
                  "Told a room that the rebuild's measured win was not the one it had been funded for.",
                  "Conference talk — the speed-up nobody asked for"
                ],
                [
                  "Product Discovery",
                  "Killed two of the three features on the 2023 roadmap after twenty customer conversations; the third shipped and is the one customers name.",
                  "Deciding which billing goes first"
                ],
                [
                  "Domain-Driven Design",
                  "Sat in the billing-context sessions and can follow a context map; has never drawn one.",
                  "Deciding which billing goes first"
                ],
                [
                  "Java Programming",
                  "Reads pull requests well enough to ask the right question, and has merged none.",
                  ""
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Skill",
              "What it shows",
              "Experience"
            ],
            "rows": [
              [
                "Product Discovery",
                "Ran the conversations that showed visibility, not speed, was what the pipeline rebuild bought, and rewrote the roadmap around it.",
                "Finding out what the order pipeline was for"
              ],
              [
                "Product Discovery",
                "Told a room that the rebuild's measured win was not the one it had been funded for.",
                "Conference talk — the speed-up nobody asked for"
              ],
              [
                "Product Discovery",
                "Killed two of the three features on the 2023 roadmap after twenty customer conversations; the third shipped and is the one customers name.",
                "Deciding which billing goes first"
              ],
              [
                "Domain-Driven Design",
                "Sat in the billing-context sessions and can follow a context map; has never drawn one.",
                "Deciding which billing goes first"
              ],
              [
                "Java Programming",
                "Reads pull requests well enough to ask the right question, and has merged none.",
                ""
              ]
            ]
          }
        },
        {
          "heading": "Summary",
          "text": "Six years across the same two companies as the engineers he works with, on the other side of the table: deciding what gets built rather than building it.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/profiles/tomas-reyes/tomas-reyes.md"
    },
    {
      "id": "01a03a2c-2de8-7d5f-bdd5-54911ee6ace2",
      "address": "profiles/tomas-reyes/experiences/2019-northwind-atelier",
      "type": "experience",
      "name": "Finding out what the order pipeline was for",
      "tagline": "Three years learning that the speed-up nobody had asked for was still the right thing to build.",
      "fields": {
        "id": "01a03a2c-2de8-7d5f-bdd5-54911ee6ace2",
        "source": "Local",
        "kind": "Role",
        "start": "2019-06",
        "end": "2022-01",
        "organization": "Northwind Atelier",
        "skills": [
          "Product Discovery"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "### Decisions\n\n- Ran the conversations that showed visibility, not speed, was what the pipeline rebuild\n  bought — and rewrote the roadmap around it.\n- Retired a reporting feature with no users, which was harder than shipping one.",
          "tables": []
        }
      ],
      "owner": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "path": "example/model/profiles/tomas-reyes/experiences/2019-northwind-atelier.md",
      "stamp": {
        "kind": "Role",
        "start": "2019-06",
        "end": "2022-01"
      }
    },
    {
      "id": "01a047a6-f070-7bcb-a970-75d3ff9b6bf8",
      "address": "profiles/tomas-reyes/experiences/2021-orbit-conference",
      "type": "experience",
      "name": "Conference talk — the speed-up nobody asked for",
      "tagline": "A talk about a rebuild whose measured win was not the one it had been funded for.",
      "fields": {
        "id": "01a047a6-f070-7bcb-a970-75d3ff9b6bf8",
        "source": "Local",
        "kind": "Community",
        "start": "2021-09",
        "end": "2021-09",
        "url": "https://orbit.example/2021/talks/the-speed-up",
        "capacity": "Speaker",
        "organization": "Orbit Conference",
        "skills": [
          "Product Discovery"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "### Sharing\n\n- Told a room that had funded the same kind of rebuild what the Northwind conversations\n  found: that visibility, not speed, was what the pipeline bought.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Recording",
                  "https://orbit.example/2021/watch/the-speed-up"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Recording",
                "https://orbit.example/2021/watch/the-speed-up"
              ]
            ]
          }
        }
      ],
      "owner": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "path": "example/model/profiles/tomas-reyes/experiences/2021-orbit-conference.md",
      "stamp": {
        "kind": "Community",
        "start": "2021-09",
        "end": "2021-09"
      }
    },
    {
      "id": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de",
      "address": "profiles/tomas-reyes/experiences/2022-beacon-systems",
      "type": "experience",
      "name": "Deciding which billing goes first",
      "tagline": "Ongoing. Choosing which of the two billing contexts serves customers first, and saying why.",
      "fields": {
        "id": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de",
        "source": "Local",
        "kind": "Role",
        "start": "2022-02",
        "organization": "Beacon Systems",
        "skills": [
          "Product Discovery",
          "Domain-Driven Design"
        ]
      },
      "sections": [
        {
          "heading": "Achievements",
          "text": "### Decisions\n\n- Ranked the two contexts by what customers asked about in support, not by what was easier to\n  split, and got the order accepted.\n\n### Results\n\n- Not finished: the third team's context has no customer voice yet, and no ranking.",
          "tables": []
        }
      ],
      "owner": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "path": "example/model/profiles/tomas-reyes/experiences/2022-beacon-systems.md",
      "stamp": {
        "kind": "Role",
        "start": "2022-02",
        "end": null
      }
    },
    {
      "id": "01a0ddfe-36a0-76b9-8696-11dd3f43cad7",
      "address": "question-kinds/company",
      "type": "question-kind",
      "name": "Company",
      "tagline": "Questions about Beacon Systems as a company: what it publishes about itself and what it is like to work there.",
      "fields": {
        "id": "01a0ddfe-36a0-76b9-8696-11dd3f43cad7",
        "source": "Local",
        "rank": "20"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A question about the company rather than what it sells: its figures, its ways of working, what it holds to. A candidate's questions are this kind.\n\nA question about a feature, an invoice or why the platform is built as it is is Product, even when a value of the company's explains the answer.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/question-kinds/company.md"
    },
    {
      "id": "01a0ddfe-36a0-7779-a302-cbbaa288765c",
      "address": "question-kinds/product",
      "type": "question-kind",
      "name": "Product",
      "tagline": "Questions about what the billing platform does and how it came to be built the way it is.",
      "fields": {
        "id": "01a0ddfe-36a0-7779-a302-cbbaa288765c",
        "source": "Local",
        "rank": "10"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A question a customer or an engineer asks about the product itself: what a line on an invoice means, which feature explains it, why a part of the platform stands where it does. It is this kind even when a decision or a period answers it, because the visitor is asking about the product.\n\nA question about the company behind it, how it works, what it publishes about itself, what it is like inside, is Company.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/question-kinds/product.md"
    },
    {
      "id": "01a0d1c8-57f8-7401-af19-6456db3c051b",
      "address": "questions/does-beacon-systems-publish-its-revenue",
      "type": "question",
      "name": "Does Beacon Systems publish its revenue?",
      "tagline": "No. The model makes no claim about revenue, and none is published.",
      "fields": {
        "id": "01a0d1c8-57f8-7401-af19-6456db3c051b",
        "source": "Local",
        "kind": "Company"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/questions/does-beacon-systems-publish-its-revenue.md"
    },
    {
      "id": "01a0d1c8-57f8-791a-aa3a-6c23955e4a5f",
      "address": "questions/how-do-i-find-out-why-a-line-is-on-my-invoice",
      "type": "question",
      "name": "How do I find out why a line is on my invoice?",
      "tagline": "The charge explanation shows where each line comes from, and the pricing rules say what it costs.",
      "fields": {
        "id": "01a0d1c8-57f8-791a-aa3a-6c23955e4a5f",
        "source": "Local",
        "kind": "Product"
      },
      "sections": [
        {
          "heading": "Rests on",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Type",
                "Entity",
                "Owner",
                "For"
              ],
              "rows": [
                [
                  "feature",
                  "Charge explanation",
                  "",
                  "where a line comes from"
                ],
                [
                  "feature",
                  "Pricing rules",
                  "",
                  "what it costs"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Type",
              "Entity",
              "Owner",
              "For"
            ],
            "rows": [
              [
                "feature",
                "Charge explanation",
                "",
                "where a line comes from"
              ],
              [
                "feature",
                "Pricing rules",
                "",
                "what it costs"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/questions/how-do-i-find-out-why-a-line-is-on-my-invoice.md"
    },
    {
      "id": "01a0ddfe-36a0-7c39-a842-8ffce211182a",
      "address": "questions/what-is-it-like-to-work-at-beacon-systems",
      "type": "question",
      "name": "What is it like to work at Beacon Systems?",
      "tagline": "The company's values say what it holds to in its daily work: how it treats a deadline and when disagreement is still worth saying.",
      "fields": {
        "id": "01a0ddfe-36a0-7c39-a842-8ffce211182a",
        "source": "Local",
        "kind": "Company"
      },
      "sections": [
        {
          "heading": "Rests on",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Type",
                "Entity",
                "Owner",
                "For"
              ],
              "rows": [
                [
                  "value",
                  "Craftsmanship",
                  "",
                  "how it treats a deadline"
                ],
                [
                  "value",
                  "Say The Hard Thing",
                  "",
                  "when disagreement is still worth saying"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Type",
              "Entity",
              "Owner",
              "For"
            ],
            "rows": [
              [
                "value",
                "Craftsmanship",
                "",
                "how it treats a deadline"
              ],
              [
                "value",
                "Say The Hard Thing",
                "",
                "when disagreement is still worth saying"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/questions/what-is-it-like-to-work-at-beacon-systems.md"
    },
    {
      "id": "01a0d1c8-57f8-73a4-b61f-7b03c32060dc",
      "address": "questions/who-split-billing-out-of-the-monolith",
      "type": "question",
      "name": "Who split billing out of the monolith?",
      "tagline": "The period in which the billing domain was split is Mira Halvorsen's, and it says what was done; the decision to split says why.",
      "fields": {
        "id": "01a0d1c8-57f8-73a4-b61f-7b03c32060dc",
        "source": "Local",
        "kind": "Product"
      },
      "sections": [
        {
          "heading": "Rests on",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Type",
                "Entity",
                "Owner",
                "For"
              ],
              "rows": [
                [
                  "experience",
                  "Splitting the billing domain",
                  "Mira Halvorsen",
                  "the period"
                ],
                [
                  "decision",
                  "Billing leaves the monolith",
                  "",
                  "why"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Type",
              "Entity",
              "Owner",
              "For"
            ],
            "rows": [
              [
                "experience",
                "Splitting the billing domain",
                "Mira Halvorsen",
                "the period"
              ],
              [
                "decision",
                "Billing leaves the monolith",
                "",
                "why"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/questions/who-split-billing-out-of-the-monolith.md"
    },
    {
      "id": "01a12b01-3a22-74e6-b405-dd48a35f2da8",
      "address": "requirements/a-copy-is-the-invoice-as-issued",
      "type": "requirement",
      "name": "A copy is the invoice as issued",
      "tagline": "A downloaded invoice holds every line and its explanation exactly as they were on the day the invoice was issued.",
      "fields": {
        "id": "01a12b01-3a22-74e6-b405-dd48a35f2da8",
        "source": "Local",
        "kind": "functional",
        "modality": "must"
      },
      "sections": [
        {
          "heading": "Why",
          "text": "A payer files the copy in their own books, and a copy that changes after the fact makes their books disagree with the company's without either side noticing.",
          "tables": []
        },
        {
          "heading": "Fit criterion",
          "text": "An invoice downloaded on the day it is issued, and again after a credit note against it is issued, gives two copies identical to each other and to the invoice as issued.",
          "tables": []
        },
        {
          "heading": "Applies to",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Type",
                "Entity"
              ],
              "rows": [
                [
                  "use-case",
                  "Download an invoice"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Type",
              "Entity"
            ],
            "rows": [
              [
                "use-case",
                "Download an invoice"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/requirements/a-copy-is-the-invoice-as-issued.md"
    },
    {
      "id": "01a0fb1b-b4c9-7a12-b0d3-9c98579ccb26",
      "address": "risks/an-unreviewed-change-reaches-customers",
      "type": "risk",
      "name": "An unreviewed change reaches customers",
      "tagline": "A change that nobody but its author read goes out and alters what customers are billed.",
      "fields": {
        "id": "01a0fb1b-b4c9-7a12-b0d3-9c98579ccb26",
        "source": "Local",
        "owner": "Reviewer",
        "threatens": [
          "Support stops explaining invoices"
        ]
      },
      "sections": [
        {
          "heading": "Cause",
          "text": "A merge to the default branch that no second person approved, under time pressure or because the change looked small.",
          "tables": []
        },
        {
          "heading": "Consequence",
          "text": "Invoices go out wrong, and support explains them again, which is the opposite of what the objective asks for.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/risks/an-unreviewed-change-reaches-customers.md"
    },
    {
      "id": "01a0fb1b-b4ff-7020-8a63-e80de5bbcc7f",
      "address": "rules/a-change-is-reviewed-before-it-ships",
      "type": "rule",
      "name": "A change is reviewed before it ships",
      "tagline": "A change reaches the default branch only after a second person has read it and approved it.",
      "fields": {
        "id": "01a0fb1b-b4ff-7020-8a63-e80de5bbcc7f",
        "source": "Local",
        "modality": "must",
        "protects": [
          "Craftsmanship"
        ],
        "serves": [
          "Support stops explaining invoices"
        ],
        "motivated-by": [
          "An unreviewed change reaches customers"
        ]
      },
      "sections": [
        {
          "heading": "Why",
          "text": "A billing change is cheap to read and expensive to get wrong, and the author is the person least able to see what they missed.",
          "tables": []
        },
        {
          "heading": "Applies to",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Type",
                "Entity",
                "Owner"
              ],
              "rows": [
                [
                  "seat",
                  "Reviewer",
                  ""
                ],
                [
                  "phase",
                  "Release",
                  "Delivery"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Type",
              "Entity",
              "Owner"
            ],
            "rows": [
              [
                "seat",
                "Reviewer",
                ""
              ],
              [
                "phase",
                "Release",
                "Delivery"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/rules/a-change-is-reviewed-before-it-ships.md"
    },
    {
      "id": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "address": "seats/backend-engineer",
      "type": "seat",
      "name": "Backend Engineer",
      "tagline": "The seat that keeps the services the product runs on correct, and answers for them when they are not.",
      "fields": {
        "id": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
        "source": "Local",
        "requires": [
          "Java Programming"
        ]
      },
      "sections": [
        {
          "heading": "What it takes",
          "text": "A bounded context with a name and the invoices it has to get right. A change request that says what is wrong for a customer, not which class to edit. A turn on the pager, because the seat answers for what it ships.",
          "tables": []
        },
        {
          "heading": "What it produces",
          "text": "A service that stays up, and a change small enough that a reviewer reads it in one sitting, with the tests that show the invoice is still right.",
          "tables": []
        },
        {
          "heading": "What it never does",
          "text": "- Never merges its own change.\n- Never moves a seam between contexts on its own; where a seam sits is the domain's decision.\n- Never ships a change the invoice tests do not cover.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/seats/backend-engineer.md"
    },
    {
      "id": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "address": "seats/reviewer",
      "type": "seat",
      "name": "Reviewer",
      "tagline": "The seat that reads one change against what was asked, returns findings with a severity and changes nothing.",
      "fields": {
        "id": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
        "source": "Local",
        "requires": [
          "Domain-Driven Design"
        ]
      },
      "sections": [
        {
          "heading": "What it takes",
          "text": "The change as a diff, the request it answers and the report of whoever made it, read as a claim rather than a fact.",
          "tables": []
        },
        {
          "heading": "What it produces",
          "text": "Findings, each with a file, a line, what is wrong, why it matters and how to fix it, ranked by severity, and the strengths named first. A finding is an input to whoever merges.",
          "tables": []
        },
        {
          "heading": "What it never does",
          "text": "- Never edits the change it reviews.\n- Never re-runs a suite to confirm a report; it runs one focused test on a doubt the report\n  does not answer.\n- Never calls polish critical.",
          "tables": []
        },
        {
          "heading": "References",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "What",
                "URL"
              ],
              "rows": [
                [
                  "Rulebook",
                  "https://docs.example.invalid/beacon/review"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "What",
              "URL"
            ],
            "rows": [
              [
                "Rulebook",
                "https://docs.example.invalid/beacon/review"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/seats/reviewer.md"
    },
    {
      "id": "01a1226b-c65b-7c27-a96f-dbfb10db9c15",
      "address": "services/invoice-feed",
      "type": "service",
      "name": "Invoice feed",
      "tagline": "The feed of finished invoices the Billing service exposes to whoever delivers or shows one.",
      "fields": {
        "id": "01a1226b-c65b-7c27-a96f-dbfb10db9c15",
        "source": "Local",
        "provided-by": [
          "Billing service"
        ],
        "realizes": [
          "Invoice download"
        ]
      },
      "sections": [],
      "owner": null,
      "path": "example/model/services/invoice-feed.md"
    },
    {
      "id": "01a02f53-2408-7255-a610-b931d033c1d4",
      "address": "skills/domain-driven-design",
      "type": "skill",
      "name": "Domain-Driven Design",
      "tagline": "Modeling software around the language the business already speaks.",
      "fields": {
        "id": "01a02f53-2408-7255-a610-b931d033c1d4",
        "source": "Local",
        "group": "Software Design"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Name things as the business names them, and refuse a name that only makes sense inside the codebase. Draw the boundary between one model and the next, and hold it when a second team wants to reach across it. Rework the model when the language changes, rather than mapping around it and keeping both.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/skills/domain-driven-design.md"
    },
    {
      "id": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
      "address": "skills/java-programming",
      "type": "skill",
      "name": "Java Programming",
      "tagline": "Building and maintaining server-side systems on the JVM.",
      "fields": {
        "id": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
        "source": "Local",
        "group": "Programming Languages"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Write services other teams depend on, and keep them running once they do. Read the stack trace when one stops. Know the runtime well enough to tell a slow query from a slow collector, and to say which of the two a graph is showing. Typical tools: the JDK, a build tool, a profiler.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/skills/java-programming.md"
    },
    {
      "id": "01a03a2c-2de8-7464-ae57-ae7a44c2b395",
      "address": "skills/product-discovery",
      "type": "skill",
      "name": "Product Discovery",
      "tagline": "Finding out what is worth building before building it.",
      "fields": {
        "id": "01a03a2c-2de8-7464-ae57-ae7a44c2b395",
        "source": "Local",
        "group": "Product"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "Talk to the people who would use a thing before the first line of it is written. Frame the question so that the answer can be no, and hear it when it is. Test the cheapest version of an idea that could still turn out wrong, and stop when it does.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/skills/product-discovery.md"
    },
    {
      "id": "01a03a36-9dc8-7e9b-9500-583546f2a37c",
      "address": "sources/google-workspace",
      "type": "source",
      "name": "Google Workspace",
      "tagline": "The company's directory and documents; people and groups are synced from here. A `source-id` is the directory's user id.",
      "fields": {
        "id": "01a03a36-9dc8-7e9b-9500-583546f2a37c",
        "url": "https://workspace.google.com/"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/sources/google-workspace.md"
    },
    {
      "id": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "address": "sources/local",
      "type": "source",
      "name": "Local",
      "tagline": "Written and kept in this repository; nothing syncs it.",
      "fields": {
        "id": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98"
      },
      "sections": [],
      "owner": null,
      "path": "example/model/sources/local.md"
    },
    {
      "id": "01a10523-7383-700a-9eec-4c21a13dfcb4",
      "address": "stored-items/theme",
      "type": "stored-item",
      "name": "theme",
      "tagline": "Whether the visitor chose the light or the dark look, so the next page opens in it.",
      "fields": {
        "id": "01a10523-7383-700a-9eec-4c21a13dfcb4",
        "source": "Local",
        "mechanism": "local-storage",
        "necessity": "optional",
        "duration": "Until the visitor clears it",
        "surfaces": [
          "Beacon Systems website"
        ]
      },
      "sections": [],
      "owner": null,
      "path": "example/model/stored-items/theme.md"
    },
    {
      "id": "01a0a48f-60d8-7d32-a8cd-12ec4281c038",
      "address": "strategic-objectives/support-stops-explaining-invoices",
      "type": "strategic-objective",
      "name": "Support stops explaining invoices",
      "tagline": "A customer who opens an invoice gets the same explanation support would have given, without the call.",
      "fields": {
        "id": "01a0a48f-60d8-7d32-a8cd-12ec4281c038",
        "source": "Local",
        "adopted": "2026-01",
        "horizon": "2027-06"
      },
      "sections": [
        {
          "heading": "What it makes true",
          "text": "A customer looking at an invoice can tell how each number was reached, in the words their own contract uses, so the question \"why is this line 4,200\" is answered where it is asked. Support still hears from customers, and what it hears about is their pricing rather than our arithmetic.\n\nWe would know it holds by what stops arriving. An explanation ticket is one where the customer asks how a number was reached and nothing about the number is wrong; those are countable today and they are the measure. The invoice being correct is not what is in question and never was.\n\nWhat falls outside: a disagreement about what the contract says. An invoice that explains itself perfectly can still bill something the customer believes they did not buy, and that is a question for the contract, not for the page.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/strategic-objectives/support-stops-explaining-invoices.md"
    },
    {
      "id": "01a0a48f-60d8-770f-9cb8-e4bbbd846a66",
      "address": "strategies/invoicing-strategy",
      "type": "strategy",
      "name": "Invoicing Strategy",
      "tagline": "The invoice is rendered from the pricing rules themselves, so its explanation is generated rather than written.",
      "fields": {
        "id": "01a0a48f-60d8-770f-9cb8-e4bbbd846a66",
        "source": "Local",
        "adopted": "2026-01",
        "serves": [
          "Support stops explaining invoices"
        ],
        "upholds": [
          "Craftsmanship"
        ]
      },
      "sections": [
        {
          "heading": "The approach",
          "text": "We keep the pricing rules as data the billing run reads, rather than code it executes: one rule per pricing term, named in the words the contract uses, versioned with the contract it belongs to. A line on an invoice carries the id of the rule that produced it, and the explanation a customer reads is rendered from that rule and the inputs it saw. One run produces both the number and the sentence about the number, which is what keeps them from drifting apart.\n\nWhere a rule cannot express a term, we renegotiate the term or we grow the rule language. Neither is quick, and choosing that over a manual adjustment is the whole of this strategy.",
          "tables": []
        },
        {
          "heading": "What it rules out",
          "text": "We never add a manual adjustment line. An invoice that anyone can add a number to is an invoice that cannot explain itself, and every exception granted teaches the next team to ask for one. We never write the explanation by hand after the fact, however well written it would be: a sentence maintained beside a number is a second copy of a rule, and it goes stale on the first pricing change nobody remembers to follow. And we keep no per-customer pricing code, which is the fast way to win one deal and the slow way to lose the ability to explain anything.",
          "tables": []
        },
        {
          "heading": "What would show it is working",
          "text": "We watch the share of invoice lines whose rule id is missing, which is countable on every run and should fall to nothing. Then the share of explanation tickets in support's queue, which moves later and is read monthly. The first number moves within a sprint of any pricing change, which is what makes it worth watching — by the time the second one moves, the change that broke it is months old.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/strategies/invoicing-strategy.md"
    },
    {
      "id": "01a0ae17-9058-7ce4-a36c-49a68628ca76",
      "address": "surfaces/beacon-systems-website",
      "type": "surface",
      "name": "Beacon Systems website",
      "tagline": "The company's own site, where a buyer who has heard the name lands first, rebuilt from the model on every change.",
      "fields": {
        "id": "01a0ae17-9058-7ce4-a36c-49a68628ca76",
        "source": "Local",
        "production": "built",
        "built-by": "https://git.beacon.example/website",
        "url": "https://beacon.example"
      },
      "sections": [
        {
          "heading": "What it shows",
          "text": "- **Home** — the identity's tagline and `## What it is`.\n- **Principles** — the vision and the values.\n- **Team** — the profiles, each with the seats it holds.\n- **How we deliver** — the process and its phases, in order.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/surfaces/beacon-systems-website.md"
    },
    {
      "id": "01a08666-4360-706e-bfcc-98887db97e16",
      "address": "surfaces/partner-directory",
      "type": "surface",
      "name": "Partner directory",
      "tagline": "The listing a buyer reaches from the directory's search, maintained by hand because the directory takes no feed.",
      "fields": {
        "id": "01a08666-4360-706e-bfcc-98887db97e16",
        "source": "Local",
        "production": "written",
        "url": "https://directory.example.invalid/beacon-systems"
      },
      "sections": [
        {
          "heading": "What it shows",
          "text": "- **Company name and one-line description** — the identity's H1 and its tagline, unchanged.\n- **The long description** — the identity's `## What it is`, cut to the directory's limit.\n- **Capabilities** — the skills held at Proficient or Expert, under their own names.\n- **Contact** — the identity's `email` and `url`.",
          "tables": []
        },
        {
          "heading": "Projection rules",
          "text": "- The long description is the identity's `## What it is` up to the limit below, cut at a\n  paragraph and never mid-sentence. Nothing is written for the directory that is not in the\n  model first.\n- Capabilities carry no proficiency level. The directory shows a flat list and a level beside\n  a name it does not explain reads as a grade, so the level decides which skills appear rather\n  than appearing itself.\n- Skills held at Familiar or Competent are left out. The listing is what the company sells, and\n  a capability still being learned is not.\n- No profile is named. The directory lists companies, and a person named here would be a fact\n  about the company that the company's own identity does not carry.",
          "tables": []
        },
        {
          "heading": "Constraints",
          "text": "- The long description is at most 600 characters, the directory's limit, read from its editor\n  on 2026-01-05.\n- Every capability named is a skill in the model, spelled as that skill's H1.\n- The contact address resolves to the company and not to a person.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/surfaces/partner-directory.md"
    },
    {
      "id": "01a12230-f6e1-7682-a291-7ed1910422a6",
      "address": "system-kinds/platform",
      "type": "system-kind",
      "name": "Platform",
      "tagline": "What Beacon's services run on, rented from a provider and run by Beacon.",
      "fields": {
        "id": "01a12230-f6e1-7682-a291-7ed1910422a6",
        "source": "Local",
        "rank": "20",
        "element": "node"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "A cluster, a database host, run by Beacon's engineers on a provider's machines; it does nothing a customer sees.\n\nSoftware with a job of its own is Service or SaaS.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/system-kinds/platform.md"
    },
    {
      "id": "01a12230-f717-739f-9051-f62c78c974a0",
      "address": "system-kinds/saas",
      "type": "system-kind",
      "name": "SaaS",
      "tagline": "Software a vendor runs for Beacon, reached over the internet and paid for by use.",
      "fields": {
        "id": "01a12230-f717-739f-9051-f62c78c974a0",
        "source": "Local",
        "rank": "30",
        "element": "application-component"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "The vendor runs it, Beacon connects to it, and where it handles personal data the vendor is a data processor named on the page.\n\nSoftware Beacon runs itself is Service, whatever it does.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/system-kinds/saas.md"
    },
    {
      "id": "01a12230-f6a8-78e3-8025-fb23ef13317d",
      "address": "system-kinds/service",
      "type": "system-kind",
      "name": "Service",
      "tagline": "Software Beacon builds and runs itself, deployed to its own cluster.",
      "fields": {
        "id": "01a12230-f6a8-78e3-8025-fb23ef13317d",
        "source": "Local",
        "rank": "10",
        "element": "application-component"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Opened by nobody directly: the products are the faces people see, and a service stands behind them, built by Beacon's engineers and run on the Beacon cluster.\n\nSoftware a vendor runs for Beacon is SaaS; what services run on is Platform.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/system-kinds/service.md"
    },
    {
      "id": "01a12190-1c52-75a6-acde-c992a62c115a",
      "address": "systems/beacon-cluster",
      "type": "system",
      "name": "Beacon cluster",
      "tagline": "The managed Kubernetes cluster every Beacon service is deployed to, where a release lands at the end of the delivery process.",
      "fields": {
        "id": "01a12190-1c52-75a6-acde-c992a62c115a",
        "source": "Local",
        "kind": "Platform",
        "vendor": "Harbor Cloud",
        "lifecycle": "active",
        "criticality": "high",
        "operator": "Backend Engineer",
        "serves": [
          "Delivery"
        ]
      },
      "sections": [],
      "owner": null,
      "path": "example/model/systems/beacon-cluster.md"
    },
    {
      "id": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "address": "systems/billing-service",
      "type": "system",
      "name": "Billing service",
      "tagline": "The service that runs every billing run, prices each customer's usage against its contract, and writes the invoices and credit notes the Billing Console and the Invoice Page show.",
      "fields": {
        "id": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
        "source": "Local",
        "kind": "Service",
        "lifecycle": "active",
        "criticality": "high",
        "owner": "Backend Engineer",
        "part-of": "Beacon cluster",
        "realizes": [
          "Billing run",
          "Pricing rules",
          "Credit notes",
          "Charge explanation"
        ]
      },
      "sections": [
        {
          "heading": "Holds",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Concept",
                "Data object",
                "Access"
              ],
              "rows": [
                [
                  "Invoice",
                  "Invoice record",
                  "master"
                ],
                [
                  "Invoice line",
                  "",
                  "master"
                ],
                [
                  "Credit note",
                  "",
                  "master"
                ],
                [
                  "Pricing rule",
                  "",
                  "master"
                ],
                [
                  "Customer",
                  "",
                  "reads"
                ],
                [
                  "Usage record",
                  "",
                  "reads"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Concept",
              "Data object",
              "Access"
            ],
            "rows": [
              [
                "Invoice",
                "Invoice record",
                "master"
              ],
              [
                "Invoice line",
                "",
                "master"
              ],
              [
                "Credit note",
                "",
                "master"
              ],
              [
                "Pricing rule",
                "",
                "master"
              ],
              [
                "Customer",
                "",
                "reads"
              ],
              [
                "Usage record",
                "",
                "reads"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/systems/billing-service.md"
    },
    {
      "id": "01a12190-1c8c-7467-b70b-0c658281c7b8",
      "address": "systems/invoice-mailer",
      "type": "system",
      "name": "Invoice mailer",
      "tagline": "The hosted mailer that takes each finished invoice from the Billing service and delivers it to the customer's address.",
      "fields": {
        "id": "01a12190-1c8c-7467-b70b-0c658281c7b8",
        "source": "Local",
        "kind": "SaaS",
        "lifecycle": "active",
        "criticality": "medium",
        "processor": "Lantern Mail",
        "domain": "Invoicing"
      },
      "sections": [
        {
          "heading": "Connects to",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "System",
                "As",
                "Service",
                "Carries",
                "Via"
              ],
              "rows": [
                [
                  "Billing service",
                  "Feed endpoint",
                  "Invoice feed",
                  "Invoice",
                  "REST"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "System",
              "As",
              "Service",
              "Carries",
              "Via"
            ],
            "rows": [
              [
                "Billing service",
                "Feed endpoint",
                "Invoice feed",
                "Invoice",
                "REST"
              ]
            ]
          }
        },
        {
          "heading": "Holds",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Concept",
                "Data object",
                "Access"
              ],
              "rows": [
                [
                  "Invoice",
                  "Invoice record",
                  "reads"
                ],
                [
                  "Customer",
                  "",
                  "reads"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Concept",
              "Data object",
              "Access"
            ],
            "rows": [
              [
                "Invoice",
                "Invoice record",
                "reads"
              ],
              [
                "Customer",
                "",
                "reads"
              ]
            ]
          }
        }
      ],
      "owner": null,
      "path": "example/model/systems/invoice-mailer.md"
    },
    {
      "id": "01a12b01-39b2-7ea6-994a-d246d4ab6825",
      "address": "use-cases/download-an-invoice",
      "type": "use-case",
      "name": "Download an invoice",
      "tagline": "A payer keeps a copy of an invoice in their own books, exactly as it was issued.",
      "fields": {
        "id": "01a12b01-39b2-7ea6-994a-d246d4ab6825",
        "source": "Local",
        "level": "user goal",
        "scope": "system",
        "primary-actor": "Payer",
        "features": [
          "Invoice download"
        ],
        "includes": [
          "Find an invoice"
        ]
      },
      "sections": [
        {
          "heading": "Stakeholders and interests",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Stakeholder",
                "Interest"
              ],
              "rows": [
                [
                  "Payer",
                  "A copy that matches the invoice they were sent, line for line"
                ],
                [
                  "Backend Engineer",
                  "A copy made from the issued invoice and never computed again"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Stakeholder",
              "Interest"
            ],
            "rows": [
              [
                "Payer",
                "A copy that matches the invoice they were sent, line for line"
              ],
              [
                "Backend Engineer",
                "A copy made from the issued invoice and never computed again"
              ]
            ]
          }
        },
        {
          "heading": "Trigger",
          "text": "The payer's bookkeeping asks for the invoice of a closed billing period.",
          "tables": []
        },
        {
          "heading": "Main success scenario",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Step",
                "Actor",
                "Action"
              ],
              "rows": [
                [
                  "1",
                  "Payer",
                  "Finds the invoice on the Invoice Page, as Find an invoice says"
                ],
                [
                  "2",
                  "Payer",
                  "Asks for a copy"
                ],
                [
                  "3",
                  "System",
                  "Hands over the invoice as it was issued, every line and its explanation"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Step",
              "Actor",
              "Action"
            ],
            "rows": [
              [
                "1",
                "Payer",
                "Finds the invoice on the Invoice Page, as Find an invoice says"
              ],
              [
                "2",
                "Payer",
                "Asks for a copy"
              ],
              [
                "3",
                "System",
                "Hands over the invoice as it was issued, every line and its explanation"
              ]
            ]
          }
        },
        {
          "heading": "Extensions",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Step",
                "Condition",
                "Handling"
              ],
              "rows": [
                [
                  "1a",
                  "The billing period is still open, so no invoice is issued yet",
                  "The page says when the period closes, and the payer comes back then, so the use case ends without a copy"
                ],
                [
                  "3a",
                  "A credit note has been issued against the invoice since",
                  "The copy is still the invoice as issued, and the page names the credit note beside it"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Step",
              "Condition",
              "Handling"
            ],
            "rows": [
              [
                "1a",
                "The billing period is still open, so no invoice is issued yet",
                "The page says when the period closes, and the payer comes back then, so the use case ends without a copy"
              ],
              [
                "3a",
                "A credit note has been issued against the invoice since",
                "The copy is still the invoice as issued, and the page names the credit note beside it"
              ]
            ]
          }
        },
        {
          "heading": "Minimal guarantees",
          "text": "- No copy differs from the invoice as it was issued.",
          "tables": []
        },
        {
          "heading": "Success guarantees",
          "text": "- The payer holds a copy that matches what the Invoice Page showed on the day the invoice was issued.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/use-cases/download-an-invoice.md"
    },
    {
      "id": "01a12b01-39eb-7a27-a513-10b8e399cbc1",
      "address": "use-cases/find-an-invoice",
      "type": "use-case",
      "name": "Find an invoice",
      "tagline": "A payer has the invoice of the billing period they pick in front of them.",
      "fields": {
        "id": "01a12b01-39eb-7a27-a513-10b8e399cbc1",
        "source": "Local",
        "level": "subfunction",
        "primary-actor": "Payer"
      },
      "sections": [
        {
          "heading": "Stakeholders and interests",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Stakeholder",
                "Interest"
              ],
              "rows": [
                [
                  "Payer",
                  "Only their own invoices, and the one for the period they picked"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Stakeholder",
              "Interest"
            ],
            "rows": [
              [
                "Payer",
                "Only their own invoices, and the one for the period they picked"
              ]
            ]
          }
        },
        {
          "heading": "Main success scenario",
          "text": "",
          "tables": [
            {
              "caption": null,
              "columns": [
                "Step",
                "Actor",
                "Action"
              ],
              "rows": [
                [
                  "1",
                  "Payer",
                  "Picks a billing period"
                ],
                [
                  "2",
                  "System",
                  "Shows the invoice issued for that period"
                ]
              ]
            }
          ],
          "table": {
            "caption": null,
            "columns": [
              "Step",
              "Actor",
              "Action"
            ],
            "rows": [
              [
                "1",
                "Payer",
                "Picks a billing period"
              ],
              [
                "2",
                "System",
                "Shows the invoice issued for that period"
              ]
            ]
          }
        },
        {
          "heading": "Minimal guarantees",
          "text": "- No payer sees another payer's invoice.",
          "tables": []
        },
        {
          "heading": "Success guarantees",
          "text": "- The invoice of the period the payer picked is on the page.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/use-cases/find-an-invoice.md"
    },
    {
      "id": "01a02f53-2408-79ce-829d-b6012ab3c389",
      "address": "values/craftsmanship",
      "type": "value",
      "name": "Craftsmanship",
      "tagline": "We would rather ship one thing that holds up than three that need watching.",
      "fields": {
        "id": "01a02f53-2408-79ce-829d-b6012ab3c389",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "We refuse a deadline that can only be met by leaving something half-built, and we say so early enough that the date can still move.\n\nWe never ship on time while knowing privately which part will be rewritten within the quarter.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/values/craftsmanship.md"
    },
    {
      "id": "01a02f53-2408-78fd-89ea-6fdf7e9a6be6",
      "address": "values/say-the-hard-thing",
      "type": "value",
      "name": "Say The Hard Thing",
      "tagline": "Disagreement that arrives after the decision is not disagreement, it is commentary.",
      "fields": {
        "id": "01a02f53-2408-78fd-89ea-6fdf7e9a6be6",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "In practice",
          "text": "We name the objection in the room where the choice is being made, once and plainly, and then commit to whatever is decided.\n\nWe never agree in the meeting and reopen the question in a side channel afterwards.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/values/say-the-hard-thing.md"
    },
    {
      "id": "01a04c7b-6b80-7b10-9aa6-0be3d4a2ce75",
      "address": "vision",
      "type": "vision",
      "name": "Billing nobody has to explain",
      "tagline": "A customer reading one of our invoices can tell how the number was reached, without calling us and without a spreadsheet beside it.",
      "fields": {
        "id": "01a04c7b-6b80-7b10-9aa6-0be3d4a2ce75",
        "source": "Local"
      },
      "sections": [
        {
          "heading": "What it means",
          "text": "Every charge traces to something the customer did, in language they used when they agreed to it. When an invoice is disputed the answer is in the invoice, and support confirms it rather than reconstructing it. We would know this holds when disputes are resolved by reading rather than by investigation.\n\nIt says nothing about what we charge or whom we sell to. Pricing models and market are decisions we expect to change several times; this is what we want to be true of the bill whatever they turn out to be.",
          "tables": []
        }
      ],
      "owner": null,
      "path": "example/model/vision.md"
    }
  ],
  "edges": [
    {
      "from": "01a02f53-2408-7255-a610-b931d033c1d4",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "to": "01a02f53-2408-7255-a610-b931d033c1d4",
      "via": "Evidence.Skill",
      "attrs": {
        "What it shows": "Split the billing domain into two bounded contexts; the seams have held under two years of change.",
        "Experience": "01a02f53-2408-7b1e-bad3-c39aa223228c"
      }
    },
    {
      "from": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "to": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
      "via": "Evidence.Skill",
      "attrs": {
        "What it shows": "Owned the JVM services two other teams built on, and was the one called when they stopped.",
        "Experience": "01a02f53-2408-729e-aa93-95bce1b59a93"
      }
    },
    {
      "from": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "to": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
      "via": "Evidence.Skill",
      "attrs": {
        "What it shows": "Replaced a nightly batch with a pipeline that ran when the order did, taking visibility from the next morning to seconds.",
        "Experience": "01a02f53-2408-729e-aa93-95bce1b59a93"
      }
    },
    {
      "from": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "to": "01a02f53-2408-7255-a610-b931d033c1d4",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "01a02f8b-db90-7f26-8c18-79e44090fddb"
      }
    },
    {
      "from": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "to": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "01a02f8b-db90-7e41-8fe9-9672700145e0"
      }
    },
    {
      "from": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "seats",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "to": "01a03a36-9dc8-7e9b-9500-583546f2a37c",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-729e-aa93-95bce1b59a93",
      "to": "01a0b0b8-a108-7db9-b6d4-ab3e08e2c1c8",
      "via": "Achievements.Kind",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-729e-aa93-95bce1b59a93",
      "to": "01a0b0b8-a108-7e20-8c94-a5323dc3e63b",
      "via": "Achievements.Kind",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-729e-aa93-95bce1b59a93",
      "to": "01a06385-9d00-7cf7-8d01-185357324476",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-729e-aa93-95bce1b59a93",
      "to": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-729e-aa93-95bce1b59a93",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-78fd-89ea-6fdf7e9a6be6",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-79ce-829d-b6012ab3c389",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-7b1e-bad3-c39aa223228c",
      "to": "01a0b0b8-a108-7db9-b6d4-ab3e08e2c1c8",
      "via": "Achievements.Kind",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-7b1e-bad3-c39aa223228c",
      "to": "01a0b0b8-a108-7e20-8c94-a5323dc3e63b",
      "via": "Achievements.Kind",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-7b1e-bad3-c39aa223228c",
      "to": "01a06385-9d00-7cf7-8d01-185357324476",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-7b1e-bad3-c39aa223228c",
      "to": "01a04c7b-6b80-7021-b82c-bfedcb24827f",
      "via": "organization",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-7b1e-bad3-c39aa223228c",
      "to": "01a02f53-2408-7255-a610-b931d033c1d4",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-7b1e-bad3-c39aa223228c",
      "to": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "01a02f53-2408-7b1e-bad3-c39aa223228c",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a02f8b-db90-71f9-a22d-205ad39ac4f8",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a02f8b-db90-7a8b-815a-989dfd3ff84b",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a02f8b-db90-7e41-8fe9-9672700145e0",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a02f8b-db90-7f26-8c18-79e44090fddb",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "to": "01a02f53-2408-7255-a610-b931d033c1d4",
      "via": "Evidence.Skill",
      "attrs": {
        "What it shows": "Sat in the billing-context sessions and can follow a context map; has never drawn one.",
        "Experience": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de"
      }
    },
    {
      "from": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "to": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
      "via": "Evidence.Skill",
      "attrs": {
        "What it shows": "Reads pull requests well enough to ask the right question, and has merged none.",
        "Experience": ""
      }
    },
    {
      "from": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "to": "01a03a2c-2de8-7464-ae57-ae7a44c2b395",
      "via": "Evidence.Skill",
      "attrs": {
        "What it shows": "Ran the conversations that showed visibility, not speed, was what the pipeline rebuild bought, and rewrote the roadmap around it.",
        "Experience": "01a03a2c-2de8-7d5f-bdd5-54911ee6ace2"
      }
    },
    {
      "from": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "to": "01a03a2c-2de8-7464-ae57-ae7a44c2b395",
      "via": "Evidence.Skill",
      "attrs": {
        "What it shows": "Told a room that the rebuild's measured win was not the one it had been funded for.",
        "Experience": "01a047a6-f070-7bcb-a970-75d3ff9b6bf8"
      }
    },
    {
      "from": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "to": "01a03a2c-2de8-7464-ae57-ae7a44c2b395",
      "via": "Evidence.Skill",
      "attrs": {
        "What it shows": "Killed two of the three features on the 2023 roadmap after twenty customer conversations; the third shipped and is the one customers name.",
        "Experience": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de"
      }
    },
    {
      "from": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "to": "01a02f53-2408-7255-a610-b931d033c1d4",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "01a02f8b-db90-71f9-a22d-205ad39ac4f8"
      }
    },
    {
      "from": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "to": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "01a02f8b-db90-71f9-a22d-205ad39ac4f8"
      }
    },
    {
      "from": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "to": "01a03a2c-2de8-7464-ae57-ae7a44c2b395",
      "via": "Skills.Skill",
      "attrs": {
        "Level": "01a02f8b-db90-7a8b-815a-989dfd3ff84b"
      }
    },
    {
      "from": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "to": "01a03a36-9dc8-7e9b-9500-583546f2a37c",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7464-ae57-ae7a44c2b395",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de",
      "to": "01a0b0b8-a108-7599-9272-b4401bbf7084",
      "via": "Achievements.Kind",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de",
      "to": "01a0b0b8-a108-7db9-b6d4-ab3e08e2c1c8",
      "via": "Achievements.Kind",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de",
      "to": "01a06385-9d00-7cf7-8d01-185357324476",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de",
      "to": "01a04c7b-6b80-7021-b82c-bfedcb24827f",
      "via": "organization",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de",
      "to": "01a02f53-2408-7255-a610-b931d033c1d4",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de",
      "to": "01a03a2c-2de8-7464-ae57-ae7a44c2b395",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7b8e-bec7-3618c8fbf2de",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7d5f-bdd5-54911ee6ace2",
      "to": "01a0b0b8-a108-7599-9272-b4401bbf7084",
      "via": "Achievements.Kind",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7d5f-bdd5-54911ee6ace2",
      "to": "01a06385-9d00-7cf7-8d01-185357324476",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7d5f-bdd5-54911ee6ace2",
      "to": "01a03a2c-2de8-7464-ae57-ae7a44c2b395",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "01a03a2c-2de8-7d5f-bdd5-54911ee6ace2",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a047a6-f070-7bcb-a970-75d3ff9b6bf8",
      "to": "01a0b0b8-a108-7a00-8d86-e683919c26ba",
      "via": "Achievements.Kind",
      "attrs": {}
    },
    {
      "from": "01a047a6-f070-7bcb-a970-75d3ff9b6bf8",
      "to": "01a06385-9d00-7fff-ab77-615f9b902c2f",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a047a6-f070-7bcb-a970-75d3ff9b6bf8",
      "to": "01a03a2c-2de8-7464-ae57-ae7a44c2b395",
      "via": "skills",
      "attrs": {}
    },
    {
      "from": "01a047a6-f070-7bcb-a970-75d3ff9b6bf8",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a04c7b-6b80-7021-b82c-bfedcb24827f",
      "to": "01a03a36-9dc8-7e9b-9500-583546f2a37c",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a04c7b-6b80-7b10-9aa6-0be3d4a2ce75",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a06385-9d00-77bd-944c-8d4ba61288db",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a06385-9d00-7cf7-8d01-185357324476",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a06385-9d00-7fa8-9e3b-5082c9904037",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a06385-9d00-7fff-ab77-615f9b902c2f",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a08666-4360-706e-bfcc-98887db97e16",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0a48f-60d8-770f-9cb8-e4bbbd846a66",
      "to": "01a0a48f-60d8-7d32-a8cd-12ec4281c038",
      "via": "serves",
      "attrs": {}
    },
    {
      "from": "01a0a48f-60d8-770f-9cb8-e4bbbd846a66",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0a48f-60d8-770f-9cb8-e4bbbd846a66",
      "to": "01a02f53-2408-79ce-829d-b6012ab3c389",
      "via": "upholds",
      "attrs": {}
    },
    {
      "from": "01a0a48f-60d8-7d32-a8cd-12ec4281c038",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "to": "01a02f53-2408-7255-a610-b931d033c1d4",
      "via": "requires",
      "attrs": {}
    },
    {
      "from": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0a6b8-7e80-78af-b202-d3733bdd650c",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "seats",
      "attrs": {}
    },
    {
      "from": "01a0a6b8-7e80-78af-b202-d3733bdd650c",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "to": "01a02f53-2408-76c1-aee5-cc97a65fcc78",
      "via": "requires",
      "attrs": {}
    },
    {
      "from": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "escalation-authority",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "executed-by",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "gate-approvers",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "gate-approvers",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "owner",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "supported-by",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "to": "01a0bfb0-acf0-74cd-b00c-e4476b81e56e",
      "via": "Activities.Track",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "to": "01a0bfb0-acf0-7fa9-9817-8993fc642da6",
      "via": "Activities.Track",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "to": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "via": "If not met.Leads to",
      "attrs": {
        "Outcome": "reworked"
      }
    },
    {
      "from": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "escalation-authority",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "executed-by",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "executed-by",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "gate-approvers",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "to": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "via": "gate-to",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "owner",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "to": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "via": "Phases.Phase",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "to": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "via": "Phases.Phase",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "to": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "via": "Phases.Phase",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "to": "01a0bfb0-acf0-74cd-b00c-e4476b81e56e",
      "via": "Tracks.Track",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "to": "01a0bfb0-acf0-7fa9-9817-8993fc642da6",
      "via": "Tracks.Track",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "owner",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "supported-by",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "to": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "via": "If not met.Leads to",
      "attrs": {
        "Outcome": "reshaped"
      }
    },
    {
      "from": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "escalation-authority",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "executed-by",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "gate-approvers",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "to": "01a0a8c7-74d8-774b-ad7c-383aad1f52ec",
      "via": "gate-to",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "owner",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0a8c7-74d8-7c8a-9e3a-0d72ef94fce1",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "supported-by",
      "attrs": {}
    },
    {
      "from": "01a0ae17-9058-7ce4-a36c-49a68628ca76",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0b0b8-a108-7599-9272-b4401bbf7084",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0b0b8-a108-7a00-8d86-e683919c26ba",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0b0b8-a108-7db9-b6d4-ab3e08e2c1c8",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0b0b8-a108-7e20-8c94-a5323dc3e63b",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0bfb0-acf0-74cd-b00c-e4476b81e56e",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0bfb0-acf0-7fa9-9817-8993fc642da6",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "to": "01a0c25c-19f8-716b-846a-8c5f00818198",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "one",
        "As": "billed customer"
      }
    },
    {
      "from": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "to": "01a0c25c-19f8-72d5-bef8-bc1574eb03f4",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "one",
        "As": ""
      }
    },
    {
      "from": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "to": "01a0c25c-19f8-788e-8b44-ada689a92da4",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "one to many",
        "As": "lines"
      }
    },
    {
      "from": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "to": "01a0c25c-19f8-79d2-898e-01b6da02bb29",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-70f4-803c-9899401b89dd",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-716b-846a-8c5f00818198",
      "to": "01a0c25c-19f8-70f4-803c-9899401b89dd",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-716b-846a-8c5f00818198",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-72d5-bef8-bc1574eb03f4",
      "to": "01a0c25c-19f8-79d2-898e-01b6da02bb29",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-72d5-bef8-bc1574eb03f4",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-73d1-90f2-6b99d03be0a7",
      "to": "01a0c25c-19f8-70f4-803c-9899401b89dd",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-73d1-90f2-6b99d03be0a7",
      "to": "01a1218a-ea4b-719a-8ff6-c652c9eea5ee",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-73d1-90f2-6b99d03be0a7",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-764b-a67b-1073041d82ed",
      "to": "01a0c25c-19f8-79d2-898e-01b6da02bb29",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-764b-a67b-1073041d82ed",
      "to": "01a1218a-ea82-78fc-ae73-ccb3b2d20727",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-764b-a67b-1073041d82ed",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-76b2-92d0-ed85a91331b4",
      "to": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "one",
        "As": "corrected invoice"
      }
    },
    {
      "from": "01a0c25c-19f8-76b2-92d0-ed85a91331b4",
      "to": "01a0c25c-19f8-788e-8b44-ada689a92da4",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "one to many",
        "As": "lines"
      }
    },
    {
      "from": "01a0c25c-19f8-76b2-92d0-ed85a91331b4",
      "to": "01a0c25c-19f8-79d2-898e-01b6da02bb29",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-76b2-92d0-ed85a91331b4",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-775c-bdc0-cbdf0b182b2d",
      "to": "01a0c25c-19f8-788e-8b44-ada689a92da4",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-775c-bdc0-cbdf0b182b2d",
      "to": "01a0c25c-19f8-7980-a019-46b608819370",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-775c-bdc0-cbdf0b182b2d",
      "to": "01a0c25c-19f8-7aa8-92f8-8cb84ce85714",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-775c-bdc0-cbdf0b182b2d",
      "to": "01a0c25c-19f8-73d1-90f2-6b99d03be0a7",
      "via": "products",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-775c-bdc0-cbdf0b182b2d",
      "to": "01a0c25c-19f8-764b-a67b-1073041d82ed",
      "via": "products",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-775c-bdc0-cbdf0b182b2d",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-776c-ba20-82b391bc6e7a",
      "to": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-776c-ba20-82b391bc6e7a",
      "to": "01a0c25c-19f8-76b2-92d0-ed85a91331b4",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-776c-ba20-82b391bc6e7a",
      "to": "01a0c25c-19f8-73d1-90f2-6b99d03be0a7",
      "via": "products",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-776c-ba20-82b391bc6e7a",
      "to": "01a0c25c-19f8-764b-a67b-1073041d82ed",
      "via": "products",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-776c-ba20-82b391bc6e7a",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-77ee-8656-f16c523bdc15",
      "to": "01a0c25c-19f8-764b-a67b-1073041d82ed",
      "via": "products",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-77ee-8656-f16c523bdc15",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-788e-8b44-ada689a92da4",
      "to": "01a0c25c-19f8-7980-a019-46b608819370",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "one",
        "As": "rule"
      }
    },
    {
      "from": "01a0c25c-19f8-788e-8b44-ada689a92da4",
      "to": "01a0c25c-19f8-7aa8-92f8-8cb84ce85714",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "many",
        "As": "usage read"
      }
    },
    {
      "from": "01a0c25c-19f8-788e-8b44-ada689a92da4",
      "to": "01a0c25c-19f8-79d2-898e-01b6da02bb29",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-788e-8b44-ada689a92da4",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7980-a019-46b608819370",
      "to": "01a0c25c-19f8-70f4-803c-9899401b89dd",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7980-a019-46b608819370",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-79d2-898e-01b6da02bb29",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7aa8-92f8-8cb84ce85714",
      "to": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "one",
        "As": ""
      }
    },
    {
      "from": "01a0c25c-19f8-7aa8-92f8-8cb84ce85714",
      "to": "01a0c25c-19f8-70f4-803c-9899401b89dd",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7aa8-92f8-8cb84ce85714",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7b11-9b56-2c95a9f92677",
      "to": "01a0c25c-19f8-7980-a019-46b608819370",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7b11-9b56-2c95a9f92677",
      "to": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7b11-9b56-2c95a9f92677",
      "to": "01a0c25c-19f8-73d1-90f2-6b99d03be0a7",
      "via": "products",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7b11-9b56-2c95a9f92677",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7b2b-81c4-d2dd9f850e9c",
      "to": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7b2b-81c4-d2dd9f850e9c",
      "to": "01a0c25c-19f8-72d5-bef8-bc1574eb03f4",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7b2b-81c4-d2dd9f850e9c",
      "to": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7b2b-81c4-d2dd9f850e9c",
      "to": "01a0c25c-19f8-73d1-90f2-6b99d03be0a7",
      "via": "products",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7b2b-81c4-d2dd9f850e9c",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
      "to": "01a0c25c-19f8-716b-846a-8c5f00818198",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "one",
        "As": "signing customer"
      }
    },
    {
      "from": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
      "to": "01a0c25c-19f8-716b-846a-8c5f00818198",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "maybe one",
        "As": "paying customer"
      }
    },
    {
      "from": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
      "to": "01a0c25c-19f8-7980-a019-46b608819370",
      "via": "Relations.Concept",
      "attrs": {
        "Cardinality": "one to many",
        "As": "terms"
      }
    },
    {
      "from": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
      "to": "01a0c25c-19f8-70f4-803c-9899401b89dd",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7f6a-aa9d-2d7a3a1eb26a",
      "to": "01a0c25c-19f8-70f4-803c-9899401b89dd",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7f6a-aa9d-2d7a3a1eb26a",
      "to": "01a1218a-eab6-7a05-be07-a764f7c083db",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7f6a-aa9d-2d7a3a1eb26a",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7f6b-8c83-ceaa8f5973f9",
      "to": "01a0c25c-19f8-7aa8-92f8-8cb84ce85714",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7f6b-8c83-ceaa8f5973f9",
      "to": "01a0c25c-19f8-7ccf-b892-f4144684c95f",
      "via": "concepts",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7f6b-8c83-ceaa8f5973f9",
      "to": "01a0c25c-19f8-7f6a-aa9d-2d7a3a1eb26a",
      "via": "products",
      "attrs": {}
    },
    {
      "from": "01a0c25c-19f8-7f6b-8c83-ceaa8f5973f9",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0d1c8-57f8-73a4-b61f-7b03c32060dc",
      "to": "01a02f53-2408-7b1e-bad3-c39aa223228c",
      "via": "Rests on.Entity",
      "attrs": {
        "Type": "experience",
        "Owner": "Mira Halvorsen",
        "For": "the period"
      }
    },
    {
      "from": "01a0d1c8-57f8-73a4-b61f-7b03c32060dc",
      "to": "01a0dd35-9358-7f34-b9f9-9c998df35ff1",
      "via": "Rests on.Entity",
      "attrs": {
        "Type": "decision",
        "Owner": "",
        "For": "why"
      }
    },
    {
      "from": "01a0d1c8-57f8-73a4-b61f-7b03c32060dc",
      "to": "01a0ddfe-36a0-7779-a302-cbbaa288765c",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a0d1c8-57f8-73a4-b61f-7b03c32060dc",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0d1c8-57f8-7401-af19-6456db3c051b",
      "to": "01a0ddfe-36a0-76b9-8696-11dd3f43cad7",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a0d1c8-57f8-7401-af19-6456db3c051b",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0d1c8-57f8-791a-aa3a-6c23955e4a5f",
      "to": "01a0c25c-19f8-775c-bdc0-cbdf0b182b2d",
      "via": "Rests on.Entity",
      "attrs": {
        "Type": "feature",
        "Owner": "",
        "For": "where a line comes from"
      }
    },
    {
      "from": "01a0d1c8-57f8-791a-aa3a-6c23955e4a5f",
      "to": "01a0c25c-19f8-7b11-9b56-2c95a9f92677",
      "via": "Rests on.Entity",
      "attrs": {
        "Type": "feature",
        "Owner": "",
        "For": "what it costs"
      }
    },
    {
      "from": "01a0d1c8-57f8-791a-aa3a-6c23955e4a5f",
      "to": "01a0ddfe-36a0-7779-a302-cbbaa288765c",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a0d1c8-57f8-791a-aa3a-6c23955e4a5f",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0d888-d040-7226-b4e2-24993ad80baf",
      "to": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "via": "measures",
      "attrs": {}
    },
    {
      "from": "01a0d888-d040-7226-b4e2-24993ad80baf",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "owner",
      "attrs": {}
    },
    {
      "from": "01a0d888-d040-7226-b4e2-24993ad80baf",
      "to": "01a0d888-d040-77b2-940d-11f931f3b8b4",
      "via": "read-with",
      "attrs": {}
    },
    {
      "from": "01a0d888-d040-7226-b4e2-24993ad80baf",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0d888-d040-77b2-940d-11f931f3b8b4",
      "to": "01a02f53-2408-79ce-829d-b6012ab3c389",
      "via": "can-cost",
      "attrs": {}
    },
    {
      "from": "01a0d888-d040-77b2-940d-11f931f3b8b4",
      "to": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "via": "measures",
      "attrs": {}
    },
    {
      "from": "01a0d888-d040-77b2-940d-11f931f3b8b4",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "owner",
      "attrs": {}
    },
    {
      "from": "01a0d888-d040-77b2-940d-11f931f3b8b4",
      "to": "01a0d888-d040-7226-b4e2-24993ad80baf",
      "via": "read-with",
      "attrs": {}
    },
    {
      "from": "01a0d888-d040-77b2-940d-11f931f3b8b4",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0d907-1478-7032-8b40-57789e97c388",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0dd35-9358-70ac-a19f-441d4e7e8183",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0dd35-9358-72cf-a4bd-360593010506",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0dd35-9358-7359-89d0-a3a4afb3d24d",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0dd35-9358-7c8f-a3e8-0a4b022e70b7",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0dd35-9358-7f34-b9f9-9c998df35ff1",
      "to": "01a02f53-2408-7b1e-bad3-c39aa223228c",
      "via": "Bears on.Entity",
      "attrs": {
        "Type": "experience",
        "Owner": "Mira Halvorsen",
        "How": "made it"
      }
    },
    {
      "from": "01a0dd35-9358-7f34-b9f9-9c998df35ff1",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "by",
      "attrs": {}
    },
    {
      "from": "01a0dd35-9358-7f34-b9f9-9c998df35ff1",
      "to": "01a0dd35-9358-72cf-a4bd-360593010506",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a0dd35-9358-7f34-b9f9-9c998df35ff1",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0dd35-9358-7f34-b9f9-9c998df35ff1",
      "to": "01a0dd35-9358-7359-89d0-a3a4afb3d24d",
      "via": "status",
      "attrs": {}
    },
    {
      "from": "01a0dd35-9358-7f34-b9f9-9c998df35ff1",
      "to": "01a02f53-2408-79ce-829d-b6012ab3c389",
      "via": "upholds",
      "attrs": {}
    },
    {
      "from": "01a0ddfe-36a0-76b9-8696-11dd3f43cad7",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0ddfe-36a0-7779-a302-cbbaa288765c",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0ddfe-36a0-7c39-a842-8ffce211182a",
      "to": "01a02f53-2408-78fd-89ea-6fdf7e9a6be6",
      "via": "Rests on.Entity",
      "attrs": {
        "Type": "value",
        "Owner": "",
        "For": "when disagreement is still worth saying"
      }
    },
    {
      "from": "01a0ddfe-36a0-7c39-a842-8ffce211182a",
      "to": "01a02f53-2408-79ce-829d-b6012ab3c389",
      "via": "Rests on.Entity",
      "attrs": {
        "Type": "value",
        "Owner": "",
        "For": "how it treats a deadline"
      }
    },
    {
      "from": "01a0ddfe-36a0-7c39-a842-8ffce211182a",
      "to": "01a0ddfe-36a0-76b9-8696-11dd3f43cad7",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a0ddfe-36a0-7c39-a842-8ffce211182a",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0f10b-91d2-7004-96e6-daffc70ee0c1",
      "to": "01a03a36-9dc8-7e9b-9500-583546f2a37c",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0f254-3527-78bd-9d78-ee022ef66188",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0fb1b-b4c9-7a12-b0d3-9c98579ccb26",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "owner",
      "attrs": {}
    },
    {
      "from": "01a0fb1b-b4c9-7a12-b0d3-9c98579ccb26",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0fb1b-b4c9-7a12-b0d3-9c98579ccb26",
      "to": "01a0a48f-60d8-7d32-a8cd-12ec4281c038",
      "via": "threatens",
      "attrs": {}
    },
    {
      "from": "01a0fb1b-b4ff-7020-8a63-e80de5bbcc7f",
      "to": "01a0a6b8-7e80-74e2-8c05-e4518d7679c9",
      "via": "Applies to.Entity",
      "attrs": {
        "Type": "seat",
        "Owner": ""
      }
    },
    {
      "from": "01a0fb1b-b4ff-7020-8a63-e80de5bbcc7f",
      "to": "01a0a8c7-74d8-7361-97d6-5f56164eff80",
      "via": "Applies to.Entity",
      "attrs": {
        "Type": "phase",
        "Owner": "Delivery"
      }
    },
    {
      "from": "01a0fb1b-b4ff-7020-8a63-e80de5bbcc7f",
      "to": "01a0fb1b-b4c9-7a12-b0d3-9c98579ccb26",
      "via": "motivated-by",
      "attrs": {}
    },
    {
      "from": "01a0fb1b-b4ff-7020-8a63-e80de5bbcc7f",
      "to": "01a02f53-2408-79ce-829d-b6012ab3c389",
      "via": "protects",
      "attrs": {}
    },
    {
      "from": "01a0fb1b-b4ff-7020-8a63-e80de5bbcc7f",
      "to": "01a0a48f-60d8-7d32-a8cd-12ec4281c038",
      "via": "serves",
      "attrs": {}
    },
    {
      "from": "01a0fb1b-b4ff-7020-8a63-e80de5bbcc7f",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a0fb1b-b534-79e9-a261-eda408034315",
      "to": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "via": "Applies to.Entity",
      "attrs": {
        "Type": "process",
        "Owner": ""
      }
    },
    {
      "from": "01a0fb1b-b534-79e9-a261-eda408034315",
      "to": "01a0fb1b-b4ff-7020-8a63-e80de5bbcc7f",
      "via": "enforces",
      "attrs": {}
    },
    {
      "from": "01a0fb1b-b534-79e9-a261-eda408034315",
      "to": "01a0fb1b-b4c9-7a12-b0d3-9c98579ccb26",
      "via": "mitigates",
      "attrs": {}
    },
    {
      "from": "01a0fb1b-b534-79e9-a261-eda408034315",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a10040-3005-7db7-a01b-d031d4bebf58",
      "to": "01a0fb1b-b534-79e9-a261-eda408034315",
      "via": "assesses",
      "attrs": {}
    },
    {
      "from": "01a10040-3005-7db7-a01b-d031d4bebf58",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "owner",
      "attrs": {}
    },
    {
      "from": "01a10040-3005-7db7-a01b-d031d4bebf58",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a10523-72fd-716a-adde-7b185258fad6",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a10523-733e-7f2e-beab-5a53c9c792b7",
      "to": "01a10523-72fd-716a-adde-7b185258fad6",
      "via": "Processors.Processor",
      "attrs": {
        "Receives": "The billing contact's email address and the invoice as a PDF"
      }
    },
    {
      "from": "01a10523-733e-7f2e-beab-5a53c9c792b7",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a10523-733e-7f2e-beab-5a53c9c792b7",
      "to": "01a0ae17-9058-7ce4-a36c-49a68628ca76",
      "via": "surfaces",
      "attrs": {}
    },
    {
      "from": "01a10523-7383-700a-9eec-4c21a13dfcb4",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a10523-7383-700a-9eec-4c21a13dfcb4",
      "to": "01a0ae17-9058-7ce4-a36c-49a68628ca76",
      "via": "surfaces",
      "attrs": {}
    },
    {
      "from": "01a1152c-379b-73e1-b7e3-e6cc8ff183be",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1152c-37cd-72c7-9330-b457a52f24ab",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1152c-3800-7600-a961-2992dc0f3e2d",
      "to": "01a11fec-8792-73f8-b030-92147dae4f65",
      "via": "People.Profile",
      "attrs": {
        "Job": "01a11fec-8800-7f1d-aefb-030f2f1a31f8",
        "Place": "Lead"
      }
    },
    {
      "from": "01a1152c-3800-7600-a961-2992dc0f3e2d",
      "to": "01a11fec-87c0-7d80-8aa2-fa64547264dc",
      "via": "People.Profile",
      "attrs": {
        "Job": "01a11fcc-a50a-7011-b85b-e24a6436103d",
        "Place": "Staff"
      }
    },
    {
      "from": "01a1152c-3800-7600-a961-2992dc0f3e2d",
      "to": "01a1152c-379b-73e1-b7e3-e6cc8ff183be",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a1152c-3800-7600-a961-2992dc0f3e2d",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1152c-3830-7c3f-b3ad-3761dc40528c",
      "to": "01a1199f-df7d-7d7d-90ae-03cd52174cbf",
      "via": "Openings.Job",
      "attrs": {
        "Place": "Member",
        "Count": "2",
        "Since": "2026-11-01"
      }
    },
    {
      "from": "01a1152c-3830-7c3f-b3ad-3761dc40528c",
      "to": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "via": "People.Profile",
      "attrs": {
        "Job": "01a1199f-dfc5-7f98-9cf4-f46d07e4ac11",
        "Place": "Lead"
      }
    },
    {
      "from": "01a1152c-3830-7c3f-b3ad-3761dc40528c",
      "to": "01a1199f-df7d-7d7d-90ae-03cd52174cbf",
      "via": "guides",
      "attrs": {}
    },
    {
      "from": "01a1152c-3830-7c3f-b3ad-3761dc40528c",
      "to": "01a1199f-e096-78eb-b8c2-76e01a6bf381",
      "via": "guides",
      "attrs": {}
    },
    {
      "from": "01a1152c-3830-7c3f-b3ad-3761dc40528c",
      "to": "01a1152c-379b-73e1-b7e3-e6cc8ff183be",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a1152c-3830-7c3f-b3ad-3761dc40528c",
      "to": "01a1152c-3800-7600-a961-2992dc0f3e2d",
      "via": "part-of",
      "attrs": {}
    },
    {
      "from": "01a1152c-3830-7c3f-b3ad-3761dc40528c",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1152c-3863-79ba-8430-755ed2dec49c",
      "to": "01a12659-d295-7969-b17f-fbae284c2391",
      "via": "Direction.Agent",
      "attrs": {
        "Directed by": "01a02f53-2408-7291-ac16-087fcdee4d71"
      }
    },
    {
      "from": "01a1152c-3863-79ba-8430-755ed2dec49c",
      "to": "01a02f53-2408-7291-ac16-087fcdee4d71",
      "via": "People.Profile",
      "attrs": {
        "Job": "01a1199f-df7d-7d7d-90ae-03cd52174cbf",
        "Place": "Lead"
      }
    },
    {
      "from": "01a1152c-3863-79ba-8430-755ed2dec49c",
      "to": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "via": "People.Profile",
      "attrs": {
        "Job": "01a1199f-e00b-7a2a-9466-9f6a96ffe718",
        "Place": "Member"
      }
    },
    {
      "from": "01a1152c-3863-79ba-8430-755ed2dec49c",
      "to": "01a0a6b8-7e80-78af-b202-d3733bdd650c",
      "via": "People.Profile",
      "attrs": {
        "Job": "",
        "Place": "Member"
      }
    },
    {
      "from": "01a1152c-3863-79ba-8430-755ed2dec49c",
      "to": "01a12659-d295-7969-b17f-fbae284c2391",
      "via": "People.Profile",
      "attrs": {
        "Job": "",
        "Place": "Member"
      }
    },
    {
      "from": "01a1152c-3863-79ba-8430-755ed2dec49c",
      "to": "01a1152c-37cd-72c7-9330-b457a52f24ab",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a1152c-3863-79ba-8430-755ed2dec49c",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a11732-685a-77fa-b329-a53090054f37",
      "to": "01a1199f-e00b-7a2a-9466-9f6a96ffe718",
      "via": "Openings.Job",
      "attrs": {
        "Place": "Lead",
        "Count": "",
        "Since": "2027-01-01"
      }
    },
    {
      "from": "01a11732-685a-77fa-b329-a53090054f37",
      "to": "01a03a2c-2de8-73b4-9058-8664caea919a",
      "via": "People.Profile",
      "attrs": {
        "Job": "01a1199f-e00b-7a2a-9466-9f6a96ffe718",
        "Place": "Lead"
      }
    },
    {
      "from": "01a11732-685a-77fa-b329-a53090054f37",
      "to": "01a1152c-379b-73e1-b7e3-e6cc8ff183be",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a11732-685a-77fa-b329-a53090054f37",
      "to": "01a1152c-3800-7600-a961-2992dc0f3e2d",
      "via": "part-of",
      "attrs": {}
    },
    {
      "from": "01a11732-685a-77fa-b329-a53090054f37",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1199f-df7d-7d7d-90ae-03cd52174cbf",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "seats",
      "attrs": {}
    },
    {
      "from": "01a1199f-df7d-7d7d-90ae-03cd52174cbf",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1199f-dfc5-7f98-9cf4-f46d07e4ac11",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1199f-e00b-7a2a-9466-9f6a96ffe718",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1199f-e096-78eb-b8c2-76e01a6bf381",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a11fcc-a433-7d5d-8f95-954125a2abe8",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a11fcc-a49f-7fff-ba50-805be7c54c60",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a11fcc-a50a-7011-b85b-e24a6436103d",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a11fcc-a579-7c38-88e9-0784850f3e77",
      "to": "01a11fcc-a49f-7fff-ba50-805be7c54c60",
      "via": "Openings.Job",
      "attrs": {
        "Place": "Lead",
        "Count": "",
        "Since": "2026-12-01"
      }
    },
    {
      "from": "01a11fcc-a579-7c38-88e9-0784850f3e77",
      "to": "01a11fcc-a433-7d5d-8f95-954125a2abe8",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a11fcc-a579-7c38-88e9-0784850f3e77",
      "to": "01a1152c-3800-7600-a961-2992dc0f3e2d",
      "via": "part-of",
      "attrs": {}
    },
    {
      "from": "01a11fcc-a579-7c38-88e9-0784850f3e77",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a11fec-8792-73f8-b030-92147dae4f65",
      "to": "01a03a36-9dc8-7e9b-9500-583546f2a37c",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a11fec-87c0-7d80-8aa2-fa64547264dc",
      "to": "01a03a36-9dc8-7e9b-9500-583546f2a37c",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a11fec-8800-7f1d-aefb-030f2f1a31f8",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1218a-ea4b-719a-8ff6-c652c9eea5ee",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1218a-ea82-78fc-ae73-ccb3b2d20727",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1218a-eab6-7a05-be07-a764f7c083db",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "via": "Holds.Concept",
      "attrs": {
        "Data object": "01a1226b-c617-7a13-9570-6f418579c6dc",
        "Access": "master"
      }
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0c25c-19f8-716b-846a-8c5f00818198",
      "via": "Holds.Concept",
      "attrs": {
        "Data object": "",
        "Access": "reads"
      }
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0c25c-19f8-76b2-92d0-ed85a91331b4",
      "via": "Holds.Concept",
      "attrs": {
        "Data object": "",
        "Access": "master"
      }
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0c25c-19f8-788e-8b44-ada689a92da4",
      "via": "Holds.Concept",
      "attrs": {
        "Data object": "",
        "Access": "master"
      }
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0c25c-19f8-7980-a019-46b608819370",
      "via": "Holds.Concept",
      "attrs": {
        "Data object": "",
        "Access": "master"
      }
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0c25c-19f8-7aa8-92f8-8cb84ce85714",
      "via": "Holds.Concept",
      "attrs": {
        "Data object": "",
        "Access": "reads"
      }
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a12230-f6a8-78e3-8025-fb23ef13317d",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "owner",
      "attrs": {}
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a12190-1c52-75a6-acde-c992a62c115a",
      "via": "part-of",
      "attrs": {}
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0c25c-19f8-775c-bdc0-cbdf0b182b2d",
      "via": "realizes",
      "attrs": {}
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0c25c-19f8-776c-ba20-82b391bc6e7a",
      "via": "realizes",
      "attrs": {}
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0c25c-19f8-7b11-9b56-2c95a9f92677",
      "via": "realizes",
      "attrs": {}
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a0c25c-19f8-7b2b-81c4-d2dd9f850e9c",
      "via": "realizes",
      "attrs": {}
    },
    {
      "from": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a12190-1c52-75a6-acde-c992a62c115a",
      "to": "01a12230-f6e1-7682-a291-7ed1910422a6",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a12190-1c52-75a6-acde-c992a62c115a",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "operator",
      "attrs": {}
    },
    {
      "from": "01a12190-1c52-75a6-acde-c992a62c115a",
      "to": "01a0a8c7-74d8-7c00-b7dd-6a8118ddc0d3",
      "via": "serves",
      "attrs": {}
    },
    {
      "from": "01a12190-1c52-75a6-acde-c992a62c115a",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a12190-1c8c-7467-b70b-0c658281c7b8",
      "to": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "via": "Connects to.System",
      "attrs": {
        "As": "Feed endpoint",
        "Service": "01a1226b-c65b-7c27-a96f-dbfb10db9c15",
        "Carries": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
        "Via": "REST"
      }
    },
    {
      "from": "01a12190-1c8c-7467-b70b-0c658281c7b8",
      "to": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "via": "Holds.Concept",
      "attrs": {
        "Data object": "01a1226b-c617-7a13-9570-6f418579c6dc",
        "Access": "reads"
      }
    },
    {
      "from": "01a12190-1c8c-7467-b70b-0c658281c7b8",
      "to": "01a0c25c-19f8-716b-846a-8c5f00818198",
      "via": "Holds.Concept",
      "attrs": {
        "Data object": "",
        "Access": "reads"
      }
    },
    {
      "from": "01a12190-1c8c-7467-b70b-0c658281c7b8",
      "to": "01a0c25c-19f8-79d2-898e-01b6da02bb29",
      "via": "domain",
      "attrs": {}
    },
    {
      "from": "01a12190-1c8c-7467-b70b-0c658281c7b8",
      "to": "01a12230-f717-739f-9051-f62c78c974a0",
      "via": "kind",
      "attrs": {}
    },
    {
      "from": "01a12190-1c8c-7467-b70b-0c658281c7b8",
      "to": "01a10523-72fd-716a-adde-7b185258fad6",
      "via": "processor",
      "attrs": {}
    },
    {
      "from": "01a12190-1c8c-7467-b70b-0c658281c7b8",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a12230-f6a8-78e3-8025-fb23ef13317d",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a12230-f6e1-7682-a291-7ed1910422a6",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a12230-f717-739f-9051-f62c78c974a0",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1226b-c617-7a13-9570-6f418579c6dc",
      "to": "01a0c233-ae50-79f4-bba5-989d5353e0e6",
      "via": "realizes",
      "attrs": {}
    },
    {
      "from": "01a1226b-c617-7a13-9570-6f418579c6dc",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a1226b-c65b-7c27-a96f-dbfb10db9c15",
      "to": "01a12190-1c1b-7fa5-a0ec-c93888e10d73",
      "via": "provided-by",
      "attrs": {}
    },
    {
      "from": "01a1226b-c65b-7c27-a96f-dbfb10db9c15",
      "to": "01a0c25c-19f8-77ee-8656-f16c523bdc15",
      "via": "realizes",
      "attrs": {}
    },
    {
      "from": "01a1226b-c65b-7c27-a96f-dbfb10db9c15",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a12659-d295-7969-b17f-fbae284c2391",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "seats",
      "attrs": {}
    },
    {
      "from": "01a12659-d295-7969-b17f-fbae284c2391",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a12b01-39b2-7ea6-994a-d246d4ab6825",
      "to": "01a0a6b8-7e80-7c97-aab2-32e4469383db",
      "via": "Stakeholders and interests.Stakeholder",
      "attrs": {
        "Interest": "A copy made from the issued invoice and never computed again"
      }
    },
    {
      "from": "01a12b01-39b2-7ea6-994a-d246d4ab6825",
      "to": "01a0c25c-19f8-77ee-8656-f16c523bdc15",
      "via": "features",
      "attrs": {}
    },
    {
      "from": "01a12b01-39b2-7ea6-994a-d246d4ab6825",
      "to": "01a12b01-39eb-7a27-a513-10b8e399cbc1",
      "via": "includes",
      "attrs": {}
    },
    {
      "from": "01a12b01-39b2-7ea6-994a-d246d4ab6825",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a12b01-39eb-7a27-a513-10b8e399cbc1",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    },
    {
      "from": "01a12b01-3a22-74e6-b405-dd48a35f2da8",
      "to": "01a12b01-39b2-7ea6-994a-d246d4ab6825",
      "via": "Applies to.Entity",
      "attrs": {
        "Type": "use-case"
      }
    },
    {
      "from": "01a12b01-3a22-74e6-b405-dd48a35f2da8",
      "to": "01a03a3a-5eb8-7ba4-a6bd-79f024667d98",
      "via": "source",
      "attrs": {}
    }
  ]
}
