Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
dab11a7
feat(ui): open the /rpc allowlist to the read-only query surface
DeusData Aug 23, 2026
499eeba
feat(ui): region level of detail for the galaxy (level=regions, scope…
DeusData Aug 23, 2026
bbbc015
feat(ui): CBM Atlas region scene, deep links, sidebar selection, unca…
DeusData Aug 23, 2026
61c4afe
feat(ui): CBM Atlas data services — folder tree, symbol bundle, flows
DeusData Aug 23, 2026
d91101b
fix(ui): flows never start inside test files
DeusData Aug 23, 2026
8bcb308
feat(ui): the CBM Atlas screens — Overview, Modules, Symbol, Flows, C…
DeusData Aug 23, 2026
ae5988a
docs: describe CBM Atlas in the README
DeusData Aug 23, 2026
16b9007
feat(ui): the Atlas Dashboard — graph-derived metrics with drill-down
DeusData Aug 23, 2026
71a80ed
fix(ui): render the Projects page immediately; fetch schemas lazily
DeusData Aug 24, 2026
b516eb2
fix(ui): Projects enrichment — pass include_details, cancel on unmoun…
DeusData Aug 24, 2026
3bc9d97
feat(ui): the Atlas graphite design system + trust repairs (Field Gui…
DeusData Aug 24, 2026
46cf438
feat(ui): findings feed Overview + hero Dashboard (Field Guide D2)
DeusData Aug 24, 2026
b54eb3d
feat(atlas): answer history, ownership, and A-to-B reachability
DeusData Aug 24, 2026
03995b7
feat(atlas): galaxy orientation — search scent, minimap, region cards
DeusData Aug 24, 2026
a4286e8
feat(ui): flow merging, treemap bars, persistent galaxy (Field Guide D5)
DeusData Aug 24, 2026
a306569
feat(atlas): honest lists — overflow shape, seam dots, boundary spanners
DeusData Aug 24, 2026
d8f9594
feat(atlas): working-set blast radius on the Changes tab
DeusData Aug 24, 2026
e44ef0a
feat(atlas): the handout — a shareable codebase document from the graph
DeusData Aug 24, 2026
d634ee8
fix(ui): header IA — project switcher first, no dead tabs
DeusData Aug 24, 2026
8b467e7
fix(ui): project switcher — searchable, properly elevated
DeusData Aug 24, 2026
67ba264
fix(ui): portal the switcher panel out of the header stacking context
DeusData Aug 24, 2026
2df9207
feat(atlas): the Why view — trigger trees with syntactic guard chains
DeusData Aug 26, 2026
f13f7f8
feat(ui): Why-view depth — dispatch chip, guard table, flow-step guards
DeusData Aug 26, 2026
bdf977a
fix(ui): question-first symbol page, cross-region dots de-noised
DeusData Aug 26, 2026
470a802
feat(ui): zh chrome — new tabs and project switcher translated
DeusData Aug 26, 2026
c36a9b8
feat(ui): galaxy orientation triad — halos, view marker, framed camera
DeusData Aug 26, 2026
e14624d
feat(ui): semantic zoom, flow-hop confidence, honest caps, tri-state …
DeusData Aug 26, 2026
f450f9b
feat(daemon): CBM_STARTUP_TIMEOUT_MS overrides the startup budget
DeusData Aug 26, 2026
3f3f1ac
feat(ui): the metric wiki — single-source entries, WikiPanel, term chips
DeusData Aug 27, 2026
cfebb1b
feat(ui): #wiki=<slug> deep link — wiki entries addressable by URL
DeusData Aug 27, 2026
b7f2276
fix(ui): chart-standard compliance sweep — honest axes, real knee, bo…
DeusData Aug 27, 2026
9c9e353
feat(ui): wiki hover previews, tooltip delay setting, tooltip breakdowns
DeusData Aug 27, 2026
ed8a45c
feat(ui): the question index — what Atlas answers, honestly
DeusData Aug 27, 2026
617a4b1
feat(ui): change impact — who can reach this symbol, and what to retest
DeusData Aug 27, 2026
11bdc08
feat(ui): why is this here — per-symbol git history with linked evidence
DeusData Aug 27, 2026
b808eec
fix(ui): dispatch /api/symbol-history before the /api/symbol* wildcard
DeusData Aug 27, 2026
3ce8338
style: clang-format the impact and symbol-history additions
DeusData Aug 27, 2026
8487703
chore: ladder.sh is executable like every script beside it
DeusData Aug 27, 2026
136685f
fix(test-infra): make container legs work from git worktrees
DeusData Aug 27, 2026
409dce4
fix(test): size mkdtemp templates for the Windows %TEMP% expansion
DeusData Aug 27, 2026
baf0df8
feat(mcp): ingest_traces stores observed runtime calls for real
DeusData Aug 27, 2026
ce2e406
feat(ui): observed vs possible — runtime markers in flows and traces
DeusData Aug 27, 2026
7f2c563
fix(test): cancel-probe tools updated to the real ingest_traces contract
DeusData Aug 27, 2026
0b736b2
fix(test): retire the last stub-era ingest probes; unfork the cypher …
DeusData Aug 27, 2026
c6105c5
feat(ui): who can help — authorship as evidence, never a scoreboard
DeusData Aug 27, 2026
007a46b
feat(ui): content-i18n — the wiki, questions, and Atlas cards speak C…
DeusData Aug 27, 2026
762fbe2
feat(ui): the Who-can-help card — contacts with evidence on every symbol
DeusData Aug 27, 2026
77eb7eb
fix(mcp): tell the truth about pre-publication index aborts
DeusData Aug 28, 2026
675b955
feat(ui): chrome-string i18n sweep — Symbol, Flows, Overview, WikiPanel
DeusData Aug 28, 2026
32e910a
fix(watcher): FILETIME-precision dirty signatures; flaky-family rebuilds
DeusData Aug 28, 2026
bda4608
feat(ui): computed sentences compose natively per locale
DeusData Aug 28, 2026
da7235a
Merge origin/main into feat/atlas-r1
DeusData Sep 6, 2026
a44732b
fix(ui): keep the UI security audit green on the Atlas branch
DeusData Sep 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Makefile.cbm
Original file line number Diff line number Diff line change
Expand Up @@ -414,6 +414,12 @@ UI_SRCS = \
src/ui/config.c \
src/ui/http_server.c \
src/ui/layout3d.c \
src/ui/layout_regions.c \
src/ui/atlas_api.c \
src/ui/atlas_flows.c \
src/ui/atlas_handout.c \
src/ui/atlas_why.c \
src/ui/atlas_metrics.c \
src/ui/httpd.c \
src/ui/embedded_stub.c

Expand Down
18 changes: 15 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ High-quality parsing through [tree-sitter](https://tree-sitter.github.io/tree-si
- **162 languages** — vendored tree-sitter grammars compiled into the binary. Nothing to install, nothing that breaks.
- **120x fewer tokens** — 5 structural queries: ~3,400 tokens vs ~412,000 via file-by-file search. One graph query replaces dozens of grep/read cycles.
- **45 supported automatic/conditional client surfaces** — `install` configures detected clients and safely activates conditional clients only when their documented platform, marker, or explicit existing config path is present. See [Multi-Agent Support](#multi-agent-support) for the complete matrix and manual/UI-only boundaries.
- **Built-in graph visualization** — 3D interactive UI at `localhost:9749`, served from the binary itself.
- **CBM Atlas** — the built-in human interface at `localhost:9749`: overview, modules treemap, region-level 3D galaxy, call flows, change impact, symbol pages and a prompt composer, served from the binary itself.
- **Infrastructure-as-code indexing** — Dockerfiles, Kubernetes manifests, and Kustomize overlays indexed as graph nodes with cross-references. `Resource` nodes for K8s kinds, `Module` nodes for Kustomize overlays with `IMPORTS` edges to referenced resources.
- **15 MCP tools** — search, trace, architecture, impact analysis, targeted index-coverage checks, Cypher queries, dead code detection, cross-service HTTP linking, ADR management, and more.

Expand Down Expand Up @@ -131,16 +131,28 @@ Package-manager setup (npm, PyPI, or Go) verifies and publishes a coherent priva

The ordinary `cli` mode is intentionally separate: it runs one command locally and never starts or connects to the coordination daemon, registers a daemon session, or starts watchers/UI. Its only shared state is the OS admission barrier plus per-project locks for graph mutations. While the command is running, a temporary monitor lets activation cancel that operation and its supervised worker safely; the monitor exits with the command and never becomes a standing daemon. See [CLI Mode](#cli-mode) for details.

### Graph Visualization UI
### CBM Atlas — the human interface

The graph UI is built into the binary — every install on every channel has it. Then run it:
The MCP tools are the agent's interface to the code graph; **CBM Atlas** is the human's. It is built into the binary — every install on every channel has it:

```bash
codebase-memory-mcp --ui=true --port=9749
```

Open `http://localhost:9749` in your browser. The UI is owned by the shared coordination daemon, so concurrent agent sessions do not start duplicate HTTP servers.

Atlas is a code-discovery instrument, not a chart: every insight is deterministic, carries the reason it is shown, and links onward.

- **Overview** — the first read of a project: regions (Leiden call communities voted per file, named with provenance and cohesion), hubs by fan-in, entry points, surprising cross-region couplings with reasons, suggested questions, cross-package boundaries.
- **Modules** — a treemap of any folder, sized by symbols, colored by region, hatched where indexing was incomplete; drill to files and symbols.
- **Galaxy** — the 3D view, opening at region level of detail (one body per region, weighted arcs) so any project size renders; open a region for full detail, or load the whole galaxy explicitly.
- **Flows** — named entry→terminal call journeys as clickable call trees, with truncation stated, exportable as mermaid.
- **Changes** — `detect_changes` on the working tree: affected symbols grouped by risk before you ask an agent to finish the job.
- **Symbol pages** — docstring, region, callers/callees with true totals and per-edge confidence (resolved / reference / unproven), tests, co-change partners, near-clones, editor and GitHub links.
- **⌘K** search across symbol names and code text; a **prompt composer** turns anything you cite into a precise, identifier-exact prompt for your coding agent.

Every screen deep-links (`?tab=…&project=…&sym=…&region=…&flow=…`), so a place in the codebase is a URL you can share.

### Auto-Index

Enable automatic indexing on MCP session start:
Expand Down
4 changes: 2 additions & 2 deletions graph-ui/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Codebase Memory — Graph</title>
<title>CBM Atlas</title>
</head>
<body class="bg-[#0a0a10] text-[#e4e4ed] min-h-screen">
<body class="bg-background text-[#e4e4ed] min-h-screen">
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
Expand Down
Loading
Loading