Deterministic, rule-based incident analysis and RCA system
Project description
ATLAS — Deterministic Incident Analysis & Response (CLI)
ATLAS is a pip-installable CLI tool for deterministic incident analysis, root cause analysis (RCA), and response workflows.
It ingests real production logs and produces explainable, auditable outputs — without AI / ML.
Audience: SREs, DevOps, Platform engineers
Guarantee: Same input → same output. No black boxes.
Why ATLAS?
Most incident tools rely on opaque AI or heuristics that cannot be trusted during outages.
ATLAS is built for predictability, explainability, and production realism.
- 🔒 Zero-AI (no LLMs, no ML, no embeddings)
- 🧠 Fully deterministic
- 🧾 Rule-based & explainable
- 🧪 100% testable core
- ⚙️ Real CLI workflow (files in → decisions out)
What ATLAS Does
ATLAS v1 — Incident Analysis
- Parses raw logs
- Normalizes into a canonical incident schema
- Classifies incident type
- Infers probable root cause
- Suggests remediation actions
- Persists incident history (JSONL)
ATLAS v2 — Priority & Response Engine
ATLAS v2 converts analyzed incidents into decisions.
- Priority scoring (P0–P3)
- Rule-based decisions (IF–THEN)
- Workflow execution (step-by-step)
- State tracking (no infinite loops)
- Full audit trail
- Still zero-AI and deterministic
v1 answers “What happened?”
v2 answers “What should happen next?”
High-Level Architecture
flowchart TD
A[Log File] --> B[Parsing]
B --> C[Normalization]
C --> D[Classification]
D --> E[RCA]
E --> F[Incident Schema]
F --> G[Priority Engine]
G --> H[Rule Engine]
H --> I[Workflow Engine]
I --> J[Actions + Audit Trail]
Install (PyPI)
pip install atlas-incident
Current version: 0.1.2
Usage
python -m atlas <log_file> <service> <environment>
Example:
python -m atlas prod_payments.log payments-api prod
What happens on run
-
v1 analyzes logs → Incident
-
v2 assigns priority → runs response workflow
Example Output
{
"service": "payments-api",
"environment": "prod",
"severity": "LOW",
"category": "UNKNOWN",
"root_cause": "Unknown root cause",
"actions": ["Escalate to on-call engineer"],
"confidence": 0.6
}
=== ATLAS v2 RESULT ===
Priority: P2
Actions: []
Incident History
Each run is appended to incident_history.jsonl.
- Append-only
- Audit-friendly
- Replayable
Testing
pytest
pytest --cov=atlas_v2
- Deterministic tests
- Edge-case coverage
- CI-ready
Design Principles
- Determinism over intelligence
- Rules over models
- Schemas over guesses
- Clarity over cleverness
- Production realism over demos
License
This project is licensed under the MIT License, which permits use, modification, and distribution for both personal and commercial purposes.
ATLAS is provided “as is”, without warranty of any kind. It is suitable for learning, internal tooling, and experimental production use where deterministic and explainable behavior is required.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atlas_incident-0.1.2.tar.gz.
File metadata
- Download URL: atlas_incident-0.1.2.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c9fd87cad2b290adb4bf16989269a21a1bff28d3a206b9fe0a06ef351956382
|
|
| MD5 |
5171ab371724149181e626aa286c60e1
|
|
| BLAKE2b-256 |
3dded62442727471b71891d56efb84f73aa28a4a08dcd13e6a2e000d34d09cc6
|
File details
Details for the file atlas_incident-0.1.2-py3-none-any.whl.
File metadata
- Download URL: atlas_incident-0.1.2-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
311379d651a3c668378f260a13350f742fc4914340a985e057487fbf5b0160e2
|
|
| MD5 |
beae207d46cf9fcc6beee2bb2e6c6aa2
|
|
| BLAKE2b-256 |
6afd191e2bdc1759e50d778fbffba44b34f103dfb9ebf9058c011f778754d8b2
|