Open source · offline · provider-independent
Catch regressions before production.
Catch regressions in prompts, retrievers, embeddings, datasets, and evaluators before they ship. Compare a candidate with an accepted baseline and get an explainable PASS or BLOCK.
uvx ragops demo
Creates local JSON, Markdown, and HTML evidence.
One reviewable release loop
From recorded behavior to a decision.
RAGOps stays outside your application. Your model, retriever, and orchestration remain yours; the dependency-free core evaluates portable evidence against a versioned contract.
- 01Record
Answers, citations, retrievals, latency, cost, and metadata.
- 02Evaluate
Deterministic checks, critical findings, and optional external metrics.
- 03Compare
Accepted baseline versus candidate with explicit tolerances.
- 04Gate
Named PASS or BLOCK reasons for people and CI.
Stochastic systems need uncertainty
Gate the effect and the uncertainty.
Run the same cases repeatedly, preserve paired case identity, and decide from confidence bounds—not one lucky sample. The statistical path is opt-in; deterministic release semantics stay unchanged.
- 01Repeat
Record one metric map for every case and repeat.
- 02Estimate
Use a paired hierarchical bootstrap across cases and repeats.
- 03Gate
Require both the absolute bound and regression margin.
- 04Stop
Inspect only predeclared sequential looks; PASS or BLOCK early.
- 05Explain
Separate model, evaluator, dataset, and infrastructure changes.
ragops compare-runs \
--baseline-bundle baseline.json \
--candidate-bundle candidate.json \
--policy statistical-policy.toml
Run the credential-free fixture →Inspect the reusable GitHub gate →
Evidence, not decoration
Three fixtures. Three bounded claims.
4-case reference deployment
Graph-assisted baseline passes. Lexical-only candidate is blocked.
- Citation coverage
- −25.00%
- Citation precision
- −25.00%
- Lexical groundedness
- −21.88%
30-case synthetic harness benchmark
Baseline passes. Regressed and adversarial candidates are blocked.
- Failure families
- 9
- Critical findings
- 5
- Blocked candidates
- 2
3-case repeated-run acceptance fixture
Fixed comparison passes. Sequential evaluation stops at its first planned look.
- Distinct cases
- 3
- Available repeats
- 2
- Stopped at repeat
- 2
Evidence boundary: these synthetic results validate the harness, recorded architecture comparison, and statistical acceptance path. They do not establish semantic correctness, production security, customer adoption, causal attribution, or ROI.
Known limits
Every claim keeps its boundary.
Lexical groundedness is overlap, not entailment or human judgment.
Fixture results do not prove usage, activation, retention, or ROI.
More repeats reduce within-case noise; they never increase distinct-case coverage.
Early stopping requires predeclared looks and corrected decision boundaries.
Changed axes diagnose confounding; they do not prove what caused a regression.
The control plane is a development surface, not hosted infrastructure.
MIT License · zero hosted fonts · local-first