# migueltr7/prueba_machi architecture

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

- Interactive diagram: https://gitdiagram.com/migueltr7/prueba_machi
- Repository: https://github.com/migueltr7/prueba_machi

## Overview

Operaciones Aeronáuticas Chile is a Kedro-based analytics and machine-learning project with two parallel tracks: a national aviation baseline and a Puerto Montt delay-risk proof of concept. The graph follows declared pipeline inputs and outputs; artifact locations are represented by the repository’s data-stage directories. Several subsystems are documented in the README but their implementation wiring was not sampled, so their internal details are intentionally kept broad.

Main entry points: [`src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py`](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py) (Join flights and weather), [`data/01_raw`](https://github.com/migueltr7/prueba_machi/tree/main/data/01_raw) (Raw aviation data), [`data/02_intermediate`](https://github.com/migueltr7/prueba_machi/tree/main/data/02_intermediate) (Preprocessed flights), [`src/operaciones_aeronaves/pipelines/ml/nodes.py`](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/ml/nodes.py) (Airport clustering and flight classification)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Kedro runtime"]
  node_kedro["Pipeline registry"]
  node_catalog["Data catalog<br/>[catalog.yml]"]
end

subgraph group_baseline["National baseline"]
  node_processed["Preprocessed flights"]
  node_joined["Integrated operations"]
  node_baseline_eda["Baseline EDA<br/>[nodes.py]"]
  node_baseline_ml["Airport clustering and flight classification<br/>[nodes.py]"]
  node_baseline_results["Baseline outputs"]
end

subgraph group_risk["Delay-risk PoC"]
  node_scte_filter["Filter SCTE flights<br/>[nodes.py]"]
  node_delay_target["Reconstruct delay target<br/>[nodes.py]"]
  node_weather_features["Prepare weather features<br/>[nodes.py]"]
  node_flight_weather_join["Join flights and weather<br/>[nodes.py]"]
  node_delay_model["Train delay model<br/>[nodes.py]"]
  node_weather_effect["Assess weather effect<br/>[nodes.py]"]
  node_risk_segments["Flight and day segments<br/>[segmentacion.py]"]
  node_risk_eda["Delay EDA<br/>[eda.py]"]
  node_risk_results["Risk outputs"]
end

subgraph group_inventory["Data inventory"]
  node_inventory_scan["Scan and profile raw files<br/>[nodes.py]"]
  node_inventory_report["Inventory report"]
end

node_analyst(("Analyst"))
node_raw["Raw aviation data"]
node_weather_source["Weather data"]

node_analyst -->|"starts run"| node_kedro
node_kedro -->|"loads datasets"| node_catalog
node_raw -->|"provides files"| node_catalog
node_catalog -->|"stores intermediate"| node_processed
node_processed -->|"stores primary"| node_joined
node_raw -->|"supplies flights"| node_baseline_eda
node_baseline_eda -->|"writes cleaned flights"| node_processed
node_processed -->|"supplies joined flights"| node_baseline_ml
node_raw -->|"supplies airport data"| node_baseline_ml
node_baseline_ml -->|"writes analyses"| node_baseline_results
node_joined -->|"feeds plots"| node_baseline_eda
node_joined -->|"feeds models"| node_baseline_ml
node_raw -->|"supplies flight log"| node_scte_filter
node_scte_filter -->|"filters flights"| node_delay_target
node_delay_target -->|"provides delay labels"| node_flight_weather_join
node_weather_source -.->|"provides weather"| node_weather_features
node_weather_features -->|"provides features"| node_flight_weather_join
node_flight_weather_join -->|"trains on joined data"| node_delay_model
node_flight_weather_join -->|"supports impact analysis"| node_weather_effect
node_delay_model -->|"provides fitted model"| node_weather_effect
node_flight_weather_join -->|"feeds segmentation"| node_risk_segments
node_flight_weather_join -->|"feeds exploration"| node_risk_eda
node_weather_features -->|"provides weather features"| node_risk_eda
node_risk_eda -->|"writes report"| node_risk_results
node_weather_effect -->|"writes impact results"| node_risk_results
node_risk_segments -->|"writes segment results"| node_risk_results
node_raw -->|"scans files"| node_inventory_scan
node_inventory_scan -->|"summarizes inventory"| node_inventory_report

click node_kedro "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipeline_registry.py"
click node_catalog "https://github.com/migueltr7/prueba_machi/blob/main/conf/base/catalog.yml"
click node_raw "https://github.com/migueltr7/prueba_machi/tree/main/data/01_raw"
click node_processed "https://github.com/migueltr7/prueba_machi/tree/main/data/02_intermediate"
click node_joined "https://github.com/migueltr7/prueba_machi/tree/main/data/03_primary"
click node_baseline_eda "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/data_processing/nodes.py"
click node_baseline_ml "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/ml/nodes.py"
click node_baseline_results "https://github.com/migueltr7/prueba_machi/tree/main/data/08_reporting"
click node_scte_filter "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py"
click node_delay_target "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py"
click node_weather_features "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py"
click node_flight_weather_join "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py"
click node_delay_model "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py"
click node_weather_effect "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py"
click node_risk_segments "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/segmentacion.py"
click node_risk_eda "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/eda.py"
click node_risk_results "https://github.com/migueltr7/prueba_machi/tree/main/data/08_reporting"
click node_inventory_scan "https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/data_inventory/nodes.py"
click node_inventory_report "https://github.com/migueltr7/prueba_machi/blob/main/data/08_reporting/data_inventory_report.md"

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_kedro,node_catalog toneBlue
class node_processed,node_joined,node_baseline_eda,node_baseline_ml,node_baseline_results toneAmber
class node_scte_filter,node_delay_target,node_weather_features,node_flight_weather_join,node_delay_model,node_weather_effect,node_risk_segments,node_risk_eda,node_risk_results toneMint
class node_inventory_scan,node_inventory_report toneRose
class node_analyst,node_weather_source toneIndigo
class node_raw toneTeal
```

## Components

### Kedro runtime

- [Pipeline registry](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipeline_registry.py): `src/operaciones_aeronaves/pipeline_registry.py`
- [Data catalog](https://github.com/migueltr7/prueba_machi/blob/main/conf/base/catalog.yml): `conf/base/catalog.yml`

### National baseline

- [Preprocessed flights](https://github.com/migueltr7/prueba_machi/tree/main/data/02_intermediate): `data/02_intermediate`
- [Integrated operations](https://github.com/migueltr7/prueba_machi/tree/main/data/03_primary): `data/03_primary`
- [Baseline EDA](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/data_processing/nodes.py): `src/operaciones_aeronaves/pipelines/data_processing/nodes.py`
- [Airport clustering and flight classification](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/ml/nodes.py): `src/operaciones_aeronaves/pipelines/ml/nodes.py`
- [Baseline outputs](https://github.com/migueltr7/prueba_machi/tree/main/data/08_reporting): `data/08_reporting`

### Delay-risk PoC

- [Filter SCTE flights](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py): `src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py`
- [Reconstruct delay target](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py): `src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py`
- [Prepare weather features](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py): `src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py`
- [Join flights and weather](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py): `src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py`
- [Train delay model](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py): `src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py`
- [Assess weather effect](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py): `src/operaciones_aeronaves/pipelines/retrasos_ml/nodes.py`
- [Flight and day segments](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/segmentacion.py): `src/operaciones_aeronaves/pipelines/retrasos_ml/segmentacion.py`
- [Delay EDA](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/retrasos_ml/eda.py): `src/operaciones_aeronaves/pipelines/retrasos_ml/eda.py`
- [Risk outputs](https://github.com/migueltr7/prueba_machi/tree/main/data/08_reporting): `data/08_reporting`

### Data inventory

- [Scan and profile raw files](https://github.com/migueltr7/prueba_machi/blob/main/src/operaciones_aeronaves/pipelines/data_inventory/nodes.py): `src/operaciones_aeronaves/pipelines/data_inventory/nodes.py`
- [Inventory report](https://github.com/migueltr7/prueba_machi/blob/main/data/08_reporting/data_inventory_report.md): `data/08_reporting/data_inventory_report.md`

### Other components

- **Analyst**
- [Raw aviation data](https://github.com/migueltr7/prueba_machi/tree/main/data/01_raw): `data/01_raw`
- **Weather data**

## Connections

- Analyst → Pipeline registry: starts run
- Pipeline registry → Data catalog: loads datasets
- Raw aviation data → Data catalog: provides files
- Data catalog → Preprocessed flights: stores intermediate
- Preprocessed flights → Integrated operations: stores primary
- Raw aviation data → Baseline EDA: supplies flights
- Baseline EDA → Preprocessed flights: writes cleaned flights
- Preprocessed flights → Airport clustering and flight classification: supplies joined flights
- Raw aviation data → Airport clustering and flight classification: supplies airport data
- Airport clustering and flight classification → Baseline outputs: writes analyses
- Integrated operations → Baseline EDA: feeds plots
- Integrated operations → Airport clustering and flight classification: feeds models
- Raw aviation data → Filter SCTE flights: supplies flight log
- Filter SCTE flights → Reconstruct delay target: filters flights
- Reconstruct delay target → Join flights and weather: provides delay labels
- Weather data → Prepare weather features: provides weather
- Prepare weather features → Join flights and weather: provides features
- Join flights and weather → Train delay model: trains on joined data
- Join flights and weather → Assess weather effect: supports impact analysis
- Train delay model → Assess weather effect: provides fitted model
- Join flights and weather → Flight and day segments: feeds segmentation
- Join flights and weather → Delay EDA: feeds exploration
- Prepare weather features → Delay EDA: provides weather features
- Delay EDA → Risk outputs: writes report
- Assess weather effect → Risk outputs: writes impact results
- Flight and day segments → Risk outputs: writes segment results
- Raw aviation data → Scan and profile raw files: scans files
- Scan and profile raw files → Inventory report: summarizes inventory
