UML — cat-harness/scenarios

Generated by cat-harness-tools/scripts/gen-uml-overview.ts — do not edit. The scenarios sub-graph of cat-harness (cat-harness/scenarios), with every attribute read from its node schema.

Sources (same model): PlantUML · Mermaid · Graphviz DOT

Layout
UML class diagram of cat-harness/scenarios: one package per named sub-graph, one class per node schema, with its data fields. Portrait layout.
UML class diagram of cat-harness/scenarios: one package per named sub-graph, one class per node schema, with its data fields. Landscape layout.

The interactive view lays this diagram out in your browser with Graphviz, and needs JavaScript. Without it, pick Portrait or Landscape, or read the DOT source.

sub-graphdirectorygraph typologiesnode schemanodescohesioninout
cat-harness/scenarioscat-harness/scenariosscenariosRoleGraphSchemanot measured

Nodes, cohesion, in and out are the detangler’s pinned measurements for the same directory (bun run cat kg:detangle; skill graph-detanglement). Not measured means the detangler does not scan that directory, not that it has no edges.

Sub-graphs

The same model, drawn by Mermaid

Kept so the page renders even where the PlantUML image is missing, and because Mermaid nodes carry the CSS class that colours them from uml.css.

classDiagram
  direction TB
  namespace cat_harness__scenarios {
    class cat_harness_scenarios_FormerName["FormerName"] {
      <<json: RoleGraphSchema>>
      name [1] string
      retiredOn [1] string
    }
    class cat_harness_scenarios_Role["Role"] {
      <<json: RoleGraphSchema>>
      persona [0..1] string
      id [1] string
      title [1] string
      description [1] string
      actorKinds [1..*] list~person | agent | system | external~
      otherNames [0..*] string[]
      formerNames [0..*] FormerName[]
      skills [0..*] string[]
      inherits [0..*] string[]
      judgementOnly [0..1] boolean
      requiredCapabilities [0..1] object
    }
    class cat_harness_scenarios_Actor["Actor"] {
      <<json: RoleGraphSchema>>
      id [1] string
      title [1] string
      kind [1] person | agent | system | external
      description [0..1] string
      roles [0..*] string[]
    }
    class cat_harness_scenarios_Extension["Extension"] {
      <<json: RoleGraphSchema>>
      role [1] string
      skills [1..*] string[]
    }
    class cat_harness_scenarios_RoleGraph["RoleGraph"] {
      <<json: RoleGraphSchema>>
      name [1] string
      roles [0..*] Role[]
      actors [0..*] Actor[]
      extensions [0..*] Extension[]
    }
  }
  cat_harness_scenarios_Role *-- "0..*" cat_harness_scenarios_FormerName : formerNames
  cat_harness_scenarios_RoleGraph *-- "0..*" cat_harness_scenarios_Role : roles
  cat_harness_scenarios_RoleGraph *-- "0..*" cat_harness_scenarios_Actor : actors
  cat_harness_scenarios_RoleGraph *-- "0..*" cat_harness_scenarios_Extension : extensions
  cssClass "cat_harness_scenarios_FormerName" fa_uml_kind_scenarios
  cssClass "cat_harness_scenarios_Role" fa_uml_kind_scenarios
  cssClass "cat_harness_scenarios_Actor" fa_uml_kind_scenarios
  cssClass "cat_harness_scenarios_Extension" fa_uml_kind_scenarios
  cssClass "cat_harness_scenarios_RoleGraph" fa_uml_kind_scenarios

folio-assistant — code under the Apache License 2.0, documentation under CC BY 3.0. Generated schema and API references are rebuilt from source on every push to main.

deployed b08c961 · 2026-10-23T23:11:09Z