# eclipse-score/reference_integration architecture

> Architecture diagram of the GitHub repository eclipse-score/reference_integration, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-16). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/eclipse-score/reference_integration
- Repository: https://github.com/eclipse-score/reference_integration

## Overview

This repository is an Eclipse S-CORE reference-integration workspace: it validates cross-module builds and behavior, with feature-integration scenarios as a key user-to-result path and known-good dependency management as an internal workflow. The graph also preserves the substantial known-good and CLI tooling modules named in the source index. Edges are limited to README statements and shown source/index references; unsampled test wiring is not inferred.

Main entry points: [`scripts/known_good/models/known_good.py`](https://github.com/eclipse-score/reference_integration/blob/main/scripts/known_good/models/known_good.py) (Known-good model), [`feature_integration_tests/test_scenarios/rust/src/main.rs`](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/rust/src/main.rs) (Rust scenario runner), [`feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.h`](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.h) (C++ KVS API), [`scripts/tooling/cli/main.py`](https://github.com/eclipse-score/reference_integration/blob/main/scripts/tooling/cli/main.py) (Tooling CLI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_validation["Feature validation"]
  node_fit["FIT scenario harness<br/>[fit_scenario.py]"]
  node_persistency_py["Persistency FIT helpers"]
end

subgraph group_persistency["Persistency scenarios"]
  node_rust_entry["Rust scenario runner<br/>[main.rs]"]
  node_rust_scenarios["Rust persistency scenarios"]
  node_rust_instance["Rust KVS instance<br/>[kvs_instance.rs]"]
  node_rust_params["Rust KVS parameters<br/>[kvs_parameters.rs]"]
  node_cpp_scenarios["C++ persistency scenarios"]
  node_cpp_instance["C++ KVS instance<br/>[kvs_instance.cpp]"]
  node_cpp_instance_api["C++ KVS API<br/>[kvs_instance.h]"]
  node_cpp_build_helpers["C++ KVS build helpers"]
  node_cpp_params["C++ KVS parameters<br/>[kvs_parameters.h]"]
end

subgraph group_dependency["Dependency management"]
  node_known_good["Known-good model<br/>[known_good.py]"]
  node_module_model["Module metadata model<br/>[module.py]"]
  node_resolved_deps["Resolved dependencies"]
  node_update_module["Known-good updater"]
  node_quality_runners["Quality runners<br/>[quality_runners.py]"]
end

subgraph group_tooling["Workspace tooling"]
  node_tool_cli["Tooling CLI<br/>[main.py]"]
  node_html_report["HTML report command<br/>[html_report.py]"]
  node_approval_check["Release approval check<br/>[check_approvals.py]"]
  node_github["GitHub integration<br/>[github.py]"]
end

node_engineer(("Engineer"))
node_test_result["Integration test results"]

node_engineer -->|"runs tests"| node_fit
node_fit -->|"provides base"| node_persistency_py
node_engineer -->|"runs scenarios"| node_rust_entry
node_rust_entry -->|"loads group"| node_rust_scenarios
node_rust_scenarios -->|"uses KVS"| node_rust_instance
node_rust_instance -->|"uses parameters"| node_rust_params
node_rust_entry -->|"runs CLI"| node_test_result
node_cpp_scenarios -->|"uses KVS API"| node_cpp_instance_api
node_cpp_scenarios -->|"uses helpers"| node_cpp_build_helpers
node_cpp_instance_api -->|"implemented by"| node_cpp_instance
node_cpp_instance_api -->|"uses parameters"| node_cpp_params
node_engineer -.->|"manages modules"| node_known_good
node_known_good -->|"parses modules"| node_module_model
node_resolved_deps -->|"reads model"| node_known_good
node_resolved_deps -->|"uses metadata"| node_module_model
node_update_module -->|"uses model"| node_known_good
node_quality_runners -->|"uses model"| node_known_good
node_quality_runners -->|"uses metadata"| node_module_model
node_engineer -.->|"invokes tools"| node_tool_cli
node_tool_cli -->|"registers command"| node_html_report
node_tool_cli -->|"registers command"| node_approval_check
node_html_report -->|"uses API"| node_github
node_approval_check -->|"uses API"| node_github

click node_fit "https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_cases/fit_scenario.py"
click node_persistency_py "https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_cases/persistency_scenario.py"
click node_rust_entry "https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/rust/src/main.rs"
click node_rust_scenarios "https://github.com/eclipse-score/reference_integration/tree/main/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency"
click node_rust_instance "https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/rust/src/internals/persistency/kvs_instance.rs"
click node_rust_params "https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/rust/src/internals/persistency/kvs_parameters.rs"
click node_cpp_scenarios "https://github.com/eclipse-score/reference_integration/tree/main/feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency"
click node_cpp_instance "https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp"
click node_cpp_instance_api "https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.h"
click node_cpp_build_helpers "https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_build_helpers.h"
click node_cpp_params "https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_parameters.h"
click node_known_good "https://github.com/eclipse-score/reference_integration/blob/main/scripts/known_good/models/known_good.py"
click node_module_model "https://github.com/eclipse-score/reference_integration/blob/main/scripts/known_good/models/module.py"
click node_resolved_deps "https://github.com/eclipse-score/reference_integration/blob/main/scripts/known_good/resolved_dependencies.py"
click node_update_module "https://github.com/eclipse-score/reference_integration/blob/main/scripts/known_good/update_module_from_known_good.py"
click node_quality_runners "https://github.com/eclipse-score/reference_integration/blob/main/scripts/quality_runners.py"
click node_tool_cli "https://github.com/eclipse-score/reference_integration/blob/main/scripts/tooling/cli/main.py"
click node_html_report "https://github.com/eclipse-score/reference_integration/blob/main/scripts/tooling/cli/misc/html_report.py"
click node_approval_check "https://github.com/eclipse-score/reference_integration/blob/main/scripts/tooling/cli/release/check_approvals.py"
click node_github "https://github.com/eclipse-score/reference_integration/blob/main/scripts/tooling/lib/github.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_fit,node_persistency_py toneBlue
class node_rust_entry,node_rust_scenarios,node_rust_instance,node_rust_params,node_cpp_scenarios,node_cpp_instance,node_cpp_instance_api,node_cpp_build_helpers,node_cpp_params toneAmber
class node_known_good,node_module_model,node_resolved_deps,node_update_module,node_quality_runners toneMint
class node_tool_cli,node_html_report,node_approval_check,node_github toneRose
class node_engineer,node_test_result toneIndigo
```

## Components

### Feature validation

- [FIT scenario harness](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_cases/fit_scenario.py): `feature_integration_tests/test_cases/fit_scenario.py`
- [Persistency FIT helpers](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_cases/persistency_scenario.py): `feature_integration_tests/test_cases/persistency_scenario.py`

### Persistency scenarios

- [Rust scenario runner](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/rust/src/main.rs): `feature_integration_tests/test_scenarios/rust/src/main.rs`
- [Rust persistency scenarios](https://github.com/eclipse-score/reference_integration/tree/main/feature_integration_tests/test_scenarios/rust/src/scenarios/persistency): `feature_integration_tests/test_scenarios/rust/src/scenarios/persistency`
- [Rust KVS instance](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/rust/src/internals/persistency/kvs_instance.rs): `feature_integration_tests/test_scenarios/rust/src/internals/persistency/kvs_instance.rs`
- [Rust KVS parameters](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/rust/src/internals/persistency/kvs_parameters.rs): `feature_integration_tests/test_scenarios/rust/src/internals/persistency/kvs_parameters.rs`
- [C++ persistency scenarios](https://github.com/eclipse-score/reference_integration/tree/main/feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency): `feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency`
- [C++ KVS instance](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp): `feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp`
- [C++ KVS API](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.h): `feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.h`
- [C++ KVS build helpers](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_build_helpers.h): `feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_build_helpers.h`
- [C++ KVS parameters](https://github.com/eclipse-score/reference_integration/blob/main/feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_parameters.h): `feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_parameters.h`

### Dependency management

- [Known-good model](https://github.com/eclipse-score/reference_integration/blob/main/scripts/known_good/models/known_good.py): `scripts/known_good/models/known_good.py`
- [Module metadata model](https://github.com/eclipse-score/reference_integration/blob/main/scripts/known_good/models/module.py): `scripts/known_good/models/module.py`
- [Resolved dependencies](https://github.com/eclipse-score/reference_integration/blob/main/scripts/known_good/resolved_dependencies.py): `scripts/known_good/resolved_dependencies.py`
- [Known-good updater](https://github.com/eclipse-score/reference_integration/blob/main/scripts/known_good/update_module_from_known_good.py): `scripts/known_good/update_module_from_known_good.py`
- [Quality runners](https://github.com/eclipse-score/reference_integration/blob/main/scripts/quality_runners.py): `scripts/quality_runners.py`

### Workspace tooling

- [Tooling CLI](https://github.com/eclipse-score/reference_integration/blob/main/scripts/tooling/cli/main.py): `scripts/tooling/cli/main.py`
- [HTML report command](https://github.com/eclipse-score/reference_integration/blob/main/scripts/tooling/cli/misc/html_report.py): `scripts/tooling/cli/misc/html_report.py`
- [Release approval check](https://github.com/eclipse-score/reference_integration/blob/main/scripts/tooling/cli/release/check_approvals.py): `scripts/tooling/cli/release/check_approvals.py`
- [GitHub integration](https://github.com/eclipse-score/reference_integration/blob/main/scripts/tooling/lib/github.py): `scripts/tooling/lib/github.py`

### Other components

- **Engineer**
- **Integration test results**

## Connections

- Engineer → FIT scenario harness: runs tests
- FIT scenario harness → Persistency FIT helpers: provides base (evidence: `feature_integration_tests/test_cases/persistency_scenario.py`)
- Engineer → Rust scenario runner: runs scenarios
- Rust scenario runner → Rust persistency scenarios: loads group (evidence: `feature_integration_tests/test_scenarios/rust/src/main.rs`)
- Rust persistency scenarios → Rust KVS instance: uses KVS (evidence: `feature_integration_tests/test_scenarios/rust/src/scenarios/persistency/default_values.rs`)
- Rust KVS instance → Rust KVS parameters: uses parameters (evidence: `feature_integration_tests/test_scenarios/rust/src/internals/persistency/kvs_instance.rs`)
- Rust scenario runner → Integration test results: runs CLI (evidence: `feature_integration_tests/test_scenarios/rust/src/main.rs`)
- C++ persistency scenarios → C++ KVS API: uses KVS API (evidence: `feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency/default_values.cpp`)
- C++ persistency scenarios → C++ KVS build helpers: uses helpers (evidence: `feature_integration_tests/test_scenarios/cpp/src/scenarios/persistency/default_values.cpp`)
- C++ KVS API → C++ KVS instance: implemented by (evidence: `feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.cpp`)
- C++ KVS API → C++ KVS parameters: uses parameters (evidence: `feature_integration_tests/test_scenarios/cpp/src/internals/persistency/kvs_instance.h`)
- Engineer → Known-good model: manages modules
- Known-good model → Module metadata model: parses modules (evidence: `scripts/known_good/models/known_good.py`)
- Resolved dependencies → Known-good model: reads model (evidence: `scripts/known_good/resolved_dependencies.py`)
- Resolved dependencies → Module metadata model: uses metadata (evidence: `scripts/known_good/resolved_dependencies.py`)
- Known-good updater → Known-good model: uses model (evidence: `scripts/known_good/update_module_from_known_good.py`)
- Quality runners → Known-good model: uses model (evidence: `scripts/quality_runners.py`)
- Quality runners → Module metadata model: uses metadata (evidence: `scripts/quality_runners.py`)
- Engineer → Tooling CLI: invokes tools
- Tooling CLI → HTML report command: registers command (evidence: `scripts/tooling/cli/main.py`)
- Tooling CLI → Release approval check: registers command (evidence: `scripts/tooling/cli/main.py`)
- HTML report command → GitHub integration: uses API (evidence: `scripts/tooling/cli/misc/html_report.py`)
- Release approval check → GitHub integration: uses API (evidence: `scripts/tooling/cli/release/check_approvals.py`)
