You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Third RPG release cycle. Focus: (a) make RPG the default reach for LLM agents on any structural code question (instead of grep/cat/find), (b) harden the lifting pipeline against drift when code changes, (c) add runtime-neutral sub-agent dispatch guidance so large repos don't burn caller context.
## Highlights
- `stale_entity_ids` drift tracking on `RpgServer` — populated on auto-sync, drained on re-lift, surfaced in `lifting_status`. Closes the "coverage 100% but features outdated" silent-failure mode.
- `build_rpg` + `lifting_status` + `get_entities_for_lifting` + `submit_lift_results` all compose coherently for a stale-only re-lift flow. No more dead-end recipes.
- `build_rpg` response now actively directs the agent to lift immediately, scale-aware (small = foreground, large = dispatch sub-agent).
- `USE RPG FIRST` mapping table in server prompt, tool descriptions, SKILL.md, README — agents see the RPG-before-grep directive at every touchpoint.
- Runtime-neutral dispatch guidance — no Claude-Code-specific `Task()` syntax leaking into the MCP layer.
- Canonical lock-order invariant documented on `RpgServer`, every nested-lock site audited.
## Audit trail
Nine review rounds: six by Codex, two by independent Opus 4.6 agents, one final verification pass. Final state: no HIGH or MEDIUM findings open.
See CHANGELOG.md for the full v0.8.3 entry.
Copy file name to clipboardExpand all lines: .claude/skills/rpg/SKILL.md
+29-2Lines changed: 29 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,37 @@
1
1
---
2
2
name: rpg
3
-
description: 'Build and query semantic code graphs using RPG-Encoder. Use when the user wants to understand codebase structure, search for code by intent, explore dependencies, analyze change impact, or perform semantic lifting.'
3
+
description: 'Build and query semantic code graphs using RPG-Encoder. Use BEFORE grep/cat/find for any question about code structure, behavior, relationships, impact, dependencies, or cross-file patterns.'
`context_pack`) over the CLI — they're faster and return structured data.
33
+
34
+
---
8
35
9
36
You have access to `rpg-encoder`, a CLI tool that builds semantic code graphs (Repository Planning Graphs) from any codebase. Use it to understand code structure, search by intent, trace dependencies, and perform autonomous semantic lifting.
Copy file name to clipboardExpand all lines: .gemini/extensions/rpg/commands/rpg-lift.toml
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -18,5 +18,5 @@ The lift pipeline:
18
18
19
19
Progress is saved after each batch. If interrupted, re-running continues from where it stopped.
20
20
21
-
After completion, run `rpg-encoder info` to show the updated graph statistics.
21
+
After completion, run `rpg-encoder info` to show the updated graph statistics. If an MCP RPG server is currently connected to your editor, also call its `reload_rpg` tool so it picks up the new graph from disk.
Copy file name to clipboardExpand all lines: README.md
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,6 +37,8 @@ Then open any repo and tell your agent:
37
37
38
38
Your agent handles everything: indexes entities (seconds), reads each function and adds intent-level features (a few minutes), organizes them into a semantic hierarchy, and commits `.rpg/graph.json` for your team.
39
39
40
+
For repos with ~100+ entities, `lifting_status` will tell your agent to delegate the lifting loop to a sub-agent or a cheaper model — feature extraction is pattern-matching, not novel reasoning. If your runtime has no sub-agent mechanism, run `rpg-encoder lift --provider anthropic|openai` from the terminal with an API key — the CLI drives an external LLM directly with no agent involvement. After the CLI finishes, call `reload_rpg` in your session to load the updated graph. The CLI lifts entities with no features; re-lifting stale entities (features present but outdated after code changes) is handled by the in-session MCP flow, not the CLI.
41
+
40
42
Once lifted, try:
41
43
42
44
-*"What handles authentication?"* — finds code even when nothing is named "auth"
@@ -45,6 +47,30 @@ Once lifted, try:
45
47
46
48
---
47
49
50
+
## Use RPG before `grep`, `cat`, `find`
51
+
52
+
The server instructions tell your agent to reach for RPG tools FIRST for any
53
+
question about code structure or behavior. That reflex matters — `grep`, `cat`,
54
+
and ad-hoc file reads burn tokens and miss semantic relationships RPG already
55
+
knows.
56
+
57
+
| If you'd otherwise reach for... | Use this instead |
0 commit comments