# rwilliamspbg-ops/rustforge architecture

> Architecture diagram of the GitHub repository rwilliamspbg-ops/rustforge, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rwilliamspbg-ops/rustforge
- Repository: https://github.com/rwilliamspbg-ops/rustforge
- Video tour (about a minute): https://gitdiagram.com/rwilliamspbg-ops/rustforge/video

## Overview

RustForge is a modular Rust test-suite template: adopters select category crates and use their helpers and harnesses to exercise a project, from syntax and semantic checks through robustness, integration, fuzzing, and performance checks. The principal workflow is selecting a category, supplying cases or inputs, and running the corresponding checks; core-tests provides reusable fixtures and fixed-input differential assertions. The graph reflects README-described capabilities where implementation excerpts were unavailable. In particular, integration-test calls into other categories are documented but not shown in the sampled source, so that relationship is marked unverified.

Main entry points: [`crates/integration-tests/src`](https://github.com/rwilliamspbg-ops/rustforge/tree/main/crates/integration-tests/src) (Cross-category tests), [`crates/fuzz-tests/src/lib.rs`](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/fuzz-tests/src/lib.rs) (Fuzz entry points), [`crates/core-tests/src/lib.rs`](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/core-tests/src/lib.rs) (Fixtures and helpers), [`crates/syntax-tests/src/lib.rs`](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/syntax-tests/src/lib.rs) (Syntax checks)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shared["Shared test helpers"]
  node_core["Fixtures and helpers<br/>[lib.rs]"]
  node_fixed_diff["Fixed-input differential<br/>[differential.rs]"]
  node_nostd["No-std helpers<br/>[no_std_support.rs]"]
end

subgraph group_checks["Correctness checks"]
  node_syntax["Syntax checks<br/>[lib.rs]"]
  node_semantic["Ownership semantics<br/>[lib.rs]"]
  node_integration["Cross-category tests"]
end

subgraph group_robustness["Robustness testing"]
  node_edge["Boundary checks<br/>[lib.rs]"]
  node_fuzz_api["Fuzz entry points<br/>[lib.rs]"]
  node_property_diff["Generated differential<br/>[differential.rs]"]
  node_fuzz_targets["LibFuzzer targets"]
end

subgraph group_harnesses["Test harnesses"]
  node_performance["Performance checks<br/>[lib.rs]"]
  node_benchmarks["Criterion benchmarks"]
  node_compile_snapshot["Compile and snapshots"]
end

node_adopter(("Suite adopter"))

node_adopter -->|"uses helpers"| node_core
node_adopter -->|"selects checks"| node_syntax
node_adopter -->|"selects checks"| node_semantic
node_adopter -->|"selects checks"| node_integration
node_adopter -->|"opts into"| node_edge
node_adopter -->|"opts into"| node_fuzz_api
node_adopter -->|"opts into"| node_performance
node_core -->|"exposes module"| node_fixed_diff
node_core -->|"feature-gates"| node_nostd
node_syntax -->|"supports"| node_compile_snapshot
node_integration -.->|"covers across categories"| node_syntax
node_integration -.->|"covers across categories"| node_semantic
node_integration -.->|"covers across categories"| node_edge
node_fuzz_api -->|"feature-gates"| node_property_diff
node_fuzz_targets -->|"calls parser"| node_fuzz_api
node_fuzz_targets -.->|"tests UTF-8"| node_fuzz_api
node_performance -->|"benchmarks operations"| node_benchmarks

click node_core "https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/core-tests/src/lib.rs"
click node_fixed_diff "https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/core-tests/src/differential.rs"
click node_nostd "https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/core-tests/src/no_std_support.rs"
click node_syntax "https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/syntax-tests/src/lib.rs"
click node_semantic "https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/semantic-tests/src/lib.rs"
click node_integration "https://github.com/rwilliamspbg-ops/rustforge/tree/main/crates/integration-tests/src"
click node_edge "https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/edge-cases/src/lib.rs"
click node_fuzz_api "https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/fuzz-tests/src/lib.rs"
click node_property_diff "https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/fuzz-tests/src/differential.rs"
click node_fuzz_targets "https://github.com/rwilliamspbg-ops/rustforge/tree/main/fuzz/fuzz_targets"
click node_performance "https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/performance-tests/src/lib.rs"
click node_benchmarks "https://github.com/rwilliamspbg-ops/rustforge/tree/main/crates/performance-tests/benches"
click node_compile_snapshot "https://github.com/rwilliamspbg-ops/rustforge/tree/main/crates/syntax-tests"

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_core,node_fixed_diff,node_nostd toneBlue
class node_syntax,node_semantic,node_integration toneAmber
class node_edge,node_fuzz_api,node_property_diff,node_fuzz_targets toneMint
class node_performance,node_benchmarks,node_compile_snapshot toneRose
class node_adopter toneIndigo
```

## Components

### Shared test helpers

- [Fixtures and helpers](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/core-tests/src/lib.rs): `crates/core-tests/src/lib.rs`
- [Fixed-input differential](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/core-tests/src/differential.rs): `crates/core-tests/src/differential.rs`
- [No-std helpers](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/core-tests/src/no_std_support.rs): `crates/core-tests/src/no_std_support.rs`

### Correctness checks

- [Syntax checks](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/syntax-tests/src/lib.rs): `crates/syntax-tests/src/lib.rs`
- [Ownership semantics](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/semantic-tests/src/lib.rs): `crates/semantic-tests/src/lib.rs`
- [Cross-category tests](https://github.com/rwilliamspbg-ops/rustforge/tree/main/crates/integration-tests/src): `crates/integration-tests/src`

### Robustness testing

- [Boundary checks](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/edge-cases/src/lib.rs): `crates/edge-cases/src/lib.rs`
- [Fuzz entry points](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/fuzz-tests/src/lib.rs): `crates/fuzz-tests/src/lib.rs`
- [Generated differential](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/fuzz-tests/src/differential.rs): `crates/fuzz-tests/src/differential.rs`
- [LibFuzzer targets](https://github.com/rwilliamspbg-ops/rustforge/tree/main/fuzz/fuzz_targets): `fuzz/fuzz_targets`

### Test harnesses

- [Performance checks](https://github.com/rwilliamspbg-ops/rustforge/blob/main/crates/performance-tests/src/lib.rs): `crates/performance-tests/src/lib.rs`
- [Criterion benchmarks](https://github.com/rwilliamspbg-ops/rustforge/tree/main/crates/performance-tests/benches): `crates/performance-tests/benches`
- [Compile and snapshots](https://github.com/rwilliamspbg-ops/rustforge/tree/main/crates/syntax-tests): `crates/syntax-tests`

### Other components

- **Suite adopter**

## Connections

- Suite adopter → Fixtures and helpers: uses helpers (evidence: `README.md`)
- Suite adopter → Syntax checks: selects checks (evidence: `README.md`)
- Suite adopter → Ownership semantics: selects checks (evidence: `README.md`)
- Suite adopter → Cross-category tests: selects checks (evidence: `README.md`)
- Suite adopter → Boundary checks: opts into (evidence: `README.md`)
- Suite adopter → Fuzz entry points: opts into (evidence: `README.md`)
- Suite adopter → Performance checks: opts into (evidence: `README.md`)
- Fixtures and helpers → Fixed-input differential: exposes module (evidence: `crates/core-tests/src/lib.rs`)
- Fixtures and helpers → No-std helpers: feature-gates (evidence: `crates/core-tests/src/lib.rs`)
- Syntax checks → Compile and snapshots: supports (evidence: `README.md`)
- Cross-category tests → Syntax checks: covers across categories
- Cross-category tests → Ownership semantics: covers across categories
- Cross-category tests → Boundary checks: covers across categories
- Fuzz entry points → Generated differential: feature-gates (evidence: `crates/fuzz-tests/src/lib.rs`)
- LibFuzzer targets → Fuzz entry points: calls parser (evidence: `fuzz/fuzz_targets/parse_u32_lenient.rs`)
- LibFuzzer targets → Fuzz entry points: tests UTF-8
- Performance checks → Criterion benchmarks: benchmarks operations (evidence: `README.md`)
