# cadenbrannan2004-pixel/deadlock-win-probability architecture

> Architecture diagram of the GitHub repository cadenbrannan2004-pixel/deadlock-win-probability, 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/cadenbrannan2004-pixel/deadlock-win-probability
- Repository: https://github.com/cadenbrannan2004-pixel/deadlock-win-probability

## Overview

DLWin is described as a Deadlock win-probability and build advisor, but the supplied README is empty and the sampled recommendation, feature, training, explanation, and service files provide no implementation details. The only evidenced workflow is manifest ingestion: configuration supplies the manifest URL and raw-data directory, ingestion fetches and saves the manifest, and prints a description. Other named modules are retained as product areas, but their connections and behavior cannot be established from the available excerpts.

Main entry points: [`src/dlwin/ingest.py`](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/ingest.py) (Manifest ingestion), [`src/dlwin/config.py`](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/config.py) (Runtime configuration), [`data/raw`](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/tree/main/data/raw) (Raw manifest file)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ingestion["Data ingestion"]
  node_config["Runtime configuration<br/>[config.py]"]
  node_ingest["Manifest ingestion<br/>[ingest.py]"]
  node_raw_manifest["Raw manifest file"]
end

subgraph group_modeling["Prediction and advice"]
  node_features["Feature engineering<br/>[features.py]"]
  node_training["Win model training<br/>[train_win_model.py]"]
  node_recommender["Build recommender<br/>[recommender.py]"]
  node_explain["Result explanation<br/>[explain.py]"]
end

subgraph group_serving["Service interface"]
  node_service_app["Service application<br/>[app.py]"]
  node_live_service["Live service<br/>[live.py]"]
end

node_data_lake{{"Deadlock data lake"}}

node_ingest -->|"reads settings"| node_config
node_ingest -->|"fetches manifest"| node_data_lake
node_ingest -->|"writes manifest"| node_raw_manifest

click node_config "https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/config.py"
click node_ingest "https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/ingest.py"
click node_raw_manifest "https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/tree/main/data/raw"
click node_features "https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/features.py"
click node_training "https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/train_win_model.py"
click node_recommender "https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/recommender.py"
click node_explain "https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/explain.py"
click node_service_app "https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/service/app.py"
click node_live_service "https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/service/live.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_config,node_ingest,node_raw_manifest toneBlue
class node_features,node_training,node_recommender,node_explain toneAmber
class node_service_app,node_live_service toneMint
class node_data_lake toneIndigo
```

## Components

### Data ingestion

- [Runtime configuration](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/config.py): `src/dlwin/config.py`
- [Manifest ingestion](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/ingest.py): `src/dlwin/ingest.py`
- [Raw manifest file](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/tree/main/data/raw): `data/raw`

### Prediction and advice

- [Feature engineering](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/features.py): `src/dlwin/features.py`
- [Win model training](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/train_win_model.py): `src/dlwin/train_win_model.py`
- [Build recommender](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/recommender.py): `src/dlwin/recommender.py`
- [Result explanation](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/explain.py): `src/dlwin/explain.py`

### Service interface

- [Service application](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/service/app.py): `src/dlwin/service/app.py`
- [Live service](https://github.com/cadenbrannan2004-pixel/deadlock-win-probability/blob/main/src/dlwin/service/live.py): `src/dlwin/service/live.py`

### Other components

- **Deadlock data lake**

## Connections

- Manifest ingestion → Runtime configuration: reads settings (evidence: `src/dlwin/ingest.py`)
- Manifest ingestion → Deadlock data lake: fetches manifest (evidence: `src/dlwin/ingest.py`)
- Manifest ingestion → Raw manifest file: writes manifest (evidence: `src/dlwin/ingest.py`)
