Skip to content

Repository files navigation

jev-rca

A small CMDB + RCA tool that estimates the root cause of IT events with TypeSafe AI (Jev).

screenshot

  • Stores CIs (configuration items) with directed dependencies, service mappings, and events in SQLite
  • Picking an event and running "Analyze" gathers nearby events within a time window (same CI, upstream CI, or CI in the same service), sends a choice question (root_cause / co_symptom / unrelated) to Jev per candidate, and ranks by P(root_cause)
  • Time deltas and topology distance are computed in code and turned into text before being sent (Jev is weak at date comparisons and counting). Measured: sending raw numbers instead dropped judgment accuracy from 91% to 73% on a 13-case test, almost entirely from misreading whether a candidate happened before or after the target

Setup

mise install            # Node 24 (node:sqlite requires 24+) + pnpm
pnpm install
cp .env.example .env    # set TYPESAFE_API_KEY
pnpm dev                # http://localhost:3000

Submitting data/sample.json at /import loads a demo scenario (SAN failure → DB → App → Web 5xx).

Commands

pnpm test           # node --test (candidate gathering, BFS, wording)
pnpm typecheck      # tsc --noEmit
pnpm build
pnpm preview        # serve the production build (after pnpm build)

Structure

src/db.ts                node:sqlite connection + schema
src/server/rca.ts        candidate gathering (BFS, time window) and Jev state/question building
src/server/analysis.ts   runAnalysis (parallel requests → save) / history retrieval
src/server/cmdb.ts       CI / relation / service
src/server/events.ts     events
src/server/import.ts     bulk JSON import
src/components/ui.tsx    UI components following DESIGN.md
src/routes/              pages

See DESIGN.md for the design guidelines.

About

Prototype of Jev-powered Root Cause Analysis for events

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages