UML — bootstrap/schemas

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

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

Layout
UML class diagram of bootstrap/schemas: one package per named sub-graph, one class per node schema, with its data fields. Portrait layout.
UML class diagram of bootstrap/schemas: 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
bootstrap/schemasbootstrap/schemasschemasschema: discussion.input.schema.json; schema: discussion.output.schema.json; schema: graph.schema.json; schema: model-registry.schema.json; schema: requirement-set.schema.json; schema: requirement.schema.jsonnot 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 bootstrap__schemas {
    class bootstrap_schemas_discussion_input_schema_json_KnownRepository["KnownRepository"] {
      <<schema: discussion.input.schema.json>>
      url [1] string
      role [1] read-from | written-to
      note [0..1] string
    }
    class bootstrap_schemas_discussion_input_schema_json_Discussion_Input["Discussion Input"] {
      <<schema: discussion.input.schema.json>>
      open [1..*] list~harness | repositories~
      askedOf [1] object
      candidates [0..*] string[]
      knownRepositories [0..*] KnownRepository[]
      context [0..1] string
    }
    class bootstrap_schemas_discussion_output_schema_json_Repository["Repository"] {
      <<schema: discussion.output.schema.json>>
      url [1] string
      role [1] read-from | written-to
      note [0..1] string
    }
    class bootstrap_schemas_discussion_output_schema_json_Exchange["Exchange"] {
      <<schema: discussion.output.schema.json>>
      asked [1] string
      answered [0..1] string
      at [0..1] string~date-time~
    }
    class bootstrap_schemas_discussion_output_schema_json_Discussion_Output["Discussion Output"] {
      <<schema: discussion.output.schema.json>>
      outcome [1] settled | unsettled
      harness [0..1] string
      repositories [0..*] Repository[]
      determinedBy [0..1] asked | assumed
      assumption [0..1] string
      answeredBy [1] object
      exchange [1..*] Exchange[]
      stillOpen [0..*] list~harness | repositories~
    }
    class bootstrap_schemas_graph_schema_json_Directory["Directory"] {
      <<schema: graph.schema.json>>
      id [1] string
      path [1] string
      graphTypologies [1..*] list~'skills' | 'schemas' | 'scenarios' | 'processes' | 'models' | string~
      title [0..1] string
      description [0..1] string
    }
    class bootstrap_schemas_graph_schema_json_Asset["Asset"] {
      <<schema: graph.schema.json>>
      id [1] string
      src [1] string
      role [1] string
    }
    class bootstrap_schemas_graph_schema_json_Knowledge_Graph_declaration["Knowledge Graph declaration"] {
      <<schema: graph.schema.json>>
      name [1] string
      version [0..1] string
      iriBase [0..1] string~uri~
      title [0..1] string
      description [0..1] string
      directories [0..*] Directory[]
      needs [0..*] string[]
      nodeSchemas [0..1] map~string~
      assets [0..*] Asset[]
    }
    class bootstrap_schemas_model_registry_schema_json_Model["Model"] {
      <<schema: model-registry.schema.json>>
      id [1] string
      title [1] string
      preferredLanguages [0..*] string[]
      validation [1] unverified | self-reported | human-validated
      validatedBy [0..1] string
      validatedOn [0..1] string
      note [0..1] string
    }
    class bootstrap_schemas_model_registry_schema_json_Model_Registry["Model Registry"] {
      <<schema: model-registry.schema.json>>
      $schema [1] 'model-registry/1.0.0'
      models [0..*] Model[]
    }
    class bootstrap_schemas_requirement_set_schema_json_Member["Member"] {
      <<schema: requirement-set.schema.json>>
      ref [1] string
      decision [0..1] approved | amended | rejected | deferred
    }
    class bootstrap_schemas_requirement_set_schema_json_SignOff["SignOff"] {
      <<schema: requirement-set.schema.json>>
      kind [1] script | agent | human
      id [1] string
      actor [0..1] string
      at [1] string
      scope [1] string
      outcome [1] approve | amend | reject | defer | cancel
      stage [0..1] enum(10)
      reason [0..1] string
      evidence [1] string
    }
    class bootstrap_schemas_requirement_set_schema_json_Requirement_Set["Requirement Set"] {
      <<schema: requirement-set.schema.json>>
      id [1] string
      title [1] string
      methodology [1] string
      issue [0..1] string
      stage [1] enum(10)
      members [1..*] Member[]
      workPlan [0..*] string[]
      signOffs [0..*] SignOff[]
      document [0..1] string
      supersededBy [0..1] string
    }
    class bootstrap_schemas_requirement_schema_json_SuccessCriteria["SuccessCriteria"] {
      <<schema: requirement.schema.json>>
      key [1] string
      criterion [1] string
      verification [1] test | inspection | review | analysis
    }
    class bootstrap_schemas_requirement_schema_json_Statement["Statement"] {
      <<schema: requirement.schema.json>>
      key [1] string
      label [1] string
      conformance [1] SHALL | SHOULD | MAY | SHALL NOT
      requirement [1] string
      kind [0..1] functional | non-functional
      activity [0..1] string
      capability [0..1] string
      benefit [0..1] string
      category [0..1] string
      actors [0..*] string[]
      dependsOn [0..*] string[]
      successCriteria [1..*] SuccessCriteria[]
    }
    class bootstrap_schemas_requirement_schema_json_Requirement["Requirement"] {
      <<schema: requirement.schema.json>>
      id [1] string
      title [1] string
      description [1] string
      status [0..1] proposed | in-force | superseded | retired
      derivedFrom [0..*] string[]
      actors [0..*] string[]
      statements [1..*] Statement[]
      tags [0..*] string[]
      proposedIn [0..1] string
      supersededBy [0..1] string
    }
  }
  bootstrap_schemas_discussion_input_schema_json_Discussion_Input *-- "0..*" bootstrap_schemas_discussion_input_schema_json_KnownRepository : knownRepositories
  bootstrap_schemas_discussion_output_schema_json_Discussion_Output *-- "0..*" bootstrap_schemas_discussion_output_schema_json_Repository : repositories
  bootstrap_schemas_discussion_output_schema_json_Discussion_Output *-- "1..*" bootstrap_schemas_discussion_output_schema_json_Exchange : exchange
  bootstrap_schemas_graph_schema_json_Knowledge_Graph_declaration *-- "0..*" bootstrap_schemas_graph_schema_json_Directory : directories
  bootstrap_schemas_graph_schema_json_Knowledge_Graph_declaration *-- "0..*" bootstrap_schemas_graph_schema_json_Asset : assets
  bootstrap_schemas_model_registry_schema_json_Model_Registry *-- "0..*" bootstrap_schemas_model_registry_schema_json_Model : models
  bootstrap_schemas_requirement_set_schema_json_Requirement_Set *-- "1..*" bootstrap_schemas_requirement_set_schema_json_Member : members
  bootstrap_schemas_requirement_set_schema_json_Requirement_Set *-- "0..*" bootstrap_schemas_requirement_set_schema_json_SignOff : signOffs
  bootstrap_schemas_requirement_schema_json_Statement *-- "1..*" bootstrap_schemas_requirement_schema_json_SuccessCriteria : successCriteria
  bootstrap_schemas_requirement_schema_json_Requirement *-- "1..*" bootstrap_schemas_requirement_schema_json_Statement : statements
  cssClass "bootstrap_schemas_discussion_input_schema_json_KnownRepository" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_discussion_input_schema_json_Discussion_Input" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_discussion_output_schema_json_Repository" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_discussion_output_schema_json_Exchange" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_discussion_output_schema_json_Discussion_Output" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_graph_schema_json_Directory" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_graph_schema_json_Asset" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_graph_schema_json_Knowledge_Graph_declaration" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_model_registry_schema_json_Model" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_model_registry_schema_json_Model_Registry" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_requirement_set_schema_json_Member" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_requirement_set_schema_json_SignOff" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_requirement_set_schema_json_Requirement_Set" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_requirement_schema_json_SuccessCriteria" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_requirement_schema_json_Statement" fa_uml_kind_schemas
  cssClass "bootstrap_schemas_requirement_schema_json_Requirement" fa_uml_kind_schemas

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