# chekecha19/arxion architecture

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

- Interactive diagram: https://gitdiagram.com/chekecha19/arxion
- Repository: https://github.com/chekecha19/arxion

## Overview

Firewall Compliance is a local Windows application and CLI for assessing network-device, firewall, and cloud-rule configurations. The main workflow is to create a project, configure sources or add files, refresh and analyze, inspect findings, evidence, and coverage, then export a report. The README also highlights site-aware collection, collection-reduction warnings, profile history, task management, and diagrams. Edges are limited to README-described workflow and relationships shown by indexed or excerpted source; unsampled subsystem links are omitted where their callers are not visible.

Main entry points: [`src/firewall_compliance/interfaces/desktop`](https://github.com/chekecha19/arxion/tree/main/src/firewall_compliance/interfaces/desktop) (Desktop app), [`src/firewall_compliance/interfaces/cli/main.py`](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/interfaces/cli/main.py) (CLI), [`src/firewall_compliance/analysis/firewall_assurance.py`](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/analysis/firewall_assurance.py) (Assurance runner), [`src/firewall_compliance/parsers/catalog.py`](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/parsers/catalog.py) (Parser catalog)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interfaces["User interfaces"]
  node_desktop["Desktop app"]
  node_cli["CLI<br/>[main.py]"]
end

subgraph group_collection["Source collection"]
  node_project["Project sources<br/>[project_store.py]"]
  node_collect["Cloud collectors"]
  node_source_reader["File reader<br/>[source_reader.py]"]
end

subgraph group_analysis["Parsing and analysis"]
  node_parsers["Parser catalog<br/>[catalog.py]"]
  node_vendor_parsers["Platform parsers"]
  node_domain["Normalized models<br/>[configuration.py]"]
  node_revision["Device revisions<br/>[revision.py]"]
  node_assurance["Assurance runner"]
  node_checks["Policy checks<br/>[rules.py]"]
end

subgraph group_results["Results and reports"]
  node_analysis_result["Analysis bundles<br/>[analysis_result.py]"]
  node_review["Findings and evidence<br/>[assurance.py]"]
  node_reports["Report workflows"]
end

subgraph group_workspace["Workspace features"]
  node_sites["Site and profile history"]
  node_tasks["Task center<br/>[qt_task_center.py]"]
  node_diagrams["Network diagrams<br/>[topology_map.py]"]
end

node_user(("Operator"))

node_user -->|"uses"| node_desktop
node_user -->|"invokes"| node_cli
node_desktop -->|"configures sources"| node_project
node_desktop -.->|"collects cloud data"| node_collect
node_cli -->|"reads files"| node_source_reader
node_cli -->|"selects parsers"| node_parsers
node_parsers -.->|"dispatches to"| node_vendor_parsers
node_vendor_parsers -.->|"produces models"| node_domain
node_desktop -->|"runs analysis"| node_assurance
node_cli -->|"calls"| node_assurance
node_assurance -->|"runs checks"| node_checks
node_assurance -->|"analyzes revision"| node_revision
node_desktop -->|"presents results"| node_review
node_desktop -->|"exports report"| node_reports
node_desktop -.->|"manages sites"| node_sites
node_desktop -.->|"uses task center"| node_tasks
node_desktop -.->|"shows diagrams"| node_diagrams

click node_desktop "https://github.com/chekecha19/arxion/tree/main/src/firewall_compliance/interfaces/desktop"
click node_cli "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/interfaces/cli/main.py"
click node_project "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/interfaces/desktop/project_store.py"
click node_collect "https://github.com/chekecha19/arxion/tree/main/src/firewall_compliance/devices/cloud/cloud_ru"
click node_source_reader "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/infrastructure/source_reader.py"
click node_parsers "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/parsers/catalog.py"
click node_vendor_parsers "https://github.com/chekecha19/arxion/tree/main/src/firewall_compliance/parsers"
click node_domain "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/domain/configuration.py"
click node_revision "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/domain/revision.py"
click node_assurance "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/analysis/firewall_assurance.py"
click node_checks "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/checks/policy_quality/rules.py"
click node_analysis_result "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/application/analysis_result.py"
click node_review "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/domain/assurance.py"
click node_reports "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/application/analysis_reports.py"
click node_sites "https://github.com/chekecha19/arxion/tree/main/src/firewall_compliance/interfaces/desktop"
click node_tasks "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/interfaces/desktop/qt_task_center.py"
click node_diagrams "https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/interfaces/desktop/topology_map.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_desktop,node_cli toneBlue
class node_project,node_collect,node_source_reader toneAmber
class node_parsers,node_vendor_parsers,node_domain,node_revision,node_assurance,node_checks toneMint
class node_analysis_result,node_review,node_reports toneRose
class node_sites,node_tasks,node_diagrams,node_user toneIndigo
```

## Components

### User interfaces

- [Desktop app](https://github.com/chekecha19/arxion/tree/main/src/firewall_compliance/interfaces/desktop): `src/firewall_compliance/interfaces/desktop`
- [CLI](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/interfaces/cli/main.py): `src/firewall_compliance/interfaces/cli/main.py`

### Source collection

- [Project sources](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/interfaces/desktop/project_store.py): `src/firewall_compliance/interfaces/desktop/project_store.py`
- [Cloud collectors](https://github.com/chekecha19/arxion/tree/main/src/firewall_compliance/devices/cloud/cloud_ru): `src/firewall_compliance/devices/cloud/cloud_ru`
- [File reader](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/infrastructure/source_reader.py): `src/firewall_compliance/infrastructure/source_reader.py`

### Parsing and analysis

- [Parser catalog](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/parsers/catalog.py): `src/firewall_compliance/parsers/catalog.py`
- [Platform parsers](https://github.com/chekecha19/arxion/tree/main/src/firewall_compliance/parsers): `src/firewall_compliance/parsers`
- [Normalized models](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/domain/configuration.py): `src/firewall_compliance/domain/configuration.py`
- [Device revisions](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/domain/revision.py): `src/firewall_compliance/domain/revision.py`
- [Assurance runner](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/analysis/firewall_assurance.py): `src/firewall_compliance/analysis/firewall_assurance.py`
- [Policy checks](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/checks/policy_quality/rules.py): `src/firewall_compliance/checks/policy_quality/rules.py`

### Results and reports

- [Analysis bundles](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/application/analysis_result.py): `src/firewall_compliance/application/analysis_result.py`
- [Findings and evidence](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/domain/assurance.py): `src/firewall_compliance/domain/assurance.py`
- [Report workflows](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/application/analysis_reports.py): `src/firewall_compliance/application/analysis_reports.py`

### Workspace features

- [Site and profile history](https://github.com/chekecha19/arxion/tree/main/src/firewall_compliance/interfaces/desktop): `src/firewall_compliance/interfaces/desktop`
- [Task center](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/interfaces/desktop/qt_task_center.py): `src/firewall_compliance/interfaces/desktop/qt_task_center.py`
- [Network diagrams](https://github.com/chekecha19/arxion/blob/main/src/firewall_compliance/interfaces/desktop/topology_map.py): `src/firewall_compliance/interfaces/desktop/topology_map.py`

### Other components

- **Operator**

## Connections

- Operator → Desktop app: uses (evidence: `README.md`)
- Operator → CLI: invokes (evidence: `README.md`)
- Desktop app → Project sources: configures sources (evidence: `README.md`)
- Desktop app → Cloud collectors: collects cloud data (evidence: `README.md`)
- CLI → File reader: reads files (evidence: `src/firewall_compliance/interfaces/cli/main.py`)
- CLI → Parser catalog: selects parsers (evidence: `src/firewall_compliance/interfaces/cli/main.py`)
- Parser catalog → Platform parsers: dispatches to
- Platform parsers → Normalized models: produces models
- Desktop app → Assurance runner: runs analysis (evidence: `README.md`)
- CLI → Assurance runner: calls (evidence: `src/firewall_compliance/interfaces/cli/main.py`)
- Assurance runner → Policy checks: runs checks (evidence: `src/firewall_compliance/analysis/firewall_assurance.py`)
- Assurance runner → Device revisions: analyzes revision (evidence: `src/firewall_compliance/analysis/firewall_assurance.py`)
- Desktop app → Findings and evidence: presents results (evidence: `README.md`)
- Desktop app → Report workflows: exports report (evidence: `README.md`)
- Desktop app → Site and profile history: manages sites (evidence: `README.md`)
- Desktop app → Task center: uses task center (evidence: `README.md`)
- Desktop app → Network diagrams: shows diagrams (evidence: `README.md`)
