No fixture, no staged repo — EKOS's own ~50-crate, multi-language codebase, run
through the full build → recover → resolve → compile → commit
pipeline, then documented, searched, and queried over MCP, with every stage's wall time, CPU, and
memory measured by /usr/bin/time -v and its own RFC 0114 query log —
not estimated, not averaged.
| Stage | Wall | Share | Peak RSS | Notes |
|---|---|---|---|---|
| build | 10.3s | 65 MB | 600 files, 8 connectors | |
| recover | 5.7s | 102 MB | 8 analyzer passes | |
| resolve --force | 0.6s | 56 MB | 5,597 candidates, 3 real conflicts | |
| compile | 2.3s | 89 MB | 6,107 diagnostics | |
| commit | 1m 24.4s | 138 MB | I/O-bound — 100k+ voluntary context switches |
commit alone is 82% of total wall time — and it's 57% CPU, not 95%+ like every other stage. It's waiting on disk, not computing.
| --layout | Wall | Output |
|---|---|---|
| curated | 6.1s | 4 top-level pages + 3,172 entity pages |
| solution-architect | 2.9s | 3 files, 5 real findings |
| objects | 55.1s | 6,368 pages + 5,696 neighborhood SVGs |
--prose --layout curated did nothingByte-identical output with or without the flag — no warning, no token estimate, no
confirmation prompt. generate_curated() never took a
prose parameter at all. Fixed the same session: the combination now
fails clearly instead of silently pretending to honor it.
ekos_search 8ms 50 hits ekos_state 25ms 1 object ekos_dependents 37ms 12 edges ekos_impact 124ms 3 hops ekos_status 22ms ekos_diff 46847ms 16,036 changed architecture_eval 627ms 49 crates architecture_eval 0ms (cache hit)
ekos_diff with no to bound scans to "now"
— 16,036 changed entries, 46.8 seconds, 60–2,000× slower than every other call. And
RFC 0114's result cache is live and correct on real data: the identical
ekos_architecture_evaluate call, repeated, comes back in 0ms
instead of 627ms.
$ ekos ask "What does the redaction module do?" # 20.8s cold model load, then: truncating input prompt limit=4096 prompt=6516 keep=25 new=4096 # 1m 41s wall total; the answer # carried no valid citation block
EKOS's own LlmResponse type already captures real
input_tokens/output_tokens per call —
nothing downstream logs or surfaces them. Every number on this slide came from ollama's own
service log and a direct API probe (27 prompt tokens, 48 completion tokens, 7.3s), not from
EKOS's own output.
A test failed in CI but passed locally 200/200 times run alone; reproduced reliably under constrained parallelism, traced with acquire/release timestamps, fixed with a short bounded retry in the ledger's write-lock. 19/19 stress runs clean afterward vs. a ~25% failure rate before.
Rehearsing a real demo, a citation for a plain source file rendered a full
/tmp/scratch-.../src/error.rs path instead of
src/error.rs. Root-caused to one field in one function; fixed;
re-verified live against a real nested workspace, down to the exact reported artifact.
docs generate --prose silently ignored for one layoutCovered in §03 — found running the exact demo this deck is about.
# compile once $ ekos build && ekos recover && ekos resolve && ekos compile && ekos commit # generate real documentation, zero LLM, zero cost $ ekos docs generate --layout curated --output doc # serve it to any MCP client over stdio $ ekos mcp serve --workspace .