(Retrieval-Augmented Generative Interactive eXecution Agent)
A Sovereign Development Platform for AI-Assisted Software Engineering
Version: 0.67.0 | Author: Olivier Vitrac, PhD, HDR | olivier.vitrac@adservio.fr | Adservio Updated: 2026-02-16 | Codebase: 500K+ LOC analyzed in production
RAGIX is a sovereign development platform for building AI-assisted tools that transforms local LLMs into disciplined software engineering assistants. Unlike cloud-based AI coding tools, RAGIX provides:
- 100% local execution β All LLM inference runs via Ollama on
localhost:11434; zero data exfiltration, air-gapped mode available - Model-agnostic β Works with Ollama (Mistral, Granite, Qwen, DeepSeek-R1) or commercial APIs with explicit opt-in
- Sovereignty attestation β Every operation records
sovereignty.local_only: true, verifiable per-event - Auditable operations β SHA256 hash chain on command logs, Merkle roots for pyramidal provenance
KOAS (Kernel-Orchestrated Audit System) is the computational core β 87 deterministic kernels across 6 families:
| Family | Kernels | Purpose |
|---|---|---|
| audit | 27 | Code quality: AST, complexity, coupling, risk matrices, CVE scanning |
| docs | 17 | Document analysis: hierarchical summarization, clustering, discrepancy detection |
| presenter | 8 | Slide generation: MARP decks from document corpora (full/compressed/executive) |
| reviewer | 13 | Traceable Markdown review: chunk-level edits with selective revert |
| security | 10 | Infrastructure: network discovery, vulnerability assessment, compliance |
| summary | 12 | Multi-document summarization: Graph-RAG, secrecy tiers, drift detection |
Architectural guarantee: Kernels compute deterministically β LLMs are used only for planning and reasoning, never for metrics. No hallucinated numbers.
- Planner-Worker-Verifier β Tiered model selection: reasoning models (7B+) for planning, fast models (3B) for execution, validation models for verification
- Worker + Tutor β Two-stage LLM pattern in KOAS: small model drafts, larger model refines
- 4 reasoning engines β ReasoningLoop, ReasoningGraph (v30), ContractiveReasoner, Interpreter-Tutor (PCG)
- Append-only JSONL event stream at
.KOAS/activity/events.jsonl - SHA256 hash chain for tamper-evidence
- Sovereignty flag per event (
sovereignty.local_only: true) - Actor tracking β system, operator, external orchestrator, auditor
For regulated environments requiring strict access control:
- Core-Shell architecture β External orchestrators (Claude, GPT-4) can trigger and monitor audits without ever seeing document content
- ACL with scopes β
docs.trigger,docs.status,docs.export_external(nodocs.export_internal) - Output sanitization β 4 isolation levels: INTERNAL, EXTERNAL, ORCHESTRATOR, COMPLIANCE
- Code audit & metrics β AST analysis, complexity hotspots, tech debt estimation, risk matrices
- Security scanning β Network discovery, vulnerability assessment, compliance checking (ANSSI/NIST/CIS)
- Multiple interfaces β Web UI, CLI, REST API, MCP server, WebSocket streaming
Policy-driven memory with multi-tier promotion and MCP exposure:
- FTS5 + BM25 retrieval β SQLite-backed full-text search with relevance scoring
- Q*-style search β Iterative deepening with relevance feedback
- Memory Palace β Spatial metaphor for memory organization (rooms, loci, guided tours)
- STMβMTMβLTM promotion β Access frequency and recency-based tier advancement
- SHA-256 corpus dedup β Prevents duplicate storage
- 17 MCP tools β Full memory operations exposed to Claude Desktop / Claude Code
- Pipe command β Feed memory-augmented context to Claude:
ragix-memory pipe "question" --source docs/ | claude
RAGIX is not just a toolβit's a platform for building sovereign AI systems:
- Extensible tooling β Add custom MCP tools, reasoning engines, or domain-specific kernels
- Collective intelligence β Multiple RAGIX instances can collaborate on complex tasks
- Local-first research β Experiment with 200B+ parameter models on local hardware (GB10-ready)
Make local LLMs behave like disciplined software engineers. Reproducible, auditable, sovereignβwithout cloud dependencies.
ragix-demo-loop.mp4
git clone https://github.com/ovitrac/RAGIX.git
cd RAGIX
./launch_ragix.shThis script automatically:
- Initializes Conda and creates
ragix-envenvironment - Installs all dependencies + RAGIX package
- Checks Ollama status and available models
- Presents an interactive menu (select option 7 for
ragix-web)
git clone https://github.com/ovitrac/RAGIX.git
cd RAGIX
python3 -m venv .venv && source .venv/bin/activate
# Install dependencies then RAGIX package (BOTH required!)
pip install -r requirements.txt
pip install -e . # MUST run after requirements.txt (required to install ragix-web)
# Start the Web UI
ragix-webCommon Error:
ModuleNotFoundError: No module named 'ragix_core'Solution: Runpip install -e .β this installs RAGIX itself, not just dependencies.
git clone https://github.com/ovitrac/RAGIX.git
cd RAGIX
conda env create -f environment.yaml
conda activate ragix-env
pip install -e .
ragix-webragix-web is the most advanced interface with full AI capabilities. It opens http://localhost:8080 and provides:
- Dashboard β Project overview and metrics
- Chat β AI-assisted coding with local LLMs
- Reasoning β Multi-step workflow visualization
- AST Analysis β Code structure and dependencies
- Project RAG β Semantic search across your codebase
- Audit β Risk matrix, drift tracking, compliance
- Partitioner β Visual dependency graphs with propagation algorithms
Note:
ragix-webcreates configuration and cache files in$HOME/.ragix/for session persistence.
Tip: For full AI capabilities, start Ollama:
ollama serve && ollama pull mistral
| Launcher | Description |
|---|---|
./launch_ragix.sh |
Interactive menu with 7 options (Conda) |
./launch_ragix.sh gui |
Direct: Streamlit GUI (port 8501) |
./launch_ragix.sh web |
Direct: RAGIX-WEB FastAPI (port 8080) |
./launch_ragix.sh mcp |
Direct: MCP server |
source ragixinit.sh |
Set environment variables (model, sandbox, profile) |
| Command | Description |
|---|---|
ragix-web |
Most advanced UI β FastAPI (port 8080), creates ~/.ragix/ |
ragix |
Core CLI with subcommands |
ragix-unix-agent |
Interactive Unix-RAG agent |
ragix-ast |
AST analysis (scan, metrics, hotspots) |
ragix-koas |
KOAS kernel orchestrator |
ragix-index |
Project indexing for RAG |
ragix-batch |
Batch processing pipelines |
ragix-vault |
Encrypted credential vault |
ragix-wasp |
WASP security scanner |
ragix-memory |
Episodic memory CLI (search, recall, ingest, pipe, palace) |
Without install:
PYTHONPATH=. python ragix_web/server.py
If you installed RAGIX before and want to use it again, you need to reactivate the environment first:
| Install Method | Environment Name | Location | Reactivation Command |
|---|---|---|---|
| Option A (Conda launcher) | ragix-env |
~/anaconda3/envs/ragix-env/ |
conda activate ragix-env |
| Option B (venv) | .venv |
./RAGIX/.venv/ |
cd RAGIX && source .venv/bin/activate |
| Option C (Conda manual) | ragix-env |
~/anaconda3/envs/ragix-env/ |
conda activate ragix-env |
Quick reference:
# If you used venv (Option B) β must be in RAGIX folder
cd /path/to/RAGIX
source .venv/bin/activate
ragix-web
# If you used Conda (Option A or C) β works from anywhere
conda activate ragix-env
ragix-webHow to know if environment is active?
- Your terminal prompt shows
(.venv)or(ragix-env)at the beginning- Run
which pythonβ should point to the environment, not system Python
| Interface | Use Case | Features |
|---|---|---|
| Web UI | Interactive development | 7 specialized tabs, real-time streaming, visualizations |
| CLI | Automation & scripting | 15+ commands, batch processing, CI/CD integration |
| MCP Server | Claude Desktop | Native integration, tool schemas, bidirectional |
| REST API | Custom integrations | FastAPI, WebSocket, OpenAPI docs |
| RAG Type | Scope | Storage | Use Case |
|---|---|---|---|
| Unix-RAG | Shell-native | In-memory | Real-time code exploration with grep, find, awk |
| Project RAG | Per-project | ChromaDB | Semantic search, concept discovery, knowledge graphs |
Both support hybrid search (BM25 + vector) with multiple fusion strategies: RRF, Weighted, Interleave, Rerank.
Professional-grade static analysis for Java and Python:
ragix-ast scan ./src --lang java # Extract 18K+ symbols
ragix-ast metrics ./src # Complexity, debt, maintainability
ragix-ast hotspots ./src --top 20 # Find complexity hotspots
ragix-ast graph ./src --output deps.html # Interactive dependency graph
ragix-ast matrix ./src --level package # DSM with cycle detectionProduction-tested: 1,315 Java files, 18,210 symbols, 45,113 dependencies, 362h tech debt estimated in ~10 seconds.
| Feature | Description |
|---|---|
| Risk Matrix | Visual risk assessment with configurable weights |
| Drift Tracking | Monitor code changes over time |
| Dead Code Detection | Find isolated classes (no callers AND no callees) |
| Service Detection | Enterprise patterns (MSG-HUB, ACME-ERP) |
| Compliance Reports | PDF/HTML audit reports |
Visual tool for understanding and decomposing large codebases:
- Graph Propagation Algorithm β Multi-phase directional classification
- Dependency Visualization β Force-directed graphs with D3.js
- MDS Layout β Eigendecomposition for optimal positioning
- Export β JSON, CSV, SVG, PNG for documentation
Pre-built templates for common tasks:
| Template | Steps | Use Case |
|---|---|---|
bug_fix |
Locate β Diagnose β Fix β Test | Bug resolution |
feature_addition |
Design β Implement β Test β Document | New features |
code_review |
Quality + Security review | PR review |
refactoring |
Analyze β Plan β Refactor β Verify | Tech debt |
security_audit |
Static analysis + Dependency checks | Security |
| Feature | Description |
|---|---|
| Three Profiles | safe-read-only, dev, unsafe |
| Dangerous Pattern Filtering | Blocks rm -rf, dd, mkfs, etc. |
| Git Protection | Prevents destructive operations |
| Audit Trail | SHA256 hash chain for all operations |
| Air-Gapped Mode | Enforces local-only processing |
RAGIX is part of a suite of sovereign AI tools:
Deterministic sanitizer for secrets before LLM exposure.
- Reversible redaction with encrypted vaults
- Policy-driven detection (regex, entropy, JWT, SSH keys)
- VS Code integration and CLI tools
- Repository: github.com/ovitrac/CloakMCP
Production-ready RAG for document processing (tenders, CVs, reports).
- Hybrid retrieval (FAISS + BM25)
- NLI compliance checking via Ollama
- Multi-format (PDF, DOCX, ODT, Markdown)
- Full traceability (document β page β block β bounding box)
- Repository: github.com/ovitrac/RAGGAE
- Website: raggae.pages.dev
docs/INDEX.md β Complete documentation navigation hub with reading guides by topic and goal.
deepwiki.com/ovitrac/RAGIX β AI-generated documentation covering:
- Six-tier architecture (Presentation β Storage)
- Agent orchestration and reasoning graphs
- LLM integration patterns
- RAG system internals
- Security model
Note: DeepWiki is generated by Devin and refreshes every ~5 days. This repository is typically ahead with latest features.
| Document | Description |
|---|---|
| docs/INDEX.md | Documentation navigation hub |
| docs/ARCHITECTURE.md | System architecture |
| docs/SOVEREIGN_LLM_OPERATIONS.md | Sovereignty and confidential AI operations |
| docs/MCP.md | Model Context Protocol in RAGIX |
| docs/REASONING.md | Reasoning engines (ContractiveReasoner, v30, Interpreter-Tutor) |
| Document | Description |
|---|---|
| docs/KOAS.md | KOAS philosophy and architecture (6 families, 87 kernels) |
| docs/KOAS_DOCS.md | Document summarization system (17 kernels) |
| docs/KOAS_SUMMARY.md | Multi-document summarization with Graph-RAG (12 kernels) |
| docs/KOAS_PRESENTER.md | Slide deck generation from documents (8 kernels) |
| docs/KOAS_REVIEW.md | Traceable Markdown review (13 kernels) |
| docs/KOAS_ACTIVITY.md | Centralized activity logging and governance |
| docs/KOAS_MEMORY_MCP.md | Episodic memory MCP tools (17 tools) |
| docs/KOAS_MEMORY_ARCHITECTURE.md | Memory architecture and design |
| docs/KOAS_MCP_REFERENCE.md | KOAS MCP tool reference |
| ragix_kernels/README.md | Kernel developer reference (v1.4.0) |
| Document | Description |
|---|---|
| QUICKSTART_CLAUDE_CODE.md | Getting started guide |
| docs/API_REFERENCE.md | REST API documentation |
| docs/CLI_GUIDE.md | Command-line interface |
| docs/AST_GUIDE.md | AST analysis guide |
| CHANGELOG.md | Version history |
flowchart TB
subgraph "User Interfaces"
WEB["π Web UI (ragix-web)"]
CLI["π₯οΈ CLI Tools"]
MCP["π MCP Server"]
API["π‘ REST API"]
end
subgraph "Orchestration"
ORCH["π§ Graph Executor"]
REASON["π Reasoning Loop"]
TEMPLATES["π Workflow Templates"]
end
subgraph "Analysis & Audit"
AST["π³ AST Parser"]
METRICS["π Code Metrics"]
AUDIT["π Risk Matrix"]
PARTITION["π§© Partitioner"]
end
subgraph "Retrieval"
UNIX_RAG["π§ Unix-RAG"]
PROJ_RAG["π Project RAG"]
HYBRID["π Hybrid Search"]
end
subgraph "Execution"
SHELL["π Sandboxed Shell"]
LLM["π€ LLM Backends"]
SAFETY["π Safety Policies"]
end
WEB --> ORCH
CLI --> ORCH
MCP --> ORCH
API --> ORCH
ORCH --> REASON
ORCH --> TEMPLATES
REASON --> AST
REASON --> UNIX_RAG
REASON --> PROJ_RAG
AST --> METRICS
AST --> AUDIT
AST --> PARTITION
UNIX_RAG --> SHELL
PROJ_RAG --> HYBRID
SHELL --> SAFETY
REASON --> LLM
LLM --> SAFETY
git clone https://github.com/ovitrac/RAGIX.git
cd RAGIX
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Pull a model
ollama pull mistral # Fast, general purpose
ollama pull qwen2.5:14b # Better reasoning
ollama pull deepseek-coder # Code-specialized
# Start RAGIX
python ragix_web/server.py./start_ragix.sh # Interactive launcher
./start_ragix.sh --web # Direct web server start
./start_ragix.sh --cli # CLI modeRAGIX supports multiple LLM backends with a sovereignty-first model:
| Backend | Type | Configuration |
|---|---|---|
| Ollama | Local | Default, no API key needed |
| Claude | Cloud | ANTHROPIC_API_KEY env var |
| OpenAI | Cloud | OPENAI_API_KEY env var |
Configure in ragix.yaml or via Web UI Settings:
llm:
backend: ollama
model: mistral
temperature: 0.7
sovereignty:
enforce_local: true # Block cloud backends| Endpoint | Method | Description |
|---|---|---|
/api/health |
GET | Health check |
/api/sessions |
POST | Create session |
/api/threads/{id}/messages |
POST | Send message |
/api/ast/scan |
POST | Scan codebase |
/api/ast/metrics |
GET | Get metrics |
/api/ast/partition |
POST | Run partitioner |
/api/rag/search |
POST | Search documents |
/api/rag/index |
POST | Index files |
const ws = new WebSocket('ws://localhost:8421/ws/chat');
ws.send(JSON.stringify({ message: "Analyze this code", session_id: "..." }));Full API documentation: docs/API_REFERENCE.md
| Application | Entry Point | Description |
|---|---|---|
| Web UI | python ragix_web/server.py |
Full-featured dashboard (8 tabs) |
| Unix-RAG Agent | python unix-rag-agent.py |
Interactive shell-based assistant |
| MCP Server | python MCP/ragix_mcp_server.py |
Claude Desktop integration |
| Radial Server | python ragix_unix/radial_server.py |
Live dependency explorer |
| Tool | Command | Description |
|---|---|---|
| AST Analysis | ragix-ast scan/metrics/graph/matrix/radial |
Code analysis & visualization |
| Project Index | ragix-unix index_cli.py |
Index codebase for RAG |
| Batch Processing | ragix-unix batch_cli.py |
Bulk file operations |
| Vault Manager | ragix-unix vault_cli.py |
Secure credential storage |
| WASP Tools | ragix-unix wasp_cli.py |
Workflow automation |
| Core CLI | ragix_core/cli.py |
Main orchestrator CLI |
| Router | Endpoints | Purpose |
|---|---|---|
sessions.py |
/api/sessions/* |
Session management |
threads.py |
/api/threads/* |
Conversation threads |
reasoning.py |
/api/reasoning/* |
Multi-step workflows |
rag.py |
/api/rag/* |
Document RAG |
rag_project.py |
/api/rag/project/* |
Project-level RAG |
audit.py |
/api/audit/* |
Code audit & partitioner |
agents.py |
/api/agents/* |
Agent configuration |
memory.py |
/api/memory/* |
Episodic memory |
context.py |
/api/context/* |
Global context |
logs.py |
/api/logs/* |
Operation logs |
| Script | Purpose |
|---|---|
launch_ragix.sh |
Interactive launcher with menu |
ragixinit.sh |
Environment initialization |
release.sh |
Release automation |
rt.sh, rt-find.sh, rt-grep.sh |
Testing utilities |
| Test File | Coverage |
|---|---|
test_ast.py |
AST parsing & metrics |
test_reasoning_graph.py |
Multi-step reasoning |
test_graph_executor.py |
Workflow execution |
test_hybrid_search.py |
BM25 + Vector search |
test_bm25_index.py |
Keyword indexing |
test_workflow_templates.py |
Pre-built workflows |
test_wasp_*.py |
WASP integration |
tests/audit/* |
Audit & partitioner |
| Example | Description |
|---|---|
claude_demo.py |
Claude API integration |
hybrid_search_example.py |
Hybrid RAG demo |
resilience_example.py |
Retry & circuit breaker |
workflow_example.py |
Multi-agent workflow |
test_llm_backends.sh |
Backend comparison |
| Example | Description |
|---|---|
local_network/ |
Network discovery & port scanning |
web_audit/ |
Web application security audit |
compliance_check/ |
ANSSI/NIST/CIS compliance |
config_audit/ |
Firewall configuration analysis |
run_security_demo.sh |
Interactive security demo |
| Example | Description |
|---|---|
volumetry_analysis/ |
Risk weighted by traffic (ACME-ERP 4M msg/day) |
microservices/ |
Service catalog & dependency analysis |
java_monolith/ |
Complexity hotspots & refactoring |
full_audit/ |
Comprehensive system audit |
run_audit_demo.sh |
Interactive audit demo |
Full CLI reference: docs/CLI_GUIDE.md
RAGIX/
βββ ragix_core/ # Core platform (150+ modules, ~60K LOC)
β βββ agents/ # Agent implementations (code, doc, git, test)
β βββ memory/ # Episodic memory (12 core + 9 MCP + 15 tests)
β β βββ mcp/ # MCP tools (17 tools, workspace router, metrics)
β β βββ tests/ # 511 tests across 15 files
β β βββ skills/ # Memory skills (4 files)
β βββ shared/ # Shared utilities (gpu_detect, text_utils)
β βββ reasoning_slim/ # ContractiveReasoner (tree-based, entropy)
β βββ reasoning_v30/ # ReasoningGraph (graph state machine)
β βββ reasoning_tutor/ # Interpreter-Tutor (game-theoretic PCG)
β βββ rag_project/ # Project RAG (ChromaDB, knowledge graph)
β βββ ast_*.py # AST analysis (Java, Python)
β βββ llm_backends.py # Sovereign/Cloud LLM abstraction
βββ ragix_kernels/ # KOAS kernels (160+ files, 87 kernels)
β βββ audit/ # Code audit (27 kernels)
β βββ docs/ # Document analysis (17 kernels)
β βββ presenter/ # Slide generation (8 kernels)
β βββ reviewer/ # Markdown review (13 kernels)
β βββ security/ # Security scanning (10 kernels)
β βββ summary/ # Multi-document summarization (12 kernels)
β βββ shared/ # Shared kernel utilities (md_renumber, md_toc)
β βββ activity.py # Centralized activity logging
β βββ merkle.py # SHA256 Merkle provenance
β βββ orchestrator.py # Kernel execution with hash chain
βββ ragix_web/ # Web application
β βββ server.py # FastAPI server (port 8080)
β βββ routers/ # API routes (10 routers)
β βββ static/ # Frontend (D3.js visualizations)
βββ ragix_unix/ # Unix-RAG agent
βββ MCP/ # MCP integration (55 tools)
βββ demos/ # Demos (koas_pipe_demo, koas_docs_audit)
βββ docs/ # Documentation (see Index)
βββ tests/ # Test suite
βββ examples/ # Usage examples (audit, security)
# Run all tests
pytest tests/ -v
# Run specific test suite
pytest tests/audit/ -v
pytest tests/ast/ -v
# With coverage
pytest tests/ --cov=ragix_core --cov-report=htmlSee CHANGELOG.md for complete version history.
Latest: v0.67.0 (2026-02-16)
- KOAS Memory: Episodic memory with 12 core modules + 17 MCP tools, FTS5+BM25 retrieval, Q*-search, Memory Palace
- KOAS Summary: 12 kernels for multi-document summarization with Graph-RAG and secrecy tiers (S0/S2/S3)
- Memory Pipe Demo: 6-act narrative for Claude integration (
ragix-memory pipe "question" --source docs/ | claude) - 87 kernels across 6 families (was 75 across 5)
- 55 MCP tools (was 38) β 17 new memory tools
- 511 tests for memory subsystem across 15 test files
Recent highlights:
- v0.66.0: Centralized activity logging, broker gateway with ACL scopes
- v0.64.2: Boilerplate detection in KOAS docs, code fence protection
- v0.63.0: New docs kernels for hierarchical large document corpus auditing
- v0.62.0: MCP consolidation, demo UI, documentation index
| Priority | Feature | Status |
|---|---|---|
| β | Multi-agent workflows | Complete |
| β | Hybrid RAG (BM25 + Vector) | Complete |
| β | AST analysis (Java/Python) | Complete |
| β | Code audit (27 kernels) & partitioning | Complete |
| β | Document analysis (17 kernels) | Complete |
| β | Security scanning (10 kernels) | Complete |
| β | Traceable Markdown review (13 kernels) | Complete |
| β | Slide deck generation (8 kernels) | Complete |
| β | MCP integration (55 tools) | Complete |
| β | Centralized activity logging | Complete |
| β | Broker Gateway with ACL | Complete |
| β | Episodic memory (17 MCP tools, Memory Palace) | Complete |
| β | Multi-document summarization (12 kernels) | Complete |
| β | Graph-RAG (entity extraction, community detection) | Complete |
| β | Memory Pipe demo for Claude integration | Complete |
| π | KOAS Presenter LLM normalization | Phase 1 done (deterministic) |
| π | Interpreter-Tutor reasoning engine | Research (v0.5.0) |
| π | Multi-language AST (Go, Rust) | Planned |
| π | Editable PPTX export (python-pptx) | Planned |
MIT License β See LICENSE for details.
Olivier Vitrac, PhD, HDR Head of Innovation Lab, Adservio olivier.vitrac@adservio.fr
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Follow existing code style and documentation standards
- Add tests for new functionality
- Submit a pull request
- Ollama β Local LLM serving
- FastAPI β Web framework
- D3.js β Visualizations
- ChromaDB β Vector storage
- javalang β Java AST parsing
