How broc0des/argus works
ARGUS is a live incident investigation console. An engineer views service health and logs, then submits a question; the backend combines recent log anomalies with indexed code and service dependencies, asks a local Ollama model for a structured diagnosis, validates its evidence, and returns a report for the console. Separate workflows expose the live dependency graph and log stream, and replay named scenarios into the watched log. The graph follows documented API behavior and sampled call sites; frontend rendering details and several backend internals were not sampled.
Main entry points: main.py FastAPI routes · query_pipeline.py Query pipeline · scenario_sim.py Scenario replay · code_indexer.py Code indexer
Components 13
Incident console
- Console UI
frontend/src/ConsoleApp.jsx - API client
frontend/src/api.js
ARGUS API
- FastAPI routes
backend/main.py - Scenario replay
backend/scenario_sim.py
Investigation engine
- Code indexer
backend/code_indexer.py - Log analyzer
backend/log_analyzer.py - Query pipeline
backend/query_pipeline.py
Incident inputs
- Traffic simulator
backend/traffic_sim.py - Service repository
- Watched log
- Scenario fixtures
Other components
- Engineer
- Local Ollama
Connections 15
- Engineer → Console UI: uses
- Console UI → API client: requests
- API client → FastAPI routes: calls API
- FastAPI routes → Code indexer: builds graph
- FastAPI routes → Log analyzer: reads status
- FastAPI routes → Query pipeline: runs diagnosis
- Query pipeline → Log analyzer: reads anomalies
- Query pipeline → Code indexer: searches code
- Query pipeline → Local Ollama: requests diagnosis
- Service repository → Code indexer: indexed by
- Watched log → Log analyzer: read on request
- Traffic simulator → Watched log: writes logs
- FastAPI routes → Scenario replay: replays scenario
- Scenario replay → Scenario fixtures: reads fixture
- Scenario replay → Watched log: writes replay