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
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-graph | directory | graph typologies | node schema | nodes | cohesion | in | out |
|---|---|---|---|---|---|---|---|
cat-harness-tools/cat-harness-tools-adapters | cat-harness-tools/adapters | code | code: could not determine | not measured | |||
cat-harness-tools/cat-harness-tools-schemas | cat-harness-tools/schemas | code | code: could not determine | not measured | |||
cat-harness-tools/cat-harness-tools-scripts | cat-harness-tools/scripts | code | code: could not determine | not measured | |||
cat-harness-tools/cat-harness-tools-id-lookup | cat-harness-tools/id-lookup | code | code: could not determine | not measured | |||
cat-harness-tools/cat-harness-tools-tests | cat-harness-tools/test | code | code: could not determine | not measured | |||
cat-harness-tools/cat-harness-tools-src | cat-harness-tools/src | code | code: could not determine | not measured | |||
cat-harness-tools/cat-harness-tools-tools | cat-harness-tools/tools | tools, code | ToolDefinitionSchema; code: could not determine | not measured | |||
cat-harness-tools/cat-harness-tools-python | cat-harness-tools/python | code | code: could not determine | not measured | |||
cat-harness-tools/beans | cat-harness-tools/beans | beans | ts: InstanceState | not measured | |||
cat-harness-tools/cat-harness-tools-pipeline | cat-harness-tools/pipeline | code | code: could not determine | not measured | |||
cat-harness-tools/folio-templates | cat-harness-tools/templates | code | code: could not determine | not measured | |||
cat-harness-tools/cat-harness-tools-deploy | cat-harness-tools/deploy | code | code: could not determine | not measured | |||
cat-harness-tools/cat-harness-tools-archimate | cat-harness-tools/archimate/scripts | code | code: could not determine | not measured | |||
cat-harness-tools/cat-harness-tools-openapi | cat-harness-tools/openapi/scripts | code | code: could not determine | not measured | |||
cat-harness-tools/health | cat-harness-tools/health | health | HealthReportSchema | not measured | |||
cat-harness-tools/defs | cat-harness-tools/beans/defs | bean-defs | BeanKind | not measured | |||
cat-harness-tools/notes | cat-harness-tools/beans/notes | bean-notes | schema: schemas/bean-note.ts | not measured | |||
cat-harness-tools/workflows | cat-harness-tools/beans/workflows | workflow-state | ts: InstanceState | not measured | |||
cat-harness-tools/marks | cat-harness-tools/beans/marks | sweep-marks | sweep-marks: could not determine | not 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
- cat-harness-tools/cat-harness-tools-adapters
- cat-harness-tools/cat-harness-tools-schemas
- cat-harness-tools/cat-harness-tools-scripts
- cat-harness-tools/cat-harness-tools-id-lookup
- cat-harness-tools/cat-harness-tools-tests
- cat-harness-tools/cat-harness-tools-src
- cat-harness-tools/cat-harness-tools-tools
- cat-harness-tools/cat-harness-tools-python
- cat-harness-tools/beans
- cat-harness-tools/cat-harness-tools-pipeline
- cat-harness-tools/folio-templates
- cat-harness-tools/cat-harness-tools-deploy
- cat-harness-tools/cat-harness-tools-archimate
- cat-harness-tools/cat-harness-tools-openapi
- cat-harness-tools/health
- cat-harness-tools/defs
- cat-harness-tools/notes
- cat-harness-tools/workflows
- cat-harness-tools/marks
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