Files
codebase-memory-mcp/graph-ui/verification/pr-2068/final-comparison.json
T
Bernhard Jackiewicz 0b47b7f5ec docs(ui): hand off PR 2068 repairs with browser evidence and known limits
Record the failed first pass, integrated repairs, actual Playwright flows,
source and research decisions, same-port daemon behavior and maintainer entry
points. Include before/after screenshots and the final map recheck after login.
Archive original test logs losslessly with SHA-256 records; retain failed runs
separately instead of presenting them as successful checks.

Disclose unresolved global C lint, parser callsite coordinates, heuristic
architecture roles, manual diff narrowing and outstanding platform validation.

Signed-off-by: Bernhard Jackiewicz <bj@techport.io>
2026-09-10 00:09:12 +02:00

37 lines
12 KiB
JSON

{
"started": "2026-09-09T21:46:29.667Z",
"baseline": "80f4f41f9bcb9daf60afc5f607bcbcba24a4b196",
"comparison": "Original frontend versus repaired frontend, same current daemon and repository index",
"views": [
{
"port": 9751,
"screenshot": "final-before-architecture.png",
"text": "CODEATLAS\nv0.0.1\nExplore\nGalaxy\nArchitecture\nAgents\nSystem\nDaemon\nChat\nSearch\n⌘ / Ctrl K\nTools\nBrief\nExplained\nsym 42522\nedg 177194\nProject\ncbm-pr2068\n⌄\ncbm-pr2068\nArchitecture\n\nUnderstand the structure. Follow the evidence.\n\nRefresh\nOverview\nDependencies\nEntry points\nRoutes\nHotspots\nView saved on this device\nReset view\n42,522\nSYMBOLS\n177,194\nRELATIONS\n15\nMODULES\n936\nFILES LISTED\nMODULES\n\nGroups reported by the index. Select one to focus its relationships.\n\nsrc\n2,666 symbols\ncbm\n2,048 symbols\ncli\n1,025 symbols\nrepro\n1,011 symbols\npipeline\n949 symbols\ntools\n801 symbols\ndaemon\n759 symbols\nfoundation\n535 symbols\ntest_rust_lsp\n533 symbols\nmcp\n497 symbols\ntest_cli\n352 symbols\nstore\n320 symbols\n12 of 15 shown\nShow more\nARCHITECTURE LAYERS\n\nInferred assignments from the provider.\n\nhas HTTP route definitions\n\napi\nagents\n\nfan-in=0, fan-out=0\n\ninternal\ncbm\n\nfan-in=127, fan-out=180\n\ninternal\nci\n\nonly outbound calls\n\nentry\ncli\n\nonly outbound calls\n\nentry\ndaemon\n\nonly outbound calls\n\nentry\ndiscover\n\nonly outbound calls\n\nentry\nfixtures\n\nfan-in=0, fan-out=0\n\ninternal\n8 of 18 shown\nShow more\nRELATED COMMUNITIES\n\nGroups inferred from call relationships.\n\ntests\n\nextract_rust, require_resolved, find_resolved, count_resolved, rustlsp_definition_has_decorator\n\n100% cohesion\n\n501 members\ninternal\n\ncbm_type_unknown, kotlin_eval_expr_type, cbm_type_named, c_resolve_calls_in_node_inner, kt_node_text\n\n98% cohesion\n\n334 members\nsrc\n\ncbm_now_ms, cbm_thread_create, cbm_thread_join, app_test_open, app_test_request\n\n87% cohesion\n\n307 members\ntests\n\nextract_ts, require_resolved, extract_tsx, extract_js, extract_with\n\n100% cohesion\n\n304 members\ntests\n\nextract_php, find_resolved, require_resolved, phplsp_abstract_class_method, find_resolved_with_strategy\n\n100% cohesion\n\n286 members\nsrc\n\nrecord_agent_config_error, install_additional_agent_configs, uninstall_additional_agents, cbm_detect_agents, cbm_file_exists\n\n94% cohesion\n\n283 members\nsrc\n\ncbm_cypher_parse, cbm_query_free, heap_strdup, match, expect\n\n98% cohesion\n\n244 members\nsrc\n\ncbm_mutex_lock, cbm_mutex_unlock, runtime_connection_worker, cbm_daemon_frontend_mcp_run, main\n\n86% cohesion\n\n222 members\n8 of 12 shown\nShow more\nINDEXED FILES\n.gitattributes\n.github/ISSUE_TEMPLATE/bug_report.yml\n.github/ISSUE_TEMPLATE/config.yml\n.github/ISSUE_TEMPLATE/feature_request.yml\n.github/dependabot.yml\n.github/issue-labeler.yml\n.github/label-actions.yml\n.github/pr-acknowledgement.md\n8 of 936 shown\nShow more\nLANGUAGES\nC · 678\nTypeScript · 394\nBash · 116\nPython · 37\nYAML · 32\nCSS · 15\nJavaScript · 11\nGo · 6\nHTML · 4\nC++ · 4\nSYMBOL KINDS\nFunction · 20,972\nVariable · 14,094\nFile · 1,628\nModule · 1,512\nMacro · 1,284\nField · 1,030\nSection · 667\nInterface · 474\nClass · 212\nMethod · 200\nFolder · 157\nType · 121\nEnvVar · 81\nRoute · 68\nEnum · 10\nStruct · 6\nDecorator · 3\nBranch · 1\nChannel · 1\nProject · 1\nAbout this view\nserver ready\nConnection details",
"errors": []
},
{
"port": 9749,
"screenshot": "final-after-architecture.png",
"text": "CODEATLAS\nv0.0.1\ndirty\nExplore\nGalaxy\nArchitecture\nAgents\nSystem\nDaemon\nChat\nSearch\n⌘ / Ctrl K\nTools\nBrief\nExplained\ncbm-pr2068\n⌄\nProject events · cbm-pr2068\nLast checked 11:46:41 PM\nHistory (234 retained)\nInspect index coverage\n\nIndex coverage: 85 partially parsed paths · 0 skipped · 300 intentionally excluded.\n\ncbm-pr2068\nArchitecture\nRead by import order\nRefresh\nOverview\nDependencies\nEntry points\nRoutes\nHotspots\nView saved on this device\nReset view\n\nRepository map · source responsibilities and indexed connections\n\nEvidence legend\n1,498 indexed files · 62,142 retained edges · snapshot and limits\nRepository\nWhat this repository does\nPROJECT README · AUTHOR DESCRIPTION\nThe fastest and most efficient code intelligence engine for AI coding agents. Full-indexes an average repository in milliseconds, the Linux kernel (28M LOC, 75K files) in 3 minutes. Answers structural queries in under 1ms. Ships as a native executable with a small verified runtime-asset set for macOS, Linux, and Windows — download, run install, done.\nSource: README.md:17\nRead project README\nWhere to start\n\nIndex entry candidates, with roles inferred from file type and location. Select one to follow its static calls.\n\nFRONTEND · ENTRY CANDIDATE\nApp\ngraph-ui/src/App.tsx:747\nAPPLICATION · ENTRY CANDIDATE\nmain\nsrc/main.c:2546\nAPPLICATION · ENTRY CANDIDATE\nmain\npkg/pypi/src/codebase_memory_mcp/_cli.py:1288\nAPPLICATION · ENTRY CANDIDATE\nmain\ngraph-ui/spike/spike.js:152\nFollow static call paths from App · 3 paths across files\nComponents and responsibilities\n\nBoundaries follow source locations and are inferred. Descriptions quote source documentation; relationships come from indexed edges. Application areas appear before tests and tools.\n\nSOURCE AREA · INFERRED BOUNDARY\ninternal/cbm\n248 files · 0 entry candidates · 2268 exported symbols\nUsed by 6 areas · Depends on 9 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\nFull declaration set for the same CBMArena, and it must precede cbm.h: internal/cbm/arena.h declares a subset and the two share the CBM_ARENA_H guard, so whichever is included first is the one this file sees.\nSource: internal/cbm/cbm.c:1\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\nsrc/foundation\n65 files · 0 entry candidates · 574 exported symbols\nUsed by 17 areas · Depends on 4 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\ncompat_fs.h — Portable directory iteration, popen, and file operations. POSIX: thin wrappers around opendir/readdir, popen/pclose, mkdir, unlink. Windows: FindFirstFile/FindNextFile, _popen/_pclose, _mkdir, _unlink.\nSource: src/foundation/compat_fs.h:2\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\nsrc/daemon\n24 files · 0 entry candidates · 773 exported symbols\nUsed by 5 areas · Depends on 8 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\ndaemon.h — Process-local coordination and wire framing for the CBM daemon. Transport and worker supervision live outside this module. The coordinator binds clients and resource subscriptions to transport connections, coalesces shared work, and defines the daemon's terminal shutdown transition.\nSource: src/daemon/daemon.h:2\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\nsrc/pipeline\n43 files · 0 entry candidates · 984 exported symbols\nUsed by 7 areas · Depends on 12 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\npipeline.h — Indexing pipeline orchestrator. Orchestrates multi-pass indexing of a repository: 1. Structure: Project/Folder/Package/File nodes 2. Definitions: Extract + write nodes + build registry 3. Imports: Resolve import edges 4. Calls: Call resolution (registry + LSP) 5. Usages: Usage/type_ref edges 6. Semantic: Inherits/decorates/implements 7. Post: Tests, communities, HTTP links, config, git history Depends on: foundation, extraction, lsp, store, graph_buffer, discover\nSource: src/pipeline/pipeline.h:2\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\nsrc/cli\n21 files · 0 entry candidates · 1036 exported symbols\nUsed by 13 areas · Depends on 7 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\ncli.h — CLI subcommand handlers for install, uninstall, update, version. Port of Go cmd/codebase-memory-mcp/ install/update/config logic. Functions accept explicit paths (home_dir, binary_path) rather than reading HOME internally, making them testable with temp directories.\nSource: src/cli/cli.h:2\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\nsrc/store\n2 files · 0 entry candidates · 321 exported symbols\nUsed by 9 areas · Depends on 5 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\nstore.h — Opaque SQLite graph store for code knowledge graphs. All functions are prefixed cbm_store_*. The store handle is opaque — callers never touch SQLite internals directly. Thread safety: a single store handle must not be used concurrently. Use one store per thread or external synchronization.\nSource: src/store/store.h:2\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\nsrc/semantic\n6 files · 0 entry candidates · 83 exported symbols\nUsed by 4 areas · Depends on 4 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\nsemantic.h — Algorithmic code embeddings for SEMANTICALLY_RELATED edges. Combines 11 signals into a unified similarity score without external models or dependencies. All signals derived from graph buffer metadata and the existing AST walk. Signals: 1. TF-IDF on metadata tokens (vocabulary overlap) 2. Random Indexing with co-occurrence (within-codebase synonym bridging) 3. MinHash structural (existing, decoded from \"fp\" property) 4. API Signature vectors (same callees → related) 5. Type Signature vectors (same param/return types → related) 6. M\nSource: src/semantic/semantic.h:2\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\ngraph-ui\n675 files · 991 entry candidates · 2509 exported symbols\nUsed by 22 areas · Depends on 3 areas\nPROJECT README · AUTHOR DESCRIPTION\nThis directory is the frontend that codebase-memory-mcp --ui=true serves.\nSource: graph-ui/README.md:5\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\nsrc/mcp\n7 files · 0 entry candidates · 501 exported symbols\nUsed by 7 areas · Depends on 13 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\nmcp.h — MCP (Model Context Protocol) server for codebase-memory-mcp. Implements JSON-RPC 2.0 over stdio with the MCP tool calling protocol. Provides 14 graph analysis tools (search, trace, query, index, etc.)\nSource: src/mcp/mcp.h:2\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\nsrc/graph_buffer\n2 files · 0 entry candidates · 76 exported symbols\nUsed by 2 areas · Depends on 4 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\ngraph_buffer.h — In-memory graph buffer for pipeline indexing. Holds all nodes and edges in RAM during indexing, then dumps to SQLite. Provides O(1) node lookup by qualified name and edge dedup by key. Depends on: foundation (hash_table, dyn_array), store (data structs)\nSource: src/graph_buffer/graph_buffer.h:2\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\nsrc/ui\n22 files · 0 entry candidates · 321 exported symbols\nUsed by 6 areas · Depends on 11 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\nhttp_server.h — Embedded HTTP server for the graph visualization UI. Binds to 127.0.0.1:<port> only (localhost). Serves embedded frontend assets and proxies /rpc to a dedicated read-only cbm_mcp_server_t instance. Runs in a background pthread, same pattern as the watcher thread.\nSource: src/ui/http_server.h:2\nExplore connections →\nSOURCE AREA · INFERRED BOUNDARY\nsrc/cypher\n2 files · 0 entry candidates · 188 exported symbols\nUsed by 3 areas · Depends on 4 areas\nSOURCE DOCUMENTATION · AUTHOR DESCRIPTION\ncypher.h — Public API for the Cypher query engine. Provides lexing, parsing, planning, and execution of a subset of Cypher queries against the cbm_store graph database. Supported syntax: MATCH (n:Label)-[:TYPE*1..3]->(m:Label {prop: \"val\"}) WHERE n.name =~ \".*pattern.*\" AND m.label = \"Function\" RETURN n.name, COUNT(m) AS cnt ORDER BY cnt DESC LIMIT 10\nSource: src/cypher/cypher.h:2\nExplore connections →\nAll 25 areas, including tests and tools\nIndex summary, layers and communities\nAbout this view\nserver ready\nConnection details",
"errors": []
}
],
"responsive": {
"viewport": "1024x800",
"bounds": {
"viewport": 1024,
"width": 1024
},
"drawer": {
"x": 475.53125,
"y": 72,
"width": 532.46875,
"height": 694
},
"escapeReturnsToMap": true,
"architectureDeepLink": true
},
"completed": true,
"finished": "2026-09-09T21:46:42.967Z"
}