S Srenix

Features · RAG learning loop

Srenix remembers. It gets better with every incident.

A memory loop that reads past resolutions before it reasons, skips the LLM when it already knows the fix, and records every outcome — plus paid deep-RCA that grounds hard findings in live research without leaking a thing.

Most tools re-reason every incident from scratch. Srenix keeps a memory. Before it proposes anything, it checks what worked last time; when it has a high-confidence prior, it reuses it and never calls the LLM. Every approve, deny, and ticket-close is recorded, so the system gets more accurate and cheaper to run the longer it lives in your cluster. The recording loop, the ResolutionRecord CRD, and the Qdrant store are Source-available under a non-commercial licence; retrieval, short-circuit, and deep-RCA ship in the paid binary.

1. Read prior resolutions before proposing

pkg/rag/reader.go — RAG reader interface (Community)

Before Srenix asks the LLM anything, it looks up its memory of past incidents for resolutions of similar findings. A problem that has been seen and cleared before does not need fresh reasoning — the prior outcome is retrieved first.

2. Short-circuit — skip the LLM when a cleared prior exists

--rag-short-circuit (default ON)

When memory holds a high-confidence, previously-cleared fix for the same class of finding, Srenix reuses it and skips the LLM call entirely — cheaper, faster, and more consistent than re-reasoning every time. Controlled by --rag-short-circuit, default ON.

3. Record every outcome

internal/resolution/recorder.go → ResolutionRecord CRD (Community)

Every approve, deny, and ticket-close is written back as a ResolutionRecord — an append-only, kubectl-queryable custom resource. This is the durable system-of-record the memory layer learns from, and you can inspect it with plain kubectl.

4. The learning store

charts/agentic-sre/templates/rag-qdrant-statefulset.yaml (Community)

Recorded outcomes are embedded and kept in an in-cluster Qdrant vector store shipped by the Helm chart — nothing leaves your perimeter. Each resolved incident sharpens future retrieval, so short-circuit accuracy improves as your cluster builds history.

5. Deep-RCA — grounded in live web research (paid, opt-in)

paid, opt-in · redacted query · external egress

For a finding with no useful prior, the paid binary can run deep root-cause analysis grounded in live web research via Firecrawl. The LLM synthesizes a generic technical query — no namespace, hostname, or secret leaves the cluster; the query is redacted before any egress, and egress is opt-in. The result is a cited root cause, not a guess.

6. Injected across every AI tier (T0 → T3)

shared context block, forwarded T0 → T3

The deep-RCA result is injected as one shared context block into every AI tier — narration (T0), fix proposals (T1), multi-step plans (T2), and Vault break-glass runbooks (T3) all reason from the same grounded root cause. The outcome then feeds back into the learning store, improving future short-circuit accuracy.

Why a memory loop matters.

A stateless analyzer treats the hundredth occurrence of a problem exactly like the first — same latency, same LLM cost, same chance of a slightly different answer. A memory loop turns repeated incidents into instant, consistent, zero-cost resolutions, and reserves expensive reasoning for genuinely new problems.

It does this without giving up privacy: outcomes live in an in-cluster Qdrant store, and deep-RCA only ever sends a generic, redacted technical query to the web — never your namespaces, hostnames, or secrets.

See how the tiers (T0 – T3) consume the RCA →