Autonomous Fault Detection & Recovery for CubeSats Powered by Pathway's Streaming Engine & Biologically-Inspired Memory
Explore the Project:
π Live Site | π Dashboard Prototype | π Documentation | π₯ Intro | ποΈ Resources (GDrive)
π View Official Report
Space is unforgiving. AstraGuard makes it manageable.
AstraGuard AI is an intelligent autonomous system designed to protect CubeSats from catastrophic failure. Unlike traditional "alert-only" systems, AstraGuard uses agentic reasoning to detect anomalies in real-time streams, recall historical context using adaptive memory, and execute autonomous recovery actionsβall with sub-second latency.
"Streaming anomalies. Self-updating memory. Decisions that trigger actions."
- β Works on streams, not static input - Real-time telemetry processing
- β Memory evolves and prunes itself - Temporal weighting with decay curves
- β Agent reasons before acting - Explainable decision traces
- β Actions feed back into memory - Continuous learning loop
- β Dashboard outputs are structured - Validated, predictable responses
| Component | Description |
|---|---|
| π°οΈ Real-time Streaming | Pathway Engine processes data continuously at 5Hz |
| π§ Adaptive Memory | Temporal weighting + recurrence scoring + safe decay |
| π€ Agentic Decisions | detect β recall β reason β act β learn loop |
| β‘ Auto-Recovery | Concrete actions (not just alerts) with < 2s latency |
| π Premium Dashboard | Glassmorphism UI with Frontier Mode visualization |
| π¬ Experimental Feature | Anomaly Recurrence Resonance Score (signal reinforcement) |
graph TD
A["π°οΈ Telemetry Stream (Pathway)"] -->|Live Data| B["π Embedding Encoder"]
B -->|Vectors| C["π§ Adaptive Memory Store"]
C -->|Context| D["π€ Anomaly Reasoning Agent"]
B -->|Current Event| D
D -->|Decision| E["β‘ Response Orchestrator"]
E -->|Actions| F["π°οΈ System Recovery"]
F -->|Feedback| C
D -.->|Reasoning Trace| G["π Dashboard"]
C -.->|Memory State| G
E -.->|Action Status| G
AstraGuard/
βββ memory_engine/ # Adaptive memory with temporal weighting
βββ anomaly_agent/ # Decision loop + reasoning engine
βββ response_orchestrator/ # Workflow registry + action triggers
βββ encoder/ # Event embedding
βββ pathway_ingestion/ # Stream handlers
βββ dashboard/ # Streamlit UI
βββ tests/ # Comprehensive test suite
βββ examples/ # Run-ready demos
βββ docs/ # Architecture & design docs
- Python 3.9+
- pip & git
git clone https://github.com/sr-857/AstraGuard.git
cd AstraGuard
pip install -r requirements.txtpython verify_install.pyRun the demo:
python examples/run_demo.pyLaunch dashboard:
streamlit run dashboard/app.pyTip
Enable Frontier Mode in the dashboard to visualize adaptive memory flow and BDH neural activity!
| Metric | Target | Actual |
|---|---|---|
| Detection β Decision β Action | < 2s | ~325ms |
| Memory Retrieval | < 50ms | ~38ms |
| Embedding Encoding | < 20ms | ~12ms |
| Memory Updates | Auto | β Real-time |
| Explainability | LLM-assisted | β Plain language |
Mission: Reactive AI agent system for live threat detection and autonomous response.
Workflow:
Live Input β Anomaly Detection β Memory Recall β Intelligent Decision β Automated Action
Key Technologies:
- Pathway Engine for streaming
- Adaptive memory with temporal weighting
- LLM-assisted reasoning
- Concrete action workflows
Mission: Biologically-inspired memory using Dragon Hatchling (BDH) architecture.
Innovation:
- Sparse neural activation
- Evolving memory (not static context)
- First-principles memory dynamics
- Continuous learning without retraining
We moved beyond static RAG to build a system that learns from the stream.
| Feature | The Old Way (Static) | The AstraGuard Way (Adaptive) |
|---|---|---|
| Data Processing | Batch processing (slow) | Streaming Intelligence (5Hz) via Pathway |
| Memory | Static vector databases | Evolving Memory with decay & pruning |
| Response | Passive Alerts | Agentic Action (detect β reason β act) |
| Explainability | Black box "magic" | Transparent Decision Traces |
| User Interface | Terminal logs | Frontier Dashboard with neural viz |
Concept: Signal reinforcement inspired by physics
Formula:
resonance = base_importance Γ (1 + 0.3 Γ log(1 + recurrence_count)) Γ time_decayImpact: ~10 lines of code, demonstrates first-principles thinking
Run all tests:
pytest tests/ -vRun specific tests:
pytest tests/test_memory_store.py -v
pytest tests/test_recurrence_scorer.py -vTest coverage:
pytest tests/ --cov=memory_engine --cov=anomaly_agentCore Documentation:
- π The A-to-Z Technical Master Report
- π Final Technical Report (Summary)
- π Technical Documentation
- ποΈ System Architecture & Technical Specifications
- π Website Design Specification
- π¨ Website Redesign - Round 2 Enhanced Proposal
Additional Resources:
- π Pathway Documentation
- π Dragon Hatchling (BDH) Research
- π οΈ LLM App Framework
Edit classifier/fault_classifier.py:
- Power Threat: Voltage < 7.3V
- Thermal Threat: Temperature > 32Β°C
- Attitude Threat: |Gyro| > 0.05 rad/s
Edit memory_engine/memory_store.py:
- Decay Lambda: 0.1 (temporal decay rate)
- Max Capacity: 10,000 events
- Retention: 24 hours (critical events exempt)
Edit memory_engine/recurrence_scorer.py:
- Resonance Factor: 0.3 (amplification for recurrence)
- Adaptive Memory Store: Temporal weighting, auto-pruning, persistence
- Recurrence Scorer: Signal reinforcement for repeated patterns
- Decay Policy: Safe pruning with critical event protection
- Replay Engine: Security flight recorder functionality
- Decision Loop: detect β recall β reason β act β learn
- Reasoning Engine: Plain-language decision summaries
- Confidence Scorer: Decision confidence calculation
- Workflow Registry: Maps decisions to concrete actions
- Action Implementations: Real system commands (not just prints)
- Cooldown Manager: Prevents action spam
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
Guidelines:
- Follow PEP 8
- Add type hints
- Include docstrings
- Write unit tests
- Update documentation
If you use AstraGuard AI in your research, please cite it using the following BibTeX:
@misc{AstraGuardAI,
author = {Roy, Subhajit},
title = {AstraGuard AI: Autonomous Fault Detection \& Recovery System for CubeSats},
year = {2025},
month = {11},
url = {https://github.com/sr-857/AstraGuard-AI},
note = {GitHub repository},
license = {MIT}
}MIT License - see LICENSE
- Pathway: Real-time streaming engine
- Streamlit: Dashboard framework
- scikit-learn: ML algorithms
- NumPy: Numerical computing
- pytest: Testing framework
Author: Subhajit Roy
Institution: Indian Institute of Technology (IIT), Madras
Hackathon: Synaptix Frontier AI Hack
Repository: https://github.com/sr-857/AstraGuard
** π Documentation |πΈ Intro |ποΈ GDrive**
AstraGuard AI | Protecting spacecraft through intelligent autonomy π°οΈβ¨