Every AI agent an enterprise deploys today reasons over raw files, stale wikis, or a vector index that can't tell fact from guess. EKOS compiles the enterprise itself — code, SQL, ETL, Git history, docs — into an append-only, evidence-backed knowledge ledger. Every answer an agent gives cites the exact source it came from, or it doesn't answer.
Business logic sits in a Pentaho job nobody's opened in years, a stored procedure with no comments, a Confluence page that stopped being updated the day its author left. Every system holds a partial, decaying truth — and every AI assistant pointed at that mess inherits the same fragmentation, then papers over the gaps with a confident-sounding guess.
Every enterprise is wiring AI agents into their workflows right now — and every one of those agents is only as trustworthy as the context it's given. Vector-search RAG retrieves similar-looking text; it can't tell you a fact is true, only that it's nearby. MCP (Model Context Protocol) is emerging as the standard wire format for how agents reach tools and data — but a protocol is only as good as what's on the other end of it.
Object :0 node_type: "Source" object_name: "omrs_obs" Object :1 node_type: "Sink" object_name: "fact_patient_coded_value" columns: [patient_id, gender_id, ... ]
The real Kettle steps: Import Coded Obs → Write
Coded Obs. Exact match — parsed, not generated.
This deck itself was built inside a Claude Code session backed by Anthropic's
Claude models. While proving EKOS's Pentaho/SQL recovery worked, that same session queried
EKOS's ekos_dependents MCP tool on a table it had already shown a
real ETL job writes to — and got back dependents_count: 0.
→ tools/call ekos_dependents { "id": "...fact_patient_coded_value" } ← result { "target": { "kind": "Table" }, "dependents_count": 0, "dependencies_count": 0 }
No hand-waving, no "that's probably fine" — the agent treated its own product's wrong answer as a bug to root-cause, the same way it would for a user's code.
→ tools/call ekos_dependents { "id": "...fact_patient_coded_value" } ← result { "dependents": [{ "name": "load-fact-coded-values.ktr:1", "relationship": "SameAs", "properties": { "confidence": 0.95, "status": "confirmed" } }], "dependents_count": 1 }
Every capability is designed in writing before it's
built. Every devlog captures what shipped, why, and what broke — including this session's own
bug fix. Nothing here is "trust me" — clone it, run cargo test --workspace,
read the RFC.
Inheriting legacy ETL (Pentaho, SQL, stored procs) with no owner and no docs — get an evidence-backed explanation instead of reverse-engineering XML by hand.
Need grounded enterprise context, not another vector index that can't distinguish a fact from a plausible guess.
Any team where "what does this actually do, and how do you know" keeps landing on a person instead of a system.
Teams wanting a BI dashboard or a data catalog with a nice UI — EKOS is the compiler underneath that kind of tool, not a replacement for one.
EKOS is early-stage and open source — this deck's own §05–06 is the point: the product is far enough along to be genuinely useful, and immature enough that testing it against real, uncontrolled data still finds real bugs, which get fixed in the open. Real/tested connectors today: file, Git, GitHub, Confluence, local docs (PDF/DOCX/etc.), Pentaho, crypto, Python/PySpark (real AST + DataFrame chains), Rust source (real AST + function-call graph). Several more (Salesforce, SAP, Oracle, Snowflake, Fabric) are scaffolded but not yet proven against live accounts. A built-in secrets/PII redaction baseline (RFC 0043) runs on every connector automatically, on by default, not something a workspace can turn off.
$ git clone https://github.com/alexeyban/EKOS.git && cd EKOS/ekos $ cargo build --workspace # compile a workspace once $ ekos init && ekos build && ekos recover && ekos resolve && ekos compile && ekos commit # hand it to Claude, or any MCP-speaking agent $ ekos mcp serve --workspace .