# Reported issues for io.github.userFRM/rpg-encoder

Pod holds 11 of 11 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 [io.github.userFRM/rpg-encoder](/mcp/io-github-userfrm-rpg-encoder).

## Most discussed

### [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](https://github.com/userFRM/rpg-encoder/issues/91) · 2026-05-17 · open · external user · 0 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](https://github.com/userFRM/rpg-encoder/issues/69) · 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](https://github.com/userFRM/rpg-encoder/issues/62) · 2026-02-27 · closed · outside contributor · 1 comment

### [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:
1. Id

[Read the thread](https://github.com/userFRM/rpg-encoder/issues/60) · 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](https://github.com/userFRM/rpg-encoder/issues/58) · 2026-02-25 · closed · outside contributor · 2 comments

### 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:

1. `install.js` does not have a target mapping for `linux` + `arm64`
2. Building from source fails due to ONNX Runtime (`ort` crate via `fastembed`) linking errors on aarch64:
   - Missing `__cxa_call_terminate` (C++ ABI)
   - Missing `__libc_single_threaded` (glibc 2.32+)
3. The `embeddings` feature cannot be cleanly disabled — removing it from `rpg-mcp/C

[Read the thread](https://github.com/userFRM/rpg-encoder/issues/54) · 2026-02-23 · closed · external user · 1 comment

### [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.

<img width="1627" height="489" alt="Image" src="https://github.com/user-attachments/assets/99584fe5-3f06-4178-bcd6-a23283d2b101" />

## Detailed Description

### Symptoms
- When building a semantic hierarchy, users can register functional areas successfully
-

[Read the thread](https://github.com/userFRM/rpg-encoder/issues/52) · 2026-02-22 · closed · outside contributor · 2 comments

### [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](https://github.com/userFRM/rpg-encoder/issues/49) · 2026-02-21 · closed · outside contributor · 3 comments

## Most recent

### 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](https://github.com/userFRM/rpg-encoder/issues/89) · 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](https://github.com/userFRM/rpg-encoder/issues/88) · 2026-04-17 · open · outside contributor · 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

1. User creates two local folders (e.g., `opencode-DCP-dev/`, `opencode-dynamic-context-pruning/`)
2. User runs `rpg_build_rpg` - graph is built, captures these folders
3. User pulls the repository to a newer commit 

[Read the thread](https://github.com/userFRM/rpg-encoder/issues/56) · 2026-02-23 · closed · outside contributor · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/userFRM/rpg-encoder/issues).
