UML — smart-base/smart-base-document-kinds

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

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

Layout
UML class diagram of smart-base/smart-base-document-kinds: one package per named sub-graph, one class per node schema, with its data fields. Portrait layout.
UML class diagram of smart-base/smart-base-document-kinds: 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
smart-base/smart-base-document-kindssmart-base/document-kindsdocument-kindsDocumentKindKind; DocumentKindCoverageKindnot 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 smart_base__smart_base_document_kinds {
    class smart_base_smart_base_document_kinds_document_kind_1_0_0_Source["Source"] {
      <<json: DocumentKindKind>>
      ref [1] string
      locator [0..1] string
      note [0..1] string
    }
    class smart_base_smart_base_document_kinds_document_kind_1_0_0_Section["Section"] {
      <<json: DocumentKindKind>>
      id [1] string
      title [1] string
      required [1] boolean
      description [1] string
      computedFrom [0..*] string[]
      modelledBy [0..*] string[]
      sources [0..*] Source[]
    }
    class smart_base_smart_base_document_kinds_document_kind_1_0_0_document_kind_1_0_0["document-kind/1.0.0"] {
      <<json: DocumentKindKind>>
      id [1] string
      title [1] string
      description [1] string
      structure [1] fixed | semi-fixed
      extends [0..1] string
      sections [1..*] Section[]
      sources [1..*] Source[]
      generatedBy [0..1] string
      $schema [1] string
    }
    class smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_Member["Member"] {
      <<json: DocumentKindCoverageKind>>
      key [1] string
      label [1] string
    }
    class smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_Section["Section"] {
      <<json: DocumentKindCoverageKind>>
      id [1] string
      members [0..*] Member[]
    }
    class smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_Unplaced["Unplaced"] {
      <<json: DocumentKindCoverageKind>>
      group [1] string
      count [1] integer
    }
    class smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_document_kind_coverage_1_0_0["document-kind-coverage/1.0.0"] {
      <<json: DocumentKindCoverageKind>>
      kind [1] string
      subject [1] string
      from [1] string
      method [1] string
      total [1] integer
      sections [0..*] Section[]
      unplaced [0..*] Unplaced[]
      generatedBy [1] string
      $schema [1] string
    }
  }
  smart_base_smart_base_document_kinds_document_kind_1_0_0_Section *-- "0..*" smart_base_smart_base_document_kinds_document_kind_1_0_0_Source : sources
  smart_base_smart_base_document_kinds_document_kind_1_0_0_document_kind_1_0_0 *-- "1..*" smart_base_smart_base_document_kinds_document_kind_1_0_0_Section : sections
  smart_base_smart_base_document_kinds_document_kind_1_0_0_document_kind_1_0_0 *-- "1..*" smart_base_smart_base_document_kinds_document_kind_1_0_0_Source : sources
  smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_Section *-- "0..*" smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_Member : members
  smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_document_kind_coverage_1_0_0 *-- "0..*" smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_Section : sections
  smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_document_kind_coverage_1_0_0 *-- "0..*" smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_Unplaced : unplaced
  cssClass "smart_base_smart_base_document_kinds_document_kind_1_0_0_Source" fa_uml_kind_document_kinds
  cssClass "smart_base_smart_base_document_kinds_document_kind_1_0_0_Section" fa_uml_kind_document_kinds
  cssClass "smart_base_smart_base_document_kinds_document_kind_1_0_0_document_kind_1_0_0" fa_uml_kind_document_kinds
  cssClass "smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_Member" fa_uml_kind_document_kinds
  cssClass "smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_Section" fa_uml_kind_document_kinds
  cssClass "smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_Unplaced" fa_uml_kind_document_kinds
  cssClass "smart_base_smart_base_document_kinds_document_kind_coverage_1_0_0_document_kind_coverage_1_0_0" fa_uml_kind_document_kinds

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