{
  "x-comment": [
    "The roles Flashy Group declares, and the minimal form of its AAO charter.",
    "",
    "`canon` exists because this repository already holds the canonical brand kit",
    "and other properties vendor a copy under a drift test. That is a standing",
    "responsibility with a real failure mode, not a description of a folder.",
    "",
    "Families deliberately empty: product, conversion, finance. The corporate site",
    "sells nothing and moves no money. An empty family is honest.",
    "",
    "Names follow the AAO naming standard. See https://flashyos.com/standard."
  ],
  "aao": "0.1",
  "name": "Flashy Group",
  "slug": "flashy-group",
  "description": "The Flashy Group corporate site — the front door to the network, the index of every Flashy property, and the reference standard for the family's visual language.",
  "accountableTo": "michael@gda.capital",
  "escalation": "canon",
  "repositories": [
    {
      "name": "flashy-group",
      "url": "github.com/FlashyLabs/flashy-group",
      "default": true,
      "holds": [
        "site",
        "brand-kit",
        "property-index",
        "handshake"
      ]
    }
  ],
  "roles": [
    {
      "name": "canon",
      "family": "risk",
      "purpose": "Holds the brand kit other properties vendor. A change lands here first and the copies drift-test against it, so the family cannot fork its own visual language.",
      "measure": "Vendored copies passing the drift test, as a share of copies — a failure is a fork in progress",
      "capabilities": [
        "define",
        "publish",
        "deprecate"
      ],
      "humanApprovalAtOrAbove": "HIGH",
      "worksIn": [
        "flashy-group"
      ]
    },
    {
      "name": "index",
      "family": "growth",
      "purpose": "Keeps the register of every Flashy property accurate. The claims made about the estate are asserted by tests, so a property added or retired fails the build until the index agrees.",
      "measure": "Properties in the index matching properties that exist, as a share of both",
      "capabilities": [
        "list",
        "verify",
        "retire"
      ],
      "humanApprovalAtOrAbove": "MEDIUM",
      "worksIn": [
        "flashy-group"
      ]
    },
    {
      "name": "inbound",
      "family": "growth",
      "purpose": "Brings organisations to the network through the front door rather than through outbound solicitation.",
      "measure": "Enquiries arriving from a published page, as a share of enquiries",
      "capabilities": [
        "publish",
        "measure"
      ],
      "humanApprovalAtOrAbove": "MEDIUM",
      "worksIn": [
        "flashy-group"
      ]
    },
    {
      "name": "release",
      "family": "engineering",
      "purpose": "Ships the site. Typecheck, test and build all gate a release; CI runs all three.",
      "measure": "Releases passing all three gates before publish, as a share of releases",
      "capabilities": [
        "build",
        "verify",
        "publish"
      ],
      "humanApprovalAtOrAbove": "MEDIUM",
      "worksIn": [
        "flashy-group"
      ]
    }
  ]
}
