Skip to content

How it works

Six stages from source to structural truth

BBM-Atlas is deterministic where it can be and explicit about uncertainty where it cannot. Scroll through the pipeline a repository takes, stage by stage.

01 · Parse

  1. 01 · Parsing engine

    Parse

    Tree-sitter reads every file into a language-independent model.

    Functions, classes, methods and modules become symbols with qualified names and source spans. There is no LLM in this step, so it is fast, cheap and gives the same result every time.

    • 12 languages symbol by symbol
    • 7 more as whole-file modules
    • Incremental: only changed files are re-parsed
  2. 02 · Structural map

    Map

    Calls, imports and inheritance are resolved across files.

    The structural map links each call site to the definition it reaches and each import to the module it names, tags every edge with how certain the resolution is, and writes it all to a graph database.

    • Neo4j, or in memory
    • extracted · inferred · ambiguous
    • Survives restarts
  3. 03 · Memory & reflection

    Remember

    Summaries, facts and lessons accumulate alongside the code.

    Repository memory keeps hierarchical summaries of what each part of the codebase does. The reflection engine records which answers helped and turns them into lessons that adjust future ranking.

    • Hierarchical summaries
    • Facts you can recall
    • Lessons from outcomes
  4. 04 · Retrieval engine

    Retrieve

    Four sources are fused into one ranked answer.

    A question is answered from structure, memory, the graph and semantic vectors at once. The ranking leans on structural truth, and is boosted by what the question is asking for.

    • Structure + memory + graph + vectors
    • Intent-aware boosts
    • Degraded sources reported
  5. 05 · Interfaces

    Serve

    The same engine behind MCP, REST, the CLI and the console.

    AI assistants call MCP tools, scripts call the REST API or the CLI, and people use the web console. They share one engine, so they always agree.

    • 30 MCP tools
    • 37 REST routes
    • 39 CLI commands
  6. 06 · Compression layer

    Economise

    Compression shrinks what reaches the model, reversibly.

    Content-aware compressors cut tokens from JSON, code, diffs, logs and search results; the originals stay retrievable by hash. A proxy applies it to any OpenAI- or Anthropic-compatible client.

    • Syntax-aware for code
    • Never larger than the input
    • Savings ledger

Trust

Every edge says how sure it is

Each relationship in the graph carries a confidence tag, so an assistant (and you) can weigh an answer, not just read it. Queries can ignore anything below the confidence you need.

  • extracted

    Mechanical evidence in the source, from deterministic code paths. Nothing a model produces can ever carry this tag.

  • inferred

    A likely binding, such as a call matched by name alone, scored on a fixed rubric so you can see how likely.

  • ambiguous

    A binding the resolver could not make, or one a model flagged as uncertain: kept for review, never guessed.

Storage

Four real stores, or none at all

Every store sits behind the same interface. A fresh checkout runs hermetically in memory; point BBM-Atlas at real backends when you need persistence and scale.

  • PostgreSQL

    System of record: repositories, files, symbols, memory

  • Neo4j

    The knowledge graph of engineering relationships

  • Qdrant

    Embeddings for semantic search

  • Redis

    Cache and cross-process notifications

Without them: in-memory stores with the same behaviour, so tests and first runs need no services at all.

Secure defaults

Local-first, and locked down out of the box

Nothing needs to leave your machine: local embedding models and an in-process LLM are optional extras. And the defaults are safe before you configure anything.

  • Binds to loopback by default
  • Request bodies are size-capped
  • API keys required in production
  • Compose ports published on 127.0.0.1 only
  • Store credentials required to start the stack
  • Secret files are never indexed

Index your first repository in minutes

A fresh checkout runs entirely in memory, with no services to set up. Add Postgres, Neo4j, Qdrant and Redis when you are ready.