UML — cat-harness-tools

Generated by cat-harness-tools/scripts/gen-uml-overview.ts — do not edit. Every named sub-graph the cat-harness-tools instance declares, one box each, with the node schema kinds found in it.

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

Layout
UML class diagram of cat-harness-tools: one package per named sub-graph, one class per node schema, with its data fields. Portrait layout.
UML class diagram of cat-harness-tools: 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-tools/cat-harness-tools-adapterscat-harness-tools/adapterscodecode: could not determinenot measured
cat-harness-tools/cat-harness-tools-schemascat-harness-tools/schemascodecode: could not determinenot measured
cat-harness-tools/cat-harness-tools-scriptscat-harness-tools/scriptscodecode: could not determinenot measured
cat-harness-tools/cat-harness-tools-id-lookupcat-harness-tools/id-lookupcodecode: could not determinenot measured
cat-harness-tools/cat-harness-tools-testscat-harness-tools/testcodecode: could not determinenot measured
cat-harness-tools/cat-harness-tools-srccat-harness-tools/srccodecode: could not determinenot measured
cat-harness-tools/cat-harness-tools-toolscat-harness-tools/toolstools, codeToolDefinitionSchema; code: could not determinenot measured
cat-harness-tools/cat-harness-tools-pythoncat-harness-tools/pythoncodecode: could not determinenot measured
cat-harness-tools/beanscat-harness-tools/beansbeansts: InstanceStatenot measured
cat-harness-tools/cat-harness-tools-pipelinecat-harness-tools/pipelinecodecode: could not determinenot measured
cat-harness-tools/folio-templatescat-harness-tools/templatescodecode: could not determinenot measured
cat-harness-tools/cat-harness-tools-deploycat-harness-tools/deploycodecode: could not determinenot measured
cat-harness-tools/cat-harness-tools-archimatecat-harness-tools/archimate/scriptscodecode: could not determinenot measured
cat-harness-tools/cat-harness-tools-openapicat-harness-tools/openapi/scriptscodecode: could not determinenot measured
cat-harness-tools/healthcat-harness-tools/healthhealthHealthReportSchemanot measured
cat-harness-tools/defscat-harness-tools/beans/defsbean-defsBeanKindnot measured
cat-harness-tools/notescat-harness-tools/beans/notesbean-notesschema: schemas/bean-note.tsnot measured
cat-harness-tools/workflowscat-harness-tools/beans/workflowsworkflow-statets: InstanceStatenot measured
cat-harness-tools/markscat-harness-tools/beans/markssweep-markssweep-marks: could not determinenot 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 LR
  namespace cat_harness_tools__cat_harness_tools_adapters {
    class n_cat_harness_tools_cat_harness_tools_adapters_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__cat_harness_tools_schemas {
    class n_cat_harness_tools_cat_harness_tools_schemas_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__cat_harness_tools_scripts {
    class n_cat_harness_tools_cat_harness_tools_scripts_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__cat_harness_tools_id_lookup {
    class n_cat_harness_tools_cat_harness_tools_id_lookup_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__cat_harness_tools_tests {
    class n_cat_harness_tools_cat_harness_tools_tests_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__cat_harness_tools_src {
    class n_cat_harness_tools_cat_harness_tools_src_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__cat_harness_tools_tools {
    class cat_harness_tools_cat_harness_tools_tools_Remedy["Remedy"] {
      <<json: ToolDefinitionSchema>>
      host [1] string
      error [0..1] string
      tool [0..1] string
      none [0..1] string
    }
    class cat_harness_tools_cat_harness_tools_tools_Maintain["Maintain"] {
      <<json: ToolDefinitionSchema>>
      source [1] string
      artefact [1] string
      format [0..1] string
    }
    class cat_harness_tools_cat_harness_tools_tools_ToolDefinition["ToolDefinition"] {
      <<json: ToolDefinitionSchema>>
      id [1] string
      title [1] string
      description [1] string
      install [1] object
      invoke [1] object
      io [1] object
      satisfies [1..*] string[]
      selection [0..1] object
      requires [0..1] object
      remedies [0..*] Remedy[]
      maintains [0..*] Maintain[]
      downstream [0..1] object
      renders [0..*] string[]
      subprocesses [0..*] string[]
    }
    class n_cat_harness_tools_cat_harness_tools_tools_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__cat_harness_tools_python {
    class n_cat_harness_tools_cat_harness_tools_python_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__beans {
    class cat_harness_tools_beans_folio_workflow_instance_v1["folio-workflow-instance/v1"] {
      <<ts: InstanceState>>
      $schema [0..1] string
      id [1] string
      processId [1] string
      source [1] string
      subject [1] string
      bean [0..1] string
      carriedBeans [0..1] string[]
      tokens [1] string[]
      arrivals [1] Record~string, string[]~
      history [1] HistoryEntry[]
      status [1] 'running' | 'completed'
      startedAt [1] string
      updatedAt [1] string
      children [0..1] Record~string, InstanceState~
    }
  }
  namespace cat_harness_tools__cat_harness_tools_pipeline {
    class n_cat_harness_tools_cat_harness_tools_pipeline_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__folio_templates {
    class n_cat_harness_tools_folio_templates_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__cat_harness_tools_deploy {
    class n_cat_harness_tools_cat_harness_tools_deploy_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__cat_harness_tools_archimate {
    class n_cat_harness_tools_cat_harness_tools_archimate_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__cat_harness_tools_openapi {
    class n_cat_harness_tools_cat_harness_tools_openapi_code["code: no node schema"] {
      <<could not determine>>
    }
  }
  namespace cat_harness_tools__health {
    class cat_harness_tools_health_Threshold["Threshold"] {
      <<json: HealthReportSchema>>
      metric [1] string
      value [1] number
      unit [1] string
      basis [1] string
      severity [1] critical | major | minor
    }
    class cat_harness_tools_health_Measurement["Measurement"] {
      <<json: HealthReportSchema>>
      metric [1] string
      value [1] number
      unit [1] string
      command [1] string
    }
    class cat_harness_tools_health_Finding["Finding"] {
      <<json: HealthReportSchema>>
      summary [1] string
      metric [0..1] string
      severity [1] critical | major | minor
      action [1] string
    }
    class cat_harness_tools_health_Check["Check"] {
      <<json: HealthReportSchema>>
      id [1] string
      state [1] ok | finding | unknown
      summary [1] string
      thresholds [0..*] Threshold[]
      measurements [0..*] Measurement[]
      findings [0..*] Finding[]
      reason [0..1] string
    }
    class cat_harness_tools_health_HealthReport["HealthReport"] {
      <<json: HealthReportSchema>>
      $schema [1] 'health-report/v1'
      producer [1] object
      subject [1] object
      updated_at [1] string
      verdict [1] clean | findings | unknown
      checks [1..*] Check[]
    }
  }
  namespace cat_harness_tools__defs {
    class cat_harness_tools_defs_BeanKind["BeanKind"] {
      <<json: BeanKind>>
      id [0..1] string
      title [0..1] string
      status [0..1] string
      type [0..1] string
      priority [0..1] string
      parent [0..1] string
      blocking [0..*] string[]
      blocked_by [0..*] string[]
      created_at [0..1] string
      updated_at [0..1] string
      tags [0..*] string[]
      issue [0..1] integer | string
      targets [0..1] string[] | string
      $schema [1] string
    }
  }
  namespace cat_harness_tools__notes {
    class cat_harness_tools_notes_bean_notes_shape["bean-notes"] {
      <<schema: schemas/bean-note.ts>>
      fields not machine-readable: schemas/bean-note.ts names no exported schema
    }
  }
  namespace cat_harness_tools__workflows {
    class cat_harness_tools_workflows_folio_workflow_instance_v1["folio-workflow-instance/v1"] {
      <<ts: InstanceState>>
      $schema [0..1] string
      id [1] string
      processId [1] string
      source [1] string
      subject [1] string
      bean [0..1] string
      carriedBeans [0..1] string[]
      tokens [1] string[]
      arrivals [1] Record~string, string[]~
      history [1] HistoryEntry[]
      status [1] 'running' | 'completed'
      startedAt [1] string
      updatedAt [1] string
      children [0..1] Record~string, InstanceState~
    }
  }
  namespace cat_harness_tools__marks {
    class n_cat_harness_tools_marks_sweep_marks["sweep-marks: no node schema"] {
      <<could not determine>>
    }
  }
  cssClass "n_cat_harness_tools_cat_harness_tools_adapters_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_adapters_code" fa_uml_undetermined
  cssClass "n_cat_harness_tools_cat_harness_tools_schemas_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_schemas_code" fa_uml_undetermined
  cssClass "n_cat_harness_tools_cat_harness_tools_scripts_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_scripts_code" fa_uml_undetermined
  cssClass "n_cat_harness_tools_cat_harness_tools_id_lookup_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_id_lookup_code" fa_uml_undetermined
  cssClass "n_cat_harness_tools_cat_harness_tools_tests_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_tests_code" fa_uml_undetermined
  cssClass "n_cat_harness_tools_cat_harness_tools_src_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_src_code" fa_uml_undetermined
  cat_harness_tools_cat_harness_tools_tools_ToolDefinition *-- "0..*" cat_harness_tools_cat_harness_tools_tools_Remedy : remedies
  cat_harness_tools_cat_harness_tools_tools_ToolDefinition *-- "0..*" cat_harness_tools_cat_harness_tools_tools_Maintain : maintains
  cssClass "cat_harness_tools_cat_harness_tools_tools_Remedy" fa_uml_kind_tools
  cssClass "cat_harness_tools_cat_harness_tools_tools_Maintain" fa_uml_kind_tools
  cssClass "cat_harness_tools_cat_harness_tools_tools_ToolDefinition" fa_uml_kind_tools
  cssClass "n_cat_harness_tools_cat_harness_tools_tools_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_tools_code" fa_uml_undetermined
  cssClass "n_cat_harness_tools_cat_harness_tools_python_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_python_code" fa_uml_undetermined
  cssClass "cat_harness_tools_beans_folio_workflow_instance_v1" fa_uml_kind_beans
  cssClass "n_cat_harness_tools_cat_harness_tools_pipeline_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_pipeline_code" fa_uml_undetermined
  cssClass "n_cat_harness_tools_folio_templates_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_folio_templates_code" fa_uml_undetermined
  cssClass "n_cat_harness_tools_cat_harness_tools_deploy_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_deploy_code" fa_uml_undetermined
  cssClass "n_cat_harness_tools_cat_harness_tools_archimate_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_archimate_code" fa_uml_undetermined
  cssClass "n_cat_harness_tools_cat_harness_tools_openapi_code" fa_uml_kind_code
  cssClass "n_cat_harness_tools_cat_harness_tools_openapi_code" fa_uml_undetermined
  cat_harness_tools_health_Check *-- "0..*" cat_harness_tools_health_Threshold : thresholds
  cat_harness_tools_health_Check *-- "0..*" cat_harness_tools_health_Measurement : measurements
  cat_harness_tools_health_Check *-- "0..*" cat_harness_tools_health_Finding : findings
  cat_harness_tools_health_HealthReport *-- "1..*" cat_harness_tools_health_Check : checks
  cssClass "cat_harness_tools_health_Threshold" fa_uml_kind_health
  cssClass "cat_harness_tools_health_Measurement" fa_uml_kind_health
  cssClass "cat_harness_tools_health_Finding" fa_uml_kind_health
  cssClass "cat_harness_tools_health_Check" fa_uml_kind_health
  cssClass "cat_harness_tools_health_HealthReport" fa_uml_kind_health
  cssClass "cat_harness_tools_defs_BeanKind" fa_uml_kind_bean_defs
  cssClass "cat_harness_tools_notes_bean_notes_shape" fa_uml_kind_bean_notes
  cssClass "cat_harness_tools_workflows_folio_workflow_instance_v1" fa_uml_kind_workflow_state
  cssClass "n_cat_harness_tools_marks_sweep_marks" fa_uml_kind_sweep_marks
  cssClass "n_cat_harness_tools_marks_sweep_marks" fa_uml_undetermined

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