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
In AI assistants, the most expensive operation is structural refactoring (rename/find usages/go to definition), when the agent is forced to grep through text and read dozens of files.
This causes:
unnecessary token usage and long iteration cycles,
false positives (comments/strings/similar names),
missed real occurrences,
slower feedback loops.
For Neva this is especially critical, because our Track A goal is to make a language that coding agents can work with quickly, accurately, and with a small context window.
Thesis
We need an official structural tool surface for agents (MCP/ACP-friendly), so navigation and refactoring operations use a semantic index (AST/symbol graph) instead of text search.
Proposed approach (distilled scope)
1) CLI as the canonical backend for agents
Add/standardize machine-readable commands in the neva CLI:
symbol lookup (by name/qualified path/entity type)
go to definition
find usages
rename (preview + apply)
diagnostics explain (human- and machine-readable modes)
Requirements:
stable JSON schema/versioning,
deterministic output for identical input,
minimal payloads (signature-first, no unnecessary prose).
2) MCP/ACP integration layer
Build an official protocol adapter on top of the CLI (at least MCP, optionally an ACP-compatible layer), so an agent makes 1 tool call per structural operation instead of N grep/read/edit cycles.
MVP tools:
search_symbol
goto_definition
find_usages
rename_refactoring
get_diagnostics
3) LSP synergy
Use the same index/semantic source of truth as LSP navigation (or explicitly define the contract between them) to avoid divergence:
CLI/LSP/MCP must return consistent results,
rename/find usages must not diverge between IDE and agent.
4) Agent-oriented UX constraints
token-cheap responses (concise, structured, no long walls of text),
local context delivery (agent receives only relevant symbols/ranges),
Tracking
Context / why this matters
In AI assistants, the most expensive operation is structural refactoring (rename/find usages/go to definition), when the agent is forced to
grepthrough text and read dozens of files.This causes:
For Neva this is especially critical, because our Track A goal is to make a language that coding agents can work with quickly, accurately, and with a small context window.
Thesis
We need an official structural tool surface for agents (MCP/ACP-friendly), so navigation and refactoring operations use a semantic index (AST/symbol graph) instead of text search.
Proposed approach (distilled scope)
1) CLI as the canonical backend for agents
Add/standardize machine-readable commands in the
nevaCLI:symbol lookup(by name/qualified path/entity type)go to definitionfind usagesrename(preview + apply)diagnostics explain(human- and machine-readable modes)Requirements:
2) MCP/ACP integration layer
Build an official protocol adapter on top of the CLI (at least MCP, optionally an ACP-compatible layer), so an agent makes 1 tool call per structural operation instead of N grep/read/edit cycles.
MVP tools:
search_symbolgoto_definitionfind_usagesrename_refactoringget_diagnostics3) LSP synergy
Use the same index/semantic source of truth as LSP navigation (or explicitly define the contract between them) to avoid divergence:
4) Agent-oriented UX constraints
How this maps to current tracks
Acceptance criteria (MVP)
rename/find usages/gotoon a real Neva project.grep-centric workflow).Non-goals
Open questions
Source idea
https://www.linkedin.com/feed/update/urn:li:activity:7448780175267446785/?originTrackingId=eniFHOVHSX0Fn%2FDngO1w5Q%3D%3D