nulltrace v0.4.2-alpha
Deterministic Orchestration + In-Memory Redaction

The Open-Source Python Framework for AI Incident Triage

Stop letting non-deterministic LLM agents hallucinate tool parameters. nulltrace provides deterministic Python orchestration to scrub telemetry, correlate ServiceNow alerts with logs, and generate root-cause hypotheses reliably.

$ pip install nulltrace
Launch Simulator
Architecture Overview

1. Telemetry Sources

ServiceNow, Elastic, Dynatrace, CloudWatch

2. In-Memory Redaction

Zero-Trust Python PII & JWT Masking

3. Provider-Agnostic LLM

OpenAI, Bedrock, Anthropic, Ollama

4. Root-Cause Analysis

Structured Workflows & ServiceNow Updates

Live Interactive Playground

Simulate Triage Workflow Engine

Test how nulltrace orchestrates multi-tool telemetry ingestion, applies deterministic PII scrubbing, and performs multi-model root-cause correlation.

1. Incident Configuration

// Click "Run Triage Engine" to start execution simulation...
Status: Idle Latency: 0 ms
Tokens Filtered: 0

Architectural Superiority

Why nulltrace over Raw MCP or Custom Scripts?

Deterministic Orchestration

Unlike MCP tools where the LLM decides workflow paths non-deterministically, nulltrace uses DAGs to guarantee execution sequence.

In-Memory PII Masking

Scrubs sensitive JWT tokens, SSH keys, passwords, and PII in Python memory before logs hit external LLM provider context windows.

Multi-Provider Fallback

Built-in resilience. Automatically failover from Claude 3.5 Sonnet to GPT-4o or local Ollama if an API rate limit or outage occurs during P1 alerts.

Unified Telemetry Model

Normalizes disparate Elastic logs, Dynatrace metrics, and CloudWatch alarms into standardized Pydantic schemas automatically.

Developer-First Python SDK

Clean, intuitive syntax designed for production engineers and SRE teams.

workflow_pipeline.py
Python 3.10+
from nulltrace.connectors import ServiceNowConnector, ElasticConnector, DynatraceConnector
from nulltrace.llm import LLMRouter
from nulltrace.engine import TriageEngine

# 1. Initialize Telemetry Connectors
servicenow = ServiceNowConnector(instance_url="https://dev1234.service-now.com")
elastic = ElasticConnector(hosts=["http://localhost:9200"])
dynatrace = DynatraceConnector(tenant_id="abc12345")

# 2. Configure Resilient Provider-Agnostic LLM Router
router = LLMRouter(
    primary_provider="anthropic/claude-3-5-sonnet",
    fallback_providers=["openai/gpt-4o", "bedrock/anthropic.claude-v2"]
)

# 3. Instantiate Engine with In-Memory Security Policies
engine = TriageEngine(
    incident_source=servicenow,
    telemetry=[elastic, dynatrace],
    llm_router=router,
    enable_pii_masking=True
)

# 4. Orchestrate Automated Incident Triage Workflow
result = engine.run_triage(incident_id="INC009412")
print(result.root_cause_hypothesis)