# jo120424/a-ai-ess-guardian architecture

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

- Interactive diagram: https://gitdiagram.com/jo120424/a-ai-ess-guardian
- Repository: https://github.com/jo120424/a-ai-ess-guardian

## Overview

AI-ESS GUARDIAN is a research prototype for predictive electronic-component burn-in screening. Reliability engineers submit telemetry through the screening dashboard; validated data is assessed for lot-relative anomalies, projected degradation and safety-envelope breaches, then fused into a PASS/REVIEW/REJECT disposition with QA explanations. Separate research workflows compare screening methods on NASA capacitor data and produce validation analyses. The README documents the screening modules and research capabilities; wiring for unsampled implementation details is shown only where documented.

Main entry points: [`app/dashboard.py`](https://github.com/jo120424/a-ai-ess-guardian/blob/main/app/dashboard.py) (QA Dashboard), [`data/processed`](https://github.com/jo120424/a-ai-ess-guardian/tree/main/data/processed) (Processed Dataset), [`backend/experiments/run_experiment.py`](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/experiments/run_experiment.py) (Comparative Runner), [`backend/validation/run_validation.py`](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/validation/run_validation.py) (Validation Runner)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_screen["Component Screening"]
  node_screen_ui["QA Dashboard<br/>[dashboard.py]"]
  node_module_a["Lot Anomaly Detection<br/>[module_a.py]"]
  node_module_b["Drift Forecasting<br/>[module_b.py]"]
  node_envelope["Safety Envelope<br/>[safety_envelope.py]"]
  node_decision["Decision Fusion<br/>[decision_engine.py]"]
  node_explainer["QA Explanations<br/>[explainer.py]"]
  node_trainer["Training Orchestrator"]
  node_artifacts["Artifact Manager"]
  node_model_store["Model Artifacts"]
end

subgraph group_data["Telemetry Data"]
  node_ingest["Telemetry Validation<br/>[sih_pipeline.py]"]
  node_synthetic["Synthetic Burn-in Data"]
  node_nasa_raw["NASA Stress Data"]
  node_preprocess["NASA Preprocessing<br/>[preprocess.py]"]
  node_processed["Processed Dataset"]
  node_profiler["Dataset Profiling<br/>[profile_dataset.py]"]
end

subgraph group_research["Research Experiments"]
  node_experiment["Comparative Runner<br/>[run_experiment.py]"]
  node_ground_truth["Ground Truth Labels<br/>[ground_truth.py]"]
  node_experiment_results["Experiment Results"]
end

subgraph group_validation["Validation &amp; Audit"]
  node_validation_runner["Validation Runner<br/>[run_validation.py]"]
  node_validation_modules["Validation Analyses"]
  node_validation_results["Validation Results"]
end

subgraph group_service["Research Web Interface"]
  node_frontend["Research Frontend<br/>[app.js]"]
  node_server["HTTP API Server<br/>[server.py]"]
end

node_engineer(("Reliability Engineer"))
node_web_user(("Research User"))

node_engineer -->|"submits telemetry"| node_screen_ui
node_screen_ui -->|"validates input"| node_ingest
node_ingest -->|"clean telemetry"| node_module_a
node_screen_ui -->|"requests forecast"| node_module_b
node_screen_ui -->|"checks safety"| node_envelope
node_screen_ui -->|"fuses assessments"| node_decision
node_screen_ui -->|"requests reasons"| node_explainer
node_trainer -->|"persists models"| node_artifacts
node_artifacts -->|"reads/writes"| node_model_store
node_synthetic -->|"supplies demo data"| node_screen_ui
node_nasa_raw -->|"provides source data"| node_preprocess
node_preprocess -->|"writes dataset"| node_processed
node_nasa_raw -->|"profiles dataset"| node_profiler
node_processed -->|"provides records"| node_experiment
node_experiment -->|"generates labels"| node_ground_truth
node_experiment -->|"writes results"| node_experiment_results
node_processed -->|"provides data"| node_validation_runner
node_validation_runner -->|"runs analyses"| node_validation_modules
node_validation_runner -->|"writes reports"| node_validation_results
node_web_user -->|"opens interface"| node_frontend
node_frontend -->|"fetches API data"| node_server

click node_screen_ui "https://github.com/jo120424/a-ai-ess-guardian/blob/main/app/dashboard.py"
click node_ingest "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/data_pipeline/sih_pipeline.py"
click node_module_a "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/module_a.py"
click node_module_b "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/module_b.py"
click node_envelope "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/safety_envelope.py"
click node_decision "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/decision_engine.py"
click node_explainer "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/explainer.py"
click node_trainer "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/train_and_persist.py"
click node_artifacts "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/artifact_manager.py"
click node_model_store "https://github.com/jo120424/a-ai-ess-guardian/tree/main/models"
click node_synthetic "https://github.com/jo120424/a-ai-ess-guardian/tree/main/data/synthetic"
click node_nasa_raw "https://github.com/jo120424/a-ai-ess-guardian/tree/main/data/raw"
click node_preprocess "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/data_pipeline/preprocess.py"
click node_processed "https://github.com/jo120424/a-ai-ess-guardian/tree/main/data/processed"
click node_profiler "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/data_pipeline/profile_dataset.py"
click node_experiment "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/experiments/run_experiment.py"
click node_ground_truth "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/experiments/ground_truth.py"
click node_experiment_results "https://github.com/jo120424/a-ai-ess-guardian/tree/main/results/step4"
click node_validation_runner "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/validation/run_validation.py"
click node_validation_modules "https://github.com/jo120424/a-ai-ess-guardian/tree/main/backend/validation"
click node_validation_results "https://github.com/jo120424/a-ai-ess-guardian/tree/main/results/step5"
click node_frontend "https://github.com/jo120424/a-ai-ess-guardian/blob/main/frontend/js/app.js"
click node_server "https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/server.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_screen_ui,node_module_a,node_module_b,node_envelope,node_decision,node_explainer,node_trainer,node_artifacts,node_model_store,node_web_user toneBlue
class node_ingest,node_synthetic,node_nasa_raw,node_preprocess,node_processed,node_profiler toneAmber
class node_experiment,node_ground_truth,node_experiment_results toneMint
class node_validation_runner,node_validation_modules,node_validation_results toneRose
class node_frontend,node_server,node_engineer toneIndigo
```

## Components

### Component Screening

- [QA Dashboard](https://github.com/jo120424/a-ai-ess-guardian/blob/main/app/dashboard.py): `app/dashboard.py`
- [Lot Anomaly Detection](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/module_a.py): `backend/screening/module_a.py`
- [Drift Forecasting](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/module_b.py): `backend/screening/module_b.py`
- [Safety Envelope](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/safety_envelope.py): `backend/screening/safety_envelope.py`
- [Decision Fusion](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/decision_engine.py): `backend/screening/decision_engine.py`
- [QA Explanations](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/explainer.py): `backend/screening/explainer.py`
- [Training Orchestrator](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/train_and_persist.py): `backend/screening/train_and_persist.py`
- [Artifact Manager](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/screening/artifact_manager.py): `backend/screening/artifact_manager.py`
- [Model Artifacts](https://github.com/jo120424/a-ai-ess-guardian/tree/main/models): `models`

### Telemetry Data

- [Telemetry Validation](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/data_pipeline/sih_pipeline.py): `backend/data_pipeline/sih_pipeline.py`
- [Synthetic Burn-in Data](https://github.com/jo120424/a-ai-ess-guardian/tree/main/data/synthetic): `data/synthetic`
- [NASA Stress Data](https://github.com/jo120424/a-ai-ess-guardian/tree/main/data/raw): `data/raw`
- [NASA Preprocessing](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/data_pipeline/preprocess.py): `backend/data_pipeline/preprocess.py`
- [Processed Dataset](https://github.com/jo120424/a-ai-ess-guardian/tree/main/data/processed): `data/processed`
- [Dataset Profiling](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/data_pipeline/profile_dataset.py): `backend/data_pipeline/profile_dataset.py`

### Research Experiments

- [Comparative Runner](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/experiments/run_experiment.py): `backend/experiments/run_experiment.py`
- [Ground Truth Labels](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/experiments/ground_truth.py): `backend/experiments/ground_truth.py`
- [Experiment Results](https://github.com/jo120424/a-ai-ess-guardian/tree/main/results/step4): `results/step4`

### Validation & Audit

- [Validation Runner](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/validation/run_validation.py): `backend/validation/run_validation.py`
- [Validation Analyses](https://github.com/jo120424/a-ai-ess-guardian/tree/main/backend/validation): `backend/validation`
- [Validation Results](https://github.com/jo120424/a-ai-ess-guardian/tree/main/results/step5): `results/step5`

### Research Web Interface

- [Research Frontend](https://github.com/jo120424/a-ai-ess-guardian/blob/main/frontend/js/app.js): `frontend/js/app.js`
- [HTTP API Server](https://github.com/jo120424/a-ai-ess-guardian/blob/main/backend/server.py): `backend/server.py`

### Other components

- **Reliability Engineer**
- **Research User**

## Connections

- Reliability Engineer → QA Dashboard: submits telemetry
- QA Dashboard → Telemetry Validation: validates input
- Telemetry Validation → Lot Anomaly Detection: clean telemetry
- QA Dashboard → Drift Forecasting: requests forecast
- QA Dashboard → Safety Envelope: checks safety
- QA Dashboard → Decision Fusion: fuses assessments
- QA Dashboard → QA Explanations: requests reasons
- Training Orchestrator → Artifact Manager: persists models
- Artifact Manager → Model Artifacts: reads/writes
- Synthetic Burn-in Data → QA Dashboard: supplies demo data
- NASA Stress Data → NASA Preprocessing: provides source data
- NASA Preprocessing → Processed Dataset: writes dataset
- NASA Stress Data → Dataset Profiling: profiles dataset
- Processed Dataset → Comparative Runner: provides records
- Comparative Runner → Ground Truth Labels: generates labels
- Comparative Runner → Experiment Results: writes results
- Processed Dataset → Validation Runner: provides data
- Validation Runner → Validation Analyses: runs analyses
- Validation Runner → Validation Results: writes reports
- Research User → Research Frontend: opens interface
- Research Frontend → HTTP API Server: fetches API data
