@@ -16,11 +16,18 @@ evidence-backed post-mortem in **under 60 seconds** — no human in the loop.
1616
1717<br />
1818
19+ ### ▶︎ Live demo: ** [ specterops-848e3.web.app] ( https://specterops-848e3.web.app ) **
20+
21+ <br />
22+
23+ [ ![ Live Demo] ( https://img.shields.io/badge/▶_Live_Demo-specterops--848e3.web.app-00f5a0?style=for-the-badge )] ( https://specterops-848e3.web.app )
24+
1925[ ![ CI] ( https://github.com/skypank-coder/SpecterOps-Autonomous-Post-Incident-Forensics-Agent/actions/workflows/ci.yml/badge.svg )] ( https://github.com/skypank-coder/SpecterOps-Autonomous-Post-Incident-Forensics-Agent/actions/workflows/ci.yml )
2026[ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-00f5a0.svg )] ( LICENSE )
2127[ ![ Partner: Dynatrace] ( https://img.shields.io/badge/Partner-Dynatrace-9b6cff )] ( )
2228[ ![ AI: Gemini 2.5 Flash] ( https://img.shields.io/badge/AI-Gemini%202.5%20Flash-4f8cff )] ( )
23- [ ![ Hosted: Cloud Run] ( https://img.shields.io/badge/Hosted-Cloud%20Run-f5a623 )] ( )
29+ [ ![ Frontend: Firebase] ( https://img.shields.io/badge/Frontend-Firebase%20Hosting-f5a623 )] ( )
30+ [ ![ Backend: Render] ( https://img.shields.io/badge/Backend-Render-46e3b7 )] ( )
2431[ ![ Python 3.11+] ( https://img.shields.io/badge/Python-3.11%2B-3776ab.svg )] ( )
2532[ ![ React 18] ( https://img.shields.io/badge/React-18-61dafb.svg )] ( )
2633
@@ -82,8 +89,8 @@ hands structured state to the next. Every step streams to the dashboard live ove
8289 │ 🛡️ SentinelAgent Classify the alert · extract entities, │
8390 │ severity, category & metrics to pull │
8491 ├──────────────────────────────────────────────────────────────────┤
85- │ 🔍 TraceArchaeologist Query Dynatrace MCP in parallel — │
86- │ traces · logs · metrics · topology │
92+ │ 🔍 TraceArchaeologist Query Dynatrace in parallel — │
93+ │ problems · metrics · entities · logs │
8794 │ → reconstruct a chronological timeline │
8895 ├──────────────────────────────────────────────────────────────────┤
8996 │ 🎯 BlameMapper Build a causal graph · isolate the root │
@@ -166,12 +173,12 @@ cd frontend && npm install && npm run dev
166173| Layer | Technology |
167174| :------| :-----------|
168175| ** Agents / Backend** | Python 3.11 · FastAPI · asyncio · Server-Sent Events |
169- | ** Reasoning** | Google ** Gemini 2.5** (flash/pro) via the ` google-genai ` SDK |
176+ | ** Reasoning** | Google ** Gemini 2.5 Flash ** via the ` google-genai ` SDK (resilient model-fallback chain) |
170177| ** Observability** | ** Dynatrace** v2 API — problems · metrics · entities · logs |
171178| ** Frontend** | React 18 + Vite · Tailwind CSS · Framer Motion · ** Three.js** (3D hero) · ** D3** force-directed graph |
172179| ** Auth** | Firebase Authentication (Google + email) with graceful demo fallback |
173- | ** Persistence** | MongoDB Atlas (optional) · graceful in-memory fallback |
174- | ** Deployment** | Docker → Google ** Cloud Run ** · Firebase Hosting |
180+ | ** Persistence** | MongoDB Atlas · graceful in-memory fallback |
181+ | ** Deployment** | Docker · ** Render ** (backend) · ** Firebase Hosting** (frontend) — 100% free tier |
175182| ** Quality** | ` pytest ` + ` pytest-asyncio ` · GitHub Actions CI |
176183
177184</div >
@@ -237,18 +244,20 @@ DEMO_MODE=true python -m pytest # 7 passed
237244```
238245SpecterOps/
239246├── .github/workflows/ci.yml # backend tests + frontend build
247+ ├── render.yaml # Render Blueprint (backend deploy)
248+ ├── firebase.json · .firebaserc # Firebase Hosting (frontend deploy)
249+ ├── INTEGRATIONS.md # go-live guide (Gemini · Dynatrace · Mongo · Firebase · Slack)
240250├── LICENSE # MIT
241- ├── .env.example
242251├── backend/ # FastAPI app
243252│ ├── agents/ # orchestrator + the 4 agents
244- │ ├── mcp/ # Dynatrace client + simulation data
253+ │ ├── mcp/ # Dynatrace client + scenario engine
245254│ ├── models/ # Pydantic domain models
246- │ ├── routes/ # incidents · webhook · SSE stream
255+ │ ├── routes/ # incidents · webhook · SSE stream · config
247256│ ├── utils/ # Gemini client (model fallback chain)
257+ │ ├── storage.py # MongoDB persistence (graceful fallback)
248258│ └── tests/ # pytest suite
249- ├── frontend/ # React + Vite dashboard
250- │ └── src/components/ # timeline · D3 graph · post-mortem · impact strip
251- └── infra/deploy.sh # Cloud Run + Firebase deploy
259+ └── frontend/ # React + Vite dashboard
260+ └── src/components/ # launcher · agents · D3 graph · evidence · post-mortem · auth
252261```
253262
254263---
@@ -259,7 +268,7 @@ SpecterOps/
259268| :------------------------| :----------------------------------------------------------------------------------------|
260269| ** Autonomy** | Four agents run a full alert → post-mortem pipeline with ** no human in the loop** . |
261270| ** Use of Gemini** | Gemini 2.5 Flash drives classification, timeline reconstruction, causal reasoning & authoring. |
262- | ** Partner (Dynatrace)** | Deep MCP integration across problems, traces, logs, metrics and topology. |
271+ | ** Partner (Dynatrace)** | Pulls ** real ** open problems ( problems · metrics · entities · logs) and ** pushes the RCA back ** onto the problem. |
263272| ** Technical execution** | Async parallel data gathering, live SSE streaming, D3 visualization, graceful fallbacks, CI + tests. |
264273| ** Impact / wow** | A real outage diagnosed end-to-end in under 60 seconds — ** live on screen** . |
265274| ** Polish** | Dark-terminal dashboard, real-time agent timeline, headline impact metrics, rendered post-mortem. |
@@ -268,11 +277,14 @@ SpecterOps/
268277
269278## 🗺️ Roadmap
270279
271- - 🔌 Live Dynatrace MCP server integration (beyond the REST v2 client)
272- - 🧩 Pluggable scenario library (memory leaks, bad deploys, traffic spikes)
273- - 💾 MongoDB persistence for incident history
274- - 🤖 Auto-remediation proposals with human approval gates
275- - 🔔 Slack / PagerDuty post-mortem delivery
280+ Already shipped: live Dynatrace problem pull + RCA push-back, scenario library + custom
281+ incidents, MongoDB persistence, Firebase auth, Slack delivery. Next:
282+
283+ - 🤖 Approval-gated ** auto-remediation execution** (wire the proposed fix into CI/CD)
284+ - 👥 ** Per-user Dynatrace** connect (multi-tenant, OAuth) so each user investigates their own tenant
285+ - 🎫 Auto-file a ** GitHub / Jira** remediation ticket from the post-mortem
286+ - 🔗 ** Multi-incident correlation** — detect when several problems share one root cause
287+ - 🧩 Native ** Dynatrace App** (run SpecterOps inside the Dynatrace platform)
276288
277289---
278290
@@ -282,5 +294,5 @@ SpecterOps/
282294
283295<div align =" center " >
284296<br />
285- <sub >Built with Gemini 2.5 Flash · Dynatrace · Google Cloud Run — for the Rapid Agent Hackathon 2026.</sub >
297+ <sub >Built with Gemini 2.5 Flash · Dynatrace · Render · Firebase — for the Google Cloud Rapid Agent Hackathon 2026.</sub >
286298</div >
0 commit comments