Reported issues for rpg-encoder
Pod holds 17 of 37 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to rpg-encoder.
Most discussed
[BUG] Windows Path Format Mismatch in Entity IDs
Windows Path Format Mismatch in Entity IDs
Summary
On Windows, entity IDs stored in the RPG graph contain backslashes (e.g., app\public\electron.js:showRepoWindow), but users submitting lift results via the MCP tool use forward slashes (e.g., app/public/electron.js:showRepoWindow). This causes key mismatch failures during submit_lift_results on Windows.
Root Cause
The id() method in RawEntity uses self.file.display() which outputs platform-specific path separators. On Win
Read the thread · 2026-02-21 · closed · outside contributor · 3 comments
[Feature] Add detect_cycles MCP Tool for Circular Dependency Detection
Summary
Implement a new MCP tool detect_cycles that identifies circular dependencies in codebases using the RPG dependency graph.
Motivation
Circular dependencies are architectural smells that:
- Prevent independent compilation, testing, and reuse
- Cause changes to ripple through the entire cycle
- Make refactoring risky and expensive
Currently, the RPG system provides dependency graphs but lacks a dedicated tool to detect and report circular dependencies. Users need a way to:
- Id
Read the thread · 2026-02-26 · closed · outside contributor · 2 comments
Feature: Implement Code Health Analysis Tool (rpg_analyze_health)
Summary
Implement a new MCP tool analyze_health that provides code health metrics including coupling analysis, instability detection, centrality scoring, god object identification, and two types of duplication detection (token-based and semantic).
Motivation
This feature implements the Code Health Meter (CHM) framework described in the research paper, providing RPG users with actionable insights into code architecture quality. The tool enables:
- Identifying unstable modules that depe
Read the thread · 2026-02-25 · closed · outside contributor · 2 comments
[BUG] semantic hierarchy fails to apply on Windows due to path mismatch
Problem Summary
The RPG (Repository Planning Graph) MCP server fails to persist semantic hierarchy assignments on Windows systems due to path separator mismatches between the internal graph representation and user-provided assignments.
Detailed Description
Symptoms
- When building a semantic hierarchy, users can register functional areas successfully
Read the thread · 2026-02-22 · closed · outside contributor · 2 comments
fix plan_change root scope handling
Issue: plan_change(scope=".") does not search from repository root
Summary
The plan_change tool should treat scope="." as repository-root scope, equivalent to an unscoped search. Instead, it can return No relevant entities found even when the same query succeeds without a scope or with an explicit hierarchy path.
This breaks a reasonable caller expectation that . means "search from the root of the semantic hierarchy".
Problem
plan_change delegates its candidate discovery
Read the thread · 2026-04-08 · closed · outside contributor · 1 comment
Add ${workspaceFolder} Variable Expansion to MCP Server
Description:
The rpg-mcp-server currently receives its project root as a CLI argument. When MCP clients (like Antigravity or opencode) pass ${workspaceFolder} without expanding it, the server receives the literal string and fails to find any source files.
This PR adds a resolve_project_root function that:
- Detects
${workspaceFolder}in the CLI argument - Resolves it to
std::env::current_dir()(the MCP client launches the server in the workspace directory) - Handles partial patterns
Read the thread · 2026-02-27 · closed · outside contributor · 1 comment
Add Linux ARM64 (aarch64) pre-built binary support
Summary
Pre-built binaries currently only support x86_64-unknown-linux-gnu on Linux. Running on aarch64 (ARM64) Linux fails because:
install.jsdoes not have a target mapping forlinux+arm64- Building from source fails due to ONNX Runtime (
ortcrate viafastembed) linking errors on aarch64:- Missing
__cxa_call_terminate(C++ ABI) - Missing
__libc_single_threaded(glibc 2.32+)
- Missing
- The
embeddingsfeature cannot be cleanly disabled — removing it from `rpg-mcp/C
Read the thread · 2026-02-23 · closed · external user · 1 comment
Close paper gaps: LLM routing, drift judgment, embedding search
Summary
Close the three remaining gaps identified in paper_review.md between rpg-encoder and arXiv:2602.02084:
Algorithm 4 (Semantic Routing) — Replace Jaccard-only routing with LLM-based routing via two new MCP tools (
get_routing_candidates,submit_routing_decisions). Persisted pending state with crash safety.Algorithm 3 (Drift Judgment) — Add three-zone drift detection (ignore < 0.3, borderline 0.3–0.7 for agent review, auto-route > 0.7). Borderline entities surfaced f
Read the thread · 2026-02-09 · closed · 1 comment
Most recent
Embedding model is hardcoded to non-code BGE-small-en; make it selectable (add code-specialized option)
Problem
Semantic search embeds entities with a model hardcoded in crates/rpg-nav/src/embeddings.rs: EmbeddingModel::BGESmallENV15 (BAAI/bge-small-en-v1.5, 384d). That is a general English-text model, not code-specialized — suboptimal for ranking code intent/features. The dimension is a compile-time const, so no other model can be used without code changes, and there is no way to evaluate a code-specialized embedder.
Proposed solution
- Add
navigation.embedding_modelto `Rp
Read the thread · 2026-05-29 · closed · 0 comments
Add an Ollama lift provider for free local semantic lifting
Problem
Semantic lifting currently runs through either the connected coding agent (MCP LIFTER PROTOCOL) or an external paid API (AnthropicProvider, OpenAiProvider in rpg-lift). For users who want to lift a large graph without spending API tokens or routing code through a hosted model, there is no fully-local option. Lifting is the most token-expensive step in building an RPG, so a free local path materially lowers the cost of adoption and keeps code on-device.
Proposed solution
Ad
Read the thread · 2026-05-29 · closed · 0 comments
[BUG] fetch_node and explore_rpg reject batch-only payloads (missing field "entity_id")
Description
fetch_node and explore_rpg advertise a batch mode via entity_ids (an Option<Vec<String>>), and the doc comment on entity_ids says it "overrides entity_id when provided". The handlers in crates/rpg-mcp/src/tools.rs are written for either-or semantics — they check entity_ids first and only fall back to entity_id.
But the serde deserialization rejects any call that omits entity_id, because the field is declared String (required) rather than Option<String>. S
Read the thread · 2026-05-17 · open · external user · 0 comments
Cross-root MCP support
Cross-root MCP support
Problem
The MCP server was effectively tied to a single startup root. Tools could not reliably inspect or operate on another repository without switching the whole session, and state handling around alternate roots was inconsistent.
Needed feature
Add a universal per-call project_root override across the MCP tool surface, while keeping set_project_root as the explicit way to change the default root for later calls.
Required behavior
- omitted `project_
Read the thread · 2026-04-21 · open · outside contributor · 0 comments
Allow live project root switching and temporary root overrides
Issue Draft: Cross-Root RPG Exploration for MCP
Summary
The MCP server can currently operate only on its active project_root, which is set at startup and then reused by all read-only semantic tools. This makes it difficult to inspect an external repository graph from a long-lived session rooted in another workspace.
We need a way to query another codebase temporarily, without permanently switching the server session root.
Problem
The current exposed rpg_development_* tool set incl
Read the thread · 2026-04-17 · open · outside contributor · 0 comments
feat: autonomous LLM-driven lifting (rpg-lift crate)
Problem
rpg-encoder requires a connected coding agent (Claude Code, Cursor, etc.) to perform semantic lifting via MCP tool calls. Microsoft's RPG-ZeroRepo uses a fire-and-forget autonomous pipeline that calls GPT-4o directly, enabling headless CI/CD lifting without human interaction.
Solution
Add a new rpg-lift crate that provides autonomous batch-mode lifting via cheap LLM APIs:
- Anthropic — Claude Haiku 4.5 (~$0.80/$4.00 per MTok in/out)
- OpenAI — GPT-4o-mini (~$0.15/$0.6
Read the thread · 2026-02-27 · closed · 0 comments
refactor: clean up cycles.rs code quality issues
Problem
PR #61 (detect_cycles) introduced three code quality issues identified during post-merge review:
- Hand-rolled
glob_match()— cycles.rs implements a naive glob matcher whenglobsetis already a workspace dependency, and theignorecrate is used elsewhere for.rpgignorehandling - Inline TOON formatting — ~130 lines of TOON formatting live inside the
detect_cyclestool handler in tools.rs instead of intoon.rs(whereformat_health_report()lives) - **Duplicat
Read the thread · 2026-02-27 · closed · 0 comments
[ARCHITECTURAL ISSUE] rpg_update_rpg fails to detect untracked file deletions - graph retains entities for files that never existed in git
Description
The rpg_update_rpg tool fails to detect deletions of untracked files - files that existed on the filesystem when the graph was built but were never committed to git. This is a fundamental design gap between the build and update phases.
The Actual Scenario
- User creates two local folders (e.g.,
opencode-DCP-dev/,opencode-dynamic-context-pruning/) - User runs
rpg_build_rpg- graph is built, captures these folders - User pulls the repository to a newer commit
Read the thread · 2026-02-23 · closed · outside contributor · 0 comments
feat: entity signatures, data flow edges, and area connectivity (v0.6.0)
Summary
Add three major features for richer code understanding:
- Entity signatures — extract typed function/method signatures from AST for all 8 supported languages (Rust, Python, JS, TS, Go, Java, C/C++, C#), including edge cases like *args/**kwargs, rest parameters, grouped Go params
- DataFlow edges — new edge kind tracking data flow between entities through call chains (bidirectional: params A→B, return B→A)
- Area connectivity — aggregate inter-area invocations in `rpg_
Read the thread · 2026-02-13 · closed · 0 comments
The remaining reports are on the project's issue tracker.