UML — cat-harness/docs

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

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

Layout
UML class diagram of cat-harness/docs: one package per named sub-graph, one class per node schema, with its data fields. Portrait layout.
UML class diagram of cat-harness/docs: 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/docscat-harness/docsdocsTodoIndexSchema; SemanticZoomSchema; ts: QaGraphIndex; ts: TranslationIndex; BeanIndexSchema; FolioGraphProjectionSchema; PayloadSidecarSchemanot 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__docs {
    class cat_harness_docs_folio_todo_index_v1_Relation["Relation"] {
      <<json: TodoIndexSchema>>
      axis [1] string
      label [1] string
      href [0..1] string
    }
    class cat_harness_docs_folio_todo_index_v1_Item["Item"] {
      <<json: TodoIndexSchema>>
      id [1] string
      summary [1] string
      comment [1] string
      status [1] string
      priority [1] string
      origin [0..1] string
      createdAt [1] string
      targetLabel [0..1] string
      target [0..1] object
      theme [0..1] string
      tags [1] object
      relations [0..*] Relation[]
      viewHref [0..1] string
      editHref [0..1] string
    }
    class cat_harness_docs_folio_todo_index_v1_folio_todo_index_v1["folio-todo-index/v1"] {
      <<json: TodoIndexSchema>>
      $schema [1] 'folio-todo-index/v1'
      tile [0..1] map~object~
      repoWeb [1] string
      items [0..*] Item[]
      processes [1] map~string[]~
      themeArt [1] map~map~string~~
    }
    class cat_harness_docs_folio_semantic_zoom_v1_folio_semantic_zoom_v1["folio-semantic-zoom/v1"] {
      <<json: SemanticZoomSchema>>
      $schema [1] 'folio-semantic-zoom/v1'
      belowPx [1] number
      byKind [0..1] map~object~
    }
    class cat_harness_docs_folio_qa_graph_v1["folio-qa-graph/v1"] {
      <<ts: QaGraphIndex>>
      $schema [1] typeof QA_GRAPH_INDEX_SCHEMA
      files [1] number
      families [1] QaFamily[]
      unclassified [1] number
      unreadable [1] number
    }
    class cat_harness_docs_folio_translation_index_v1["folio-translation-index/v1"] {
      <<ts: TranslationIndex>>
      $schema [1] string
      sourceLocale [1] string
      locales [1] string[]
      pages [1] Record~string, IndexedPage~
    }
    class cat_harness_docs_folio_bean_index_v1_Item["Item"] {
      <<json: BeanIndexSchema>>
      id [1] string
      title [1] string
      status [1] string
      type [1] string
      priority [1] string
      parent [1] '' | string
      blocking [0..*] string[]
      blockedBy [0..*] string[]
      createdAt [1] string
      updatedAt [1] string
      preview [1] string
      file [1] string
    }
    class cat_harness_docs_folio_bean_index_v1_Edge["Edge"] {
      <<json: BeanIndexSchema>>
      blocker [1] string
      blocked [1] string
      declaredOn [1..*] list~blocked_by | blocking~
    }
    class cat_harness_docs_folio_bean_index_v1_Finding["Finding"] {
      <<json: BeanIndexSchema>>
      kind [1] blocked-without-expiry | blocker-closed | blocking-unknown
      bean [1] string
      blocks [1] string
      detail [1] string
    }
    class cat_harness_docs_folio_bean_index_v1_folio_bean_index_v1["folio-bean-index/v1"] {
      <<json: BeanIndexSchema>>
      $schema [1] 'folio-bean-index/v1'
      tile [0..1] map~object~
      repoWeb [1] string
      fileWeb [0..1] string
      fileRef [0..1] string
      items [0..*] Item[]
      edges [0..*] Edge[]
      findings [0..*] Finding[]
      plan [0..1] object
    }
    class cat_harness_docs_folio_graph_projection_v1_File["File"] {
      <<json: FolioGraphProjectionSchema>>
      path [1] string
      bytes [1] integer
      size [1] string
    }
    class cat_harness_docs_folio_graph_projection_v1_Directory["Directory"] {
      <<json: FolioGraphProjectionSchema>>
      dir [1] string
      present [1] boolean
      nodes [1] integer
      files [0..*] File[]
    }
    class cat_harness_docs_folio_graph_projection_v1_Link["Link"] {
      <<json: FolioGraphProjectionSchema>>
      label [1] string
      href [1] string
    }
    class cat_harness_docs_folio_graph_projection_v1_Node["Node"] {
      <<json: FolioGraphProjectionSchema>>
      id [1] string
      summary [1] string
      theme [1] string | null
      anchor [1] string | null
      declaredIn [1] string | null
      links [0..*] Link[]
      chars [1] integer
      file [1] string
    }
    class cat_harness_docs_folio_graph_projection_v1_folio_graph_projection_v1["folio-graph-projection/v1"] {
      <<json: FolioGraphProjectionSchema>>
      $schema [1] 'folio-graph-projection/v1'
      tile [0..1] map~object~
      directories [0..*] Directory[]
      nodes [0..*] Node[]
    }
    class cat_harness_docs_cat_harness_payload_v1_cat_harness_payload_v1["cat-harness-payload/v1"] {
      <<json: PayloadSidecarSchema>>
      $schema [1] 'cat-harness-payload/v1'
      sha256 [1] string
      bytes [1] integer
      mediaType [1] string
    }
  }
  cat_harness_docs_folio_todo_index_v1_Item *-- "0..*" cat_harness_docs_folio_todo_index_v1_Relation : relations
  cat_harness_docs_folio_todo_index_v1_folio_todo_index_v1 *-- "0..*" cat_harness_docs_folio_todo_index_v1_Item : items
  cat_harness_docs_folio_bean_index_v1_folio_bean_index_v1 *-- "0..*" cat_harness_docs_folio_bean_index_v1_Item : items
  cat_harness_docs_folio_bean_index_v1_folio_bean_index_v1 *-- "0..*" cat_harness_docs_folio_bean_index_v1_Edge : edges
  cat_harness_docs_folio_bean_index_v1_folio_bean_index_v1 *-- "0..*" cat_harness_docs_folio_bean_index_v1_Finding : findings
  cat_harness_docs_folio_graph_projection_v1_Directory *-- "0..*" cat_harness_docs_folio_graph_projection_v1_File : files
  cat_harness_docs_folio_graph_projection_v1_folio_graph_projection_v1 *-- "0..*" cat_harness_docs_folio_graph_projection_v1_Directory : directories
  cat_harness_docs_folio_graph_projection_v1_Node *-- "0..*" cat_harness_docs_folio_graph_projection_v1_Link : links
  cat_harness_docs_folio_graph_projection_v1_folio_graph_projection_v1 *-- "0..*" cat_harness_docs_folio_graph_projection_v1_Node : nodes
  cssClass "cat_harness_docs_folio_todo_index_v1_Relation" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_todo_index_v1_Item" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_todo_index_v1_folio_todo_index_v1" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_semantic_zoom_v1_folio_semantic_zoom_v1" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_qa_graph_v1" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_translation_index_v1" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_bean_index_v1_Item" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_bean_index_v1_Edge" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_bean_index_v1_Finding" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_bean_index_v1_folio_bean_index_v1" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_graph_projection_v1_File" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_graph_projection_v1_Directory" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_graph_projection_v1_Link" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_graph_projection_v1_Node" fa_uml_kind_docs
  cssClass "cat_harness_docs_folio_graph_projection_v1_folio_graph_projection_v1" fa_uml_kind_docs
  cssClass "cat_harness_docs_cat_harness_payload_v1_cat_harness_payload_v1" fa_uml_kind_docs

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 dev