# bshen2452-alt/singularity-run architecture

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

- Interactive diagram: https://gitdiagram.com/bshen2452-alt/singularity-run
- Repository: https://github.com/bshen2452-alt/singularity-run

## Overview

Going Concern is a browser-based AI-company management simulation. The player chooses a technology route, manages resources and operations each turn, responds to rivals, markets, regulation and events, then advances through tiers toward AGI or an alternate ending. Its documented breadth includes route-specific strategies, products, compute, data, talent, regional expansion, finance, energy, supply chains, social impact and multiple endings. The turn-resolution implementation was not sampled, so links into it are unverified; other links reflect the README or excerpted engine calls.

Main entry points: [`engine/core/engine.js`](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/core/engine.js) (Turn resolution), [`engine/products/products_engine.js`](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/products/products_engine.js) (Product development), [`engine/compute/compute_engine.js`](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/compute/compute_engine.js) (Compute), [`engine/data/data_engine.js`](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/data/data_engine.js) (Data management)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_game["Turn and progression"]
  node_turn["Turn resolution<br/>[engine.js]"]
end

subgraph group_company["Company operations"]
  node_compute["Compute<br/>[compute_engine.js]"]
  node_data["Data management<br/>[data_engine.js]"]
  node_products["Product development<br/>[products_engine.js]"]
  node_research["Research institute"]
  node_talent["Talent and hiring"]
  node_image["Company image"]
  node_acquisition["Acquisitions"]
  node_energy["Power equipment"]
  node_minerals["Minerals and components"]
  node_finance["Finance<br/>[equity_engine.js]"]
  node_routes["Route strategies"]
end

subgraph group_world["World systems"]
  node_regions["Regional operations"]
  node_markets["Global markets<br/>[etf_engine.js]"]
  node_rivals["Rival companies"]
  node_regulation["Regulatory systems"]
  node_supply["Supply chains"]
  node_discourse["Public discourse"]
  node_social["Civic movements"]
end

subgraph group_narrative["Events and outcomes"]
  node_events["Events and hazards"]
  node_endings["Game endings<br/>[ending_engine.js]"]
end

node_player(("Company player"))

node_player -.->|"plays turns"| node_turn
node_turn -.->|"resolves operations"| node_compute
node_turn -.->|"resolves operations"| node_products
node_turn -.->|"resolves operations"| node_regions
node_turn -.->|"handles events"| node_events
node_turn -.->|"checks outcomes"| node_endings
node_products -->|"checks capacity"| node_compute
node_products -->|"validates data"| node_data
node_image -->|"adjusts channels"| node_discourse
node_routes -->|"adds data"| node_data
node_research -->|"checks candidates"| node_talent
node_player -.->|"manages resources"| node_compute
node_player -.->|"develops products"| node_products
node_player -.->|"expands regions"| node_regions
node_player -.->|"competes with"| node_rivals
node_player -.->|"responds to"| node_regulation

click node_turn "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/core/engine.js"
click node_compute "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/compute/compute_engine.js"
click node_data "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/data/data_engine.js"
click node_products "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/products/products_engine.js"
click node_research "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/misc/research_institute_engine.js"
click node_talent "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/talent/gatekeeper_engine.js"
click node_image "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/organization/image_cultivation_engine.js"
click node_acquisition "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/acquisition/acquisition_engine.js"
click node_energy "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/energy/power_equipment_engine.js"
click node_minerals "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/mineral/mineral_management_engine.js"
click node_finance "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/finance/equity_engine.js"
click node_routes "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/routes/multimodal_format_engine.js"
click node_regions "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/region/manufacturing_engine.js"
click node_markets "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/market/etf_engine.js"
click node_rivals "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/rival/rival_behavior_engine.js"
click node_regulation "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/regulatory/regulatory_instruments_engine.js"
click node_supply "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/supply/supply_chain_engine.js"
click node_discourse "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/region/discourse_layer_engine.js"
click node_social "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/social_impact/civic_movement_engine.js"
click node_events "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/events/hazard_field_engine.js"
click node_endings "https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/ending/ending_engine.js"

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_turn toneBlue
class node_compute,node_data,node_products,node_research,node_talent,node_image,node_acquisition,node_energy,node_minerals,node_finance,node_routes toneAmber
class node_regions,node_markets,node_rivals,node_regulation,node_supply,node_discourse,node_social toneMint
class node_events,node_endings toneRose
class node_player toneIndigo
```

## Components

### Turn and progression

- [Turn resolution](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/core/engine.js): `engine/core/engine.js`

### Company operations

- [Compute](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/compute/compute_engine.js): `engine/compute/compute_engine.js`
- [Data management](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/data/data_engine.js): `engine/data/data_engine.js`
- [Product development](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/products/products_engine.js): `engine/products/products_engine.js`
- [Research institute](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/misc/research_institute_engine.js): `engine/misc/research_institute_engine.js`
- [Talent and hiring](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/talent/gatekeeper_engine.js): `engine/talent/gatekeeper_engine.js`
- [Company image](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/organization/image_cultivation_engine.js): `engine/organization/image_cultivation_engine.js`
- [Acquisitions](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/acquisition/acquisition_engine.js): `engine/acquisition/acquisition_engine.js`
- [Power equipment](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/energy/power_equipment_engine.js): `engine/energy/power_equipment_engine.js`
- [Minerals and components](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/mineral/mineral_management_engine.js): `engine/mineral/mineral_management_engine.js`
- [Finance](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/finance/equity_engine.js): `engine/finance/equity_engine.js`
- [Route strategies](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/routes/multimodal_format_engine.js): `engine/routes/multimodal_format_engine.js`

### World systems

- [Regional operations](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/region/manufacturing_engine.js): `engine/region/manufacturing_engine.js`
- [Global markets](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/market/etf_engine.js): `engine/market/etf_engine.js`
- [Rival companies](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/rival/rival_behavior_engine.js): `engine/rival/rival_behavior_engine.js`
- [Regulatory systems](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/regulatory/regulatory_instruments_engine.js): `engine/regulatory/regulatory_instruments_engine.js`
- [Supply chains](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/supply/supply_chain_engine.js): `engine/supply/supply_chain_engine.js`
- [Public discourse](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/region/discourse_layer_engine.js): `engine/region/discourse_layer_engine.js`
- [Civic movements](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/social_impact/civic_movement_engine.js): `engine/social_impact/civic_movement_engine.js`

### Events and outcomes

- [Events and hazards](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/events/hazard_field_engine.js): `engine/events/hazard_field_engine.js`
- [Game endings](https://github.com/bshen2452-alt/singularity-run/blob/develop-test/engine/ending/ending_engine.js): `engine/ending/ending_engine.js`

### Other components

- **Company player**

## Connections

- Company player → Turn resolution: plays turns
- Turn resolution → Compute: resolves operations
- Turn resolution → Product development: resolves operations
- Turn resolution → Regional operations: resolves operations
- Turn resolution → Events and hazards: handles events
- Turn resolution → Game endings: checks outcomes
- Product development → Compute: checks capacity (evidence: `engine/products/products_engine.js`)
- Product development → Data management: validates data (evidence: `engine/products/products_engine.js`)
- Company image → Public discourse: adjusts channels (evidence: `engine/organization/image_cultivation_engine.js`)
- Route strategies → Data management: adds data (evidence: `engine/routes/multimodal_format_engine.js`)
- Research institute → Talent and hiring: checks candidates (evidence: `engine/misc/research_institute_engine.js`)
- Company player → Compute: manages resources
- Company player → Product development: develops products
- Company player → Regional operations: expands regions
- Company player → Rival companies: competes with
- Company player → Regulatory systems: responds to
