Gives every Paperclip agent structural codebase knowledge — module maps, dependency graphs, semantic search, and health analysis powered by CoDRAG.
CoDRAG plugin defines 5 tools with explicit schemas and descriptions. All tools have input schemas with typed properties and descriptions. However, output schemas are undocumented (tools return generic ToolResult with 'content' or 'error' fields), parameter descriptions lack actionable constraints (e.g., no enum for 'category' in observe tool, no range for 'k' in search), and error handling is minimal (catch-all error returns). Tool names are verb-noun style (context, search, impact, audit, observe) but lack clarity on when to use each vs. alternatives. The 'observe' tool mixes concerns (save note + categorize + link file). Descriptions are adequate (50-150 chars) but lack dependency hints and prerequisites.
Get codebase health findings — tech debt, architecture issues, opportunities.
Structural overview of the codebase: modules, hubs, atlas. Call at the start of every task.
Analyze what depends on a file — dependencies, dependents, blast radius.
Save a cross-session observation for future reference.
Semantic code search with structural trace expansion.
Output schemas undocumented. All tools return generic ToolResult {content|error} with no structured field definitions. LLMs cannot plan downstream tool calls or extract specific data fields.
Parameter constraints missing. 'k' in search has no min/max bounds (could be 0 or 10000). 'categories' in audit accepts any string array with no enum of valid categories. 'category' in observe lacks enum (note|decision|bug|pattern|assumption).
Error handling is generic. All tools catch errors and return {error: String(err)} with no recovery guidance. LLM receives raw daemon error messages (e.g., 'CoDRAG daemon GET /projects/123/context returned 500') with no actionable next steps.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Tool 'observe' combines multiple concerns: save observation + categorize + link file. Should split into separate tools (save_observation, categorize_finding, link_to_file) so agent can compose independently.
Descriptions lack dependency hints and prerequisites. No guidance on when to call 'context' first, or how 'search' results feed into 'impact' analysis. Missing 'WHEN to use' and 'WHAT to do next' guidance.