# pookjw/hermesenabler architecture

> Architecture diagram of the GitHub repository pookjw/hermesenabler, 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/pookjw/hermesenabler
- Repository: https://github.com/pookjw/hermesenabler

## Overview

HermesEnabler 2 is a watchOS app for backing up and restoring MobileGestalt data and changing watch capability settings; HermesCompanion is its iPhone companion for watch status and backup handling. The main watch workflow is user action through feature views and ContentModel into the MobileGestalt interface, with backup operations and watch-to-phone backup exchange. The graph also shows companion backup history, import/export, and verification. Some implementation details are unsampled, so uncertain internal transfer links are omitted.

Main entry points: [`HermesCompanion/ContentView.swift`](https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/ContentView.swift) (Companion home), [`HermesEnabler2/ContentModel.swift`](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/ContentModel.swift) (Capability model), [`HermesEnabler2/ContentView.swift`](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/ContentView.swift) (Watch home), [`HermesEnabler2/IntelligenceView.swift`](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/IntelligenceView.swift) (Siri & intelligence)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_watch_ui["Watch app UI"]
  node_watch_home["Watch home<br/>[ContentView.swift]"]
  node_watch_backups["Backup library<br/>[BackupView.swift]"]
  node_watch_display["Display controls"]
  node_watch_resolution["Resolution options"]
  node_watch_sensors["Sensors &amp; workouts"]
  node_watch_intelligence["Siri &amp; intelligence"]
  node_watch_region["Region options"]
  node_watch_sales["Sales region options"]
  node_watch_faces["Watch faces"]
end

subgraph group_watch_runtime["Watch operations"]
  node_watch_model["Capability model<br/>[ContentModel.swift]"]
  node_mg_core["MobileGestalt core<br/>[BQCore.m]"]
  node_watch_connectivity["Watch connectivity"]
end

subgraph group_phone_ui["iPhone companion"]
  node_phone_home["Companion home<br/>[ContentView.swift]"]
  node_watch_status["Watch status cards"]
  node_install_status["Installation status"]
  node_latest_backup["Latest backup"]
  node_backup_history["Backup history"]
  node_backup_row["History row"]
  node_backup_detail["Backup details"]
  node_share_sheet["Share sheet"]
end

subgraph group_phone_runtime["Phone connectivity"]
  node_phone_connectivity["Phone connectivity"]
end

node_watch_user(("Watch user"))
node_phone_user(("iPhone user"))

node_watch_user -->|"uses"| node_watch_home
node_watch_home -->|"shows"| node_watch_backups
node_watch_home -->|"opens"| node_watch_faces
node_watch_home -->|"opens"| node_watch_display
node_watch_home -->|"opens"| node_watch_sensors
node_watch_home -->|"opens"| node_watch_intelligence
node_watch_backups -->|"invokes"| node_watch_model
node_watch_display -->|"updates"| node_watch_model
node_watch_display -->|"opens"| node_watch_resolution
node_watch_sensors -->|"updates"| node_watch_model
node_watch_intelligence -->|"updates"| node_watch_model
node_watch_intelligence -->|"opens"| node_watch_region
node_watch_intelligence -->|"opens"| node_watch_sales
node_watch_faces -.->|"updates"| node_watch_model
node_watch_model -->|"calls"| node_mg_core
node_watch_model -->|"uses"| node_watch_connectivity
node_phone_user -->|"uses"| node_phone_home
node_phone_home -->|"shows"| node_watch_status
node_phone_home -->|"shows"| node_install_status
node_phone_home -->|"shows"| node_latest_backup
node_phone_home -->|"opens"| node_backup_history
node_phone_home -->|"loads history"| node_phone_connectivity
node_backup_history -->|"renders"| node_backup_row
node_backup_history -->|"opens"| node_backup_detail
node_backup_detail -->|"verifies, exports"| node_phone_connectivity
node_backup_detail -->|"presents"| node_share_sheet
node_phone_home -->|"imports backup"| node_phone_connectivity

click node_watch_home "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/ContentView.swift"
click node_watch_backups "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/BackupView.swift"
click node_watch_display "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/DisplayAndControlsView.swift"
click node_watch_resolution "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/ResolutionOptionsView.swift"
click node_watch_sensors "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/SensorsAndWorkoutsView.swift"
click node_watch_intelligence "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/IntelligenceView.swift"
click node_watch_region "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/RegionCodeOptionsView.swift"
click node_watch_sales "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/SalesRegionOptionsView.swift"
click node_watch_faces "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/WatchFacesView.swift"
click node_watch_model "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/ContentModel.swift"
click node_mg_core "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/BQCore.m"
click node_watch_connectivity "https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/WatchConnectivity/WatchConnectivityManager.swift"
click node_phone_home "https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/ContentView.swift"
click node_watch_status "https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/WatchDeviceCard.swift"
click node_install_status "https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/WatchInstallationCard.swift"
click node_latest_backup "https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/LatestBackupCard.swift"
click node_backup_history "https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/BackupHistoryView.swift"
click node_backup_row "https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/BackupHistoryRow.swift"
click node_backup_detail "https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/BackupDetailView.swift"
click node_share_sheet "https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/ActivityViewController.swift"
click node_phone_connectivity "https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/WatchConnectivity/WatchConnectivityManager.swift"

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_watch_home,node_watch_backups,node_watch_display,node_watch_resolution,node_watch_sensors,node_watch_intelligence,node_watch_region,node_watch_sales,node_watch_faces,node_watch_user,node_phone_user toneBlue
class node_watch_model,node_mg_core,node_watch_connectivity toneAmber
class node_phone_home,node_watch_status,node_install_status,node_latest_backup,node_backup_history,node_backup_row,node_backup_detail,node_share_sheet toneMint
class node_phone_connectivity toneRose
```

## Components

### Watch app UI

- [Watch home](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/ContentView.swift): `HermesEnabler2/ContentView.swift`
- [Backup library](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/BackupView.swift): `HermesEnabler2/BackupView.swift`
- [Display controls](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/DisplayAndControlsView.swift): `HermesEnabler2/DisplayAndControlsView.swift`
- [Resolution options](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/ResolutionOptionsView.swift): `HermesEnabler2/ResolutionOptionsView.swift`
- [Sensors & workouts](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/SensorsAndWorkoutsView.swift): `HermesEnabler2/SensorsAndWorkoutsView.swift`
- [Siri & intelligence](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/IntelligenceView.swift): `HermesEnabler2/IntelligenceView.swift`
- [Region options](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/RegionCodeOptionsView.swift): `HermesEnabler2/RegionCodeOptionsView.swift`
- [Sales region options](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/SalesRegionOptionsView.swift): `HermesEnabler2/SalesRegionOptionsView.swift`
- [Watch faces](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/WatchFacesView.swift): `HermesEnabler2/WatchFacesView.swift`

### Watch operations

- [Capability model](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/ContentModel.swift): `HermesEnabler2/ContentModel.swift`
- [MobileGestalt core](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/BQCore.m): `HermesEnabler2/BQCore.m`
- [Watch connectivity](https://github.com/pookjw/hermesenabler/blob/main/HermesEnabler2/WatchConnectivity/WatchConnectivityManager.swift): `HermesEnabler2/WatchConnectivity/WatchConnectivityManager.swift`

### iPhone companion

- [Companion home](https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/ContentView.swift): `HermesCompanion/ContentView.swift`
- [Watch status cards](https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/WatchDeviceCard.swift): `HermesCompanion/WatchDeviceCard.swift`
- [Installation status](https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/WatchInstallationCard.swift): `HermesCompanion/WatchInstallationCard.swift`
- [Latest backup](https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/LatestBackupCard.swift): `HermesCompanion/LatestBackupCard.swift`
- [Backup history](https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/BackupHistoryView.swift): `HermesCompanion/BackupHistoryView.swift`
- [History row](https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/BackupHistoryRow.swift): `HermesCompanion/BackupHistoryRow.swift`
- [Backup details](https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/BackupDetailView.swift): `HermesCompanion/BackupDetailView.swift`
- [Share sheet](https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/ActivityViewController.swift): `HermesCompanion/ActivityViewController.swift`

### Phone connectivity

- [Phone connectivity](https://github.com/pookjw/hermesenabler/blob/main/HermesCompanion/WatchConnectivity/WatchConnectivityManager.swift): `HermesCompanion/WatchConnectivity/WatchConnectivityManager.swift`

### Other components

- **Watch user**
- **iPhone user**

## Connections

- Watch user → Watch home: uses (evidence: `HermesEnabler2/ContentView.swift`)
- Watch home → Backup library: shows (evidence: `HermesEnabler2/ContentView.swift`)
- Watch home → Watch faces: opens (evidence: `HermesEnabler2/ContentView.swift`)
- Watch home → Display controls: opens (evidence: `HermesEnabler2/ContentView.swift`)
- Watch home → Sensors & workouts: opens (evidence: `HermesEnabler2/ContentView.swift`)
- Watch home → Siri & intelligence: opens (evidence: `HermesEnabler2/ContentView.swift`)
- Backup library → Capability model: invokes (evidence: `HermesEnabler2/BackupView.swift`)
- Display controls → Capability model: updates (evidence: `HermesEnabler2/DisplayAndControlsView.swift`)
- Display controls → Resolution options: opens (evidence: `HermesEnabler2/DisplayAndControlsView.swift`)
- Sensors & workouts → Capability model: updates (evidence: `HermesEnabler2/SensorsAndWorkoutsView.swift`)
- Siri & intelligence → Capability model: updates (evidence: `HermesEnabler2/IntelligenceView.swift`)
- Siri & intelligence → Region options: opens (evidence: `HermesEnabler2/IntelligenceView.swift`)
- Siri & intelligence → Sales region options: opens (evidence: `HermesEnabler2/IntelligenceView.swift`)
- Watch faces → Capability model: updates (evidence: `HermesEnabler2/WatchFacesView.swift`)
- Capability model → MobileGestalt core: calls (evidence: `HermesEnabler2/ContentModel.swift`)
- Capability model → Watch connectivity: uses (evidence: `HermesEnabler2/ContentModel.swift`)
- iPhone user → Companion home: uses (evidence: `HermesCompanion/ContentView.swift`)
- Companion home → Watch status cards: shows (evidence: `HermesCompanion/ContentView.swift`)
- Companion home → Installation status: shows (evidence: `HermesCompanion/ContentView.swift`)
- Companion home → Latest backup: shows (evidence: `HermesCompanion/ContentView.swift`)
- Companion home → Backup history: opens (evidence: `HermesCompanion/ContentView.swift`)
- Companion home → Phone connectivity: loads history (evidence: `HermesCompanion/ContentView.swift`)
- Backup history → History row: renders (evidence: `HermesCompanion/BackupHistoryView.swift`)
- Backup history → Backup details: opens (evidence: `HermesCompanion/BackupHistoryView.swift`)
- Backup details → Phone connectivity: verifies, exports (evidence: `HermesCompanion/BackupDetailView.swift`)
- Backup details → Share sheet: presents (evidence: `HermesCompanion/BackupDetailView.swift`)
- Companion home → Phone connectivity: imports backup (evidence: `HermesCompanion/ContentView.swift`)
