diff --git a/architecture.md b/architecture.md
index cdc26eb..fc9d6c4 100644
--- a/architecture.md
+++ b/architecture.md
@@ -1,264 +1,81 @@
-# COGNITIVE AI MANUFACTURING AGENT (IOT INDUSTRY AUTOMATION)
-
-```mermaid
graph TB
- %% IoT Device Layer
- subgraph "IoT Device Layer"
- A1[Temperature Sensors
°C Monitoring]
- A2[Pressure Sensors
Bar/PSI Readings]
- A3[Vibration Sensors
Accelerometer Data]
- A4[Flow Sensors
Liquid/Gas Flow]
- A5[Proximity Sensors
Position Detection]
- A6[Current Sensors
Power Consumption]
- A7[Speed Sensors
RPM Monitoring]
- A8[Level Sensors
Tank/Container Levels]
+ %% IoT Sensors
+ subgraph "IoT Sensors"
+ A1[Temp/Pressure/Vibration
Flow/Speed/Level]
end
- %% Edge Computing Layer
- subgraph "Edge Computing Layer"
- B1[Edge Gateway
Local Processing]
- B2[Data Validation
Quality Checks]
- B3[Local Cache
Temporary Storage]
- B4[Protocol Conversion
Modbus/OPC-UA to MQTT]
+ %% Edge Processing
+ subgraph "Edge Layer"
+ B1[Edge Gateway
Data Validation]
+ B2[MQTT Broker
Protocol Convert]
end
- %% Communication Protocol Layer
- subgraph "MQTT Communication Layer"
- C1[MQTT Broker
Message Distribution]
- C2[Topic Management
Sensor/alerts/commands]
- C3[QoS Handling
Message Reliability]
- C4[Security Layer
TLS/SSL Encryption]
+ %% Stream Processing
+ subgraph "DataStreamX"
+ C1[Real-time Ingestion]
+ C2[Pattern Detection]
+ C3[Data Enrichment]
end
- %% DataStreamX Processing Layer
- subgraph "DataStreamX (Apache StreamPipes)"
- D1[Data Ingestion
Real-time Collection]
- D2[Stream Processing
Data Transformation]
- D3[Data Enrichment
Context Addition]
- D4[Pattern Detection
Anomaly Identification]
- D5[Data Routing
Multiple Destinations]
- D6[Buffer Management
Peak Load Handling]
+ %% Event Streaming
+ subgraph "Kafka"
+ D1[Event Topics
sensor-data/alerts]
+ D2[Consumer Groups]
end
- %% Apache Kafka Event Streaming
- subgraph "Apache Kafka Event Streaming"
- E1[Producer API
Event Publishing]
- E2[Topic Partitions
sensor-data
alerts
commands
system-logs]
- E3[Consumer Groups
AI Agents
Dashboard
Archive]
- E4[Event Store
Message Persistence]
- E5[Stream Processing
Kafka Streams]
+ %% AI Engine
+ subgraph "AI Processing"
+ E1[Anomaly Detection]
+ E2[Predictive Maintenance]
+ E3[Decision Engine]
end
- %% AI Processing Engine
- subgraph "AI Processing Engine"
- F1[Node.js AI Agent
Real-time Processing]
- F2[Python AI Agent
ML Analytics]
- F3[Anomaly Detection
Statistical Models]
- F4[Predictive Maintenance
Failure Prediction]
- F5[Pattern Recognition
Trend Analysis]
- F6[Decision Tree
Action Classification]
- F7[Machine Learning
Continuous Learning]
- F8[Rule Engine
Business Logic]
+ %% Actions
+ subgraph "Actions"
+ F1{Critical?}
+ F2[Emergency Stop]
+ F3[Auto-Fix]
+ F4[Optimization]
end
- %% Decision & Action Layer
- subgraph "Decision & Action Layer"
- G1{Critical Alert?}
- G2{Self-Healing Enabled?}
- G3[Emergency Shutdown
Safety Protocol]
- G4[Auto-Fix Actions
Parameter Adjustment]
- G5[Equipment Control
Start/Stop/Adjust]
- G6[Maintenance Schedule
Preventive Actions]
- G7[Optimization
Performance Tuning]
+ %% Notifications
+ subgraph "HookPilot"
+ G1[Workflow Engine]
+ G2[Multi-channel
Telegram/Email/Slack]
end
- %% HookPilot Notification System
- subgraph "HookPilot (ActivePieces) Automation"
- H1[Webhook Receiver
Event Processing]
- H2[Workflow Engine
Automation Rules]
- H3[Multi-channel Dispatch
Notification Routing]
- H4[Template Engine
Message Formatting]
- H5[Retry Mechanism
Delivery Guarantee]
- H6[Integration APIs
Third-party Services]
+ %% Dashboard
+ subgraph "React Dashboard"
+ H1[Real-time Monitor]
+ H2[Analytics]
+ H3[Control Panel]
end
- %% External Notification Channels
- subgraph "External Notification Channels"
- I1[Telegram Bot
Instant Alerts]
- I2[Email System
SMTP Delivery]
- I3[Slack Integration
Team Notifications]
- I4[SMS Gateway
Critical Alerts]
- I5[WhatsApp API
Mobile Alerts]
- I6[Custom Webhooks
API Endpoints]
- I7[Mobile Push
App Notifications]
+ %% Storage
+ subgraph "Storage"
+ I1[Time Series DB]
+ I2[Event Store]
end
- %% React Dashboard Interface
- subgraph "React Dashboard Interface"
- J1[Real-time Monitoring
Live Data Display]
- J2[System Overview
Health Status]
- J3[Alert Management
Acknowledge/Dismiss]
- J4[Analytics Dashboard
Charts & Graphs]
- J5[Device Configuration
Settings Panel]
- J6[User Management
Access Control]
- J7[Historical Reports
Trend Analysis]
- J8[Control Panel
Manual Override]
+ %% Learning Loop
+ subgraph "ML Loop"
+ J1[Performance Metrics]
+ J2[Model Retraining]
end
- %% Data Storage Layer
- subgraph "Data Storage & Analytics"
- K1[Time Series Database
Sensor History]
- K2[Event Store
Action Logs]
- K3[Configuration DB
System Settings]
- K4[User Database
Authentication]
- K5[ML Model Store
Trained Models]
- K6[Backup System
Data Recovery]
- end
-
- %% Feedback Loop
- subgraph "Feedback & Learning Loop"
- L1[Performance Metrics
System KPIs]
- L2[Model Retraining
Continuous Learning]
- L3[Threshold Adjustment
Dynamic Tuning]
- L4[Rule Optimization
Logic Refinement]
- end
-
- %% Data Flow Connections
- A1 --> B1
- A2 --> B1
- A3 --> B1
- A4 --> B1
- A5 --> B2
- A6 --> B2
- A7 --> B3
- A8 --> B4
-
- B1 --> C1
- B2 --> C2
- B3 --> C3
- B4 --> C4
-
- C1 --> D1
- C2 --> D2
- C3 --> D3
- C4 --> D4
-
- D1 --> D5
- D2 --> D5
- D3 --> D6
- D4 --> E1
- D5 --> E1
- D6 --> E1
-
- E1 --> E2
- E2 --> E3
- E3 --> F1
- E3 --> F2
- E4 --> E5
- E5 --> F7
-
- F1 --> F3
- F2 --> F4
- F3 --> F6
- F4 --> F5
- F5 --> F8
- F6 --> G1
- F7 --> F8
- F8 --> G1
-
- G1 -->|Yes| G3
- G1 -->|No| G2
- G2 -->|Yes| G4
- G2 -->|No| H1
- G3 --> H1
- G4 --> G5
- G4 --> G6
- G5 --> G7
- G6 --> H1
- G7 --> H1
-
- H1 --> H2
- H2 --> H3
- H3 --> H4
- H4 --> H5
- H5 --> H6
-
- H6 --> I1
- H6 --> I2
- H6 --> I3
- H6 --> I4
- H6 --> I5
- H6 --> I6
- H6 --> I7
-
- E3 --> J1
- F8 --> J2
- H2 --> J3
- K1 --> J4
- G5 --> J5
- K4 --> J6
- K2 --> J7
- J8 --> G5
-
- D5 --> K1
- G5 --> K2
- J5 --> K3
- J6 --> K4
- F7 --> K5
- K1 --> K6
- K2 --> K6
-
- J1 --> L1
- K1 --> L2
- F8 --> L3
- G7 --> L4
- L1 --> L2
- L2 --> F7
- L3 --> F8
- L4 --> G7
-
- %% Styling
- style A1 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
- style A2 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
- style A3 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
- style A4 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
- style A5 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
- style A6 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
- style A7 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
- style A8 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
-
- style D1 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
- style D2 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
- style D3 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
- style D4 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
- style D5 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
- style D6 fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
-
- style F1 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
- style F2 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
- style F3 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
- style F4 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
- style F5 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
- style F6 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
- style F7 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
- style F8 fill:#fff3e0,stroke:#f57c00,stroke-width:2px
-
- style H1 fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
- style H2 fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
- style H3 fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
- style H4 fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
- style H5 fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
- style H6 fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
-
- style J1 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
- style J2 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
- style J3 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
- style J4 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
- style J5 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
- style J6 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
- style J7 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
- style J8 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
-
- style G1 fill:#ffebee,stroke:#d32f2f,stroke-width:3px
- style G2 fill:#ffebee,stroke:#d32f2f,stroke-width:3px
-```
\ No newline at end of file
+ %% Connections
+ A1 --> B1 --> B2 --> C1
+ C1 --> C2 --> C3 --> D1
+ D1 --> D2 --> E1
+ E1 --> E2 --> E3 --> F1
+ F1 -->|Yes| F2
+ F1 -->|No| F3 --> F4
+ F2 --> G1
+ F3 --> G1
+ F4 --> G1
+ G1 --> G2
+ D2 --> H1 --> H2
+ H3 --> F3
+ C3 --> I1
+ E3 --> I2
+ H2 --> J1 --> J2 --> E1
\ No newline at end of file