Code context engine for AI coding agents — indexes repositories into a queryable graph and returns exact code spans instead of whole files
Hyponoia has 6 tools with basic descriptions and input schemas visible in tool_surface.h. However, critical gaps severely limit production readiness: (1) descriptions are minimal (10-80 chars, well below the 194-char baseline), lacking WHEN/WHY context; (2) parameter descriptions are sparse or missing entirely, 'mode' in index_repository has no explanation of 'full' vs 'incremental' semantics; (3) no output schemas documented anywhere, LLMs cannot predict what ask() or search_memory() return; (4) no error handling guidance, tools fail silently with no recovery hints; (5) tool names lack clarity, 'ask' is vague (ask what? ask whom?), 'record_memory' and 'search_memory' are generic; (6) no pagination, limits, or result-capping documented despite tools returning lists. The C implementation and STDIO transport prevent remote testing. Overall, tools are skeletal, functional but not LLM-optimized.
Query the indexed codebase for code context and spans
Indexes a repository into a queryable graph and returns exact code spans instead of whole files
Lists all indexed projects available for querying
Record context to the memory/workspace surface
Search the memory/workspace surface for stored context
Get the status of the workspace/memory surface
No output schemas documented. LLMs cannot predict return types for ask(), search_memory(), list_projects(), or workspace_status(). This forces agents to guess field names and types, causing downstream tool-chaining failures.
Parameter descriptions are missing or trivial. 'mode' in index_repository has no explanation of 'full' vs 'incremental' behavior. 'query' in ask() lacks guidance on syntax, length, or expected format. LLMs cannot infer constraints from names alone.
Tool descriptions are too short (10 - 80 chars vs 194-char baseline). 'Query the indexed codebase for code context and spans' lacks WHEN to use, prerequisites, or what 'spans' means. Descriptions do not guide LLM tool selection.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2025-06-18+ | v2 |
No error handling guidance. Tools fail silently with no recovery hints. E.g., if index_repository fails, LLM has no guidance on retry, fallback, or root cause. No categorization of retryable vs fatal errors.
Tool name 'ask' is vague and does not follow verb_noun convention. 'ask' could mean ask a user, ask an API, ask a database. Rename to query_codebase() or search_codebase() for clarity. 'record_memory' and 'search_memory' are generic, consider store_context() and retrieve_context().