Local-first codebase discovery for AI agents, with precise navigation and verifiable evidence.
Sanjaya provides 10 well-named, verb-prefixed tools with clear descriptions (avg 120 chars) and documented input schemas. All tools are READ_ONLY except index_codebase (DESTRUCTIVE), which is properly flagged. However, several parameters lack descriptions, output schemas are not formally documented, and error handling guidance is minimal. Tool composition is sound (each does one thing), but parameter constraints (enums, ranges) are sparse. Naming follows verb_noun convention well (search_text, find_definition, get_source). No security issues detected (no secrets in params). Descriptions are adequate but could be more LLM-optimized with dependency hints and recovery guidance.
Reports which approved Sanjaya tools and language providers are currently available.
Returns a bounded structural C# outline or generic preview for one repository-relative readable UTF-8 file.
Finds exact C# syntax declarations in the current structural index and reports explicit ambiguity without claiming project-semantic resolution.
Finds exact C# identifier syntax candidates without claiming compiler-semantic symbol binding.
Returns exact bounded C# declaration source for one chunk ID from the current structural index.
Reports the health of Sanjaya's running stdio protocol foundation.
Atomically rebuilds the bounded deterministic structural index under the repository's .sanjaya directory.
Output schemas not formally documented. Tools return results but LLMs cannot see field types, required fields, or structure. This forces LLMs to infer output shape from examples or trial-and-error.
Parameter descriptions missing or minimal for several tools. 'maxResults' and 'caseSensitive' in search_text have descriptions, but 'limit' in recent_changes lacks guidance on what 'recent' means (commits? days?). LLMs cannot infer intent.
No error handling guidance. Tools do not document what happens on invalid input (e.g. non-existent file path, malformed query). LLMs receive raw errors with no recovery hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2025-06-18+ | v2 |
Returns bounded local commit and working-tree evidence without contacting a remote Git service.
Searches the current deterministic structural index using bounded lexical ranking and returns repository-relative evidence.
Searches bounded readable UTF-8 files under the configured repository for a single-line exact text query without indexing.
Parameter constraints not formalized as enums or ranges. 'maxResults' accepts 1-200 but is not declared as an enum or with minValue/maxValue in schema. LLMs may pass invalid values.
No dependency hints in descriptions. Tools like find_definition and find_references do not explain when to call search_code first or how results chain together. LLMs must infer composition.