UML — smart-base/qa

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

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

Layout
UML class diagram of smart-base/qa: one package per named sub-graph, one class per node schema, with its data fields. Portrait layout.
UML class diagram of smart-base/qa: 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/qasmart-base/test/resultsqaBlockQaReport; ts: QaWitness; ts: QaResult; QaIndexSchemanot 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__qa {
    class smart_base_qa_block_qa_v1_block_qa_v1["block-qa/v1"] {
      <<json: BlockQaReport>>
      $schema [1] 'block-qa/v1'
      label [1] string
      kind [1] string
      paths [1] object
      source_hashes [1] object
      criteria [1] map~object[]~
      updated_at [1] string
    }
    class smart_base_qa_qa_witness_v1["qa-witness/v1"] {
      <<ts: QaWitness>>
      kind [1] 'script' | 'agent' | 'human'
      id [1] string
      version [0..1] string
      at [0..1] string
      sha [0..1] string
      scriptHash [0..1] string
      scriptCommitSha [0..1] string
      depsHash [0..1] string
      model [0..1] string
      session [0..1] string
      skill [0..1] string
      method [0..1] string
      freshness [1] QaFreshness
      changed [0..1] string[]
      notCompared [0..1] string[]
      notes [0..1] string
    }
    class smart_base_qa_qa_results_v1["qa-results/v1"] {
      <<ts: QaResult>>
      $schema [1] 'qa-results/v1'
      producer [1]  /** Repo-relative path to the script. */ script: string; /** 12-char SHA-256 prefix of that script's source, as `script-qa` writes. */ script_hash: string; 
      subject [1]  kind: string; id: string 
      families [1] Record~string, QaResultFamily~
      total [1] number
    }
    class smart_base_qa_folio_qa_index_v1_folio_qa_index_v1["folio-qa-index/v1"] {
      <<json: QaIndexSchema>>
      $schema [1] 'folio-qa-index/v1'
      page [1] string
      corpus [0..1] present | absent
      badges [1] map~object~
      unswept [0..*] string[]
    }
  }
  cssClass "smart_base_qa_block_qa_v1_block_qa_v1" fa_uml_kind_qa
  cssClass "smart_base_qa_qa_witness_v1" fa_uml_kind_qa
  cssClass "smart_base_qa_qa_results_v1" fa_uml_kind_qa
  cssClass "smart_base_qa_folio_qa_index_v1_folio_qa_index_v1" fa_uml_kind_qa

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