Repository-aware execution runtime for AI coding agents. AST-powered compression, graph queries, and verified patching.
ContextForge provides 8 tools with mostly complete schemas and descriptions. Naming follows verb_noun conventions (contextforge_retrieve, contextforge_query_graph, contextforge_patch_ast, memory_*). Descriptions are present and substantive (100-300 chars typical). However, several tools lack output schema documentation, parameter descriptions are sometimes generic, and error handling guidance is minimal. The contextforge_patch_ast tool has complex conditional logic (operation enum determines which params are required) that is documented but could be clearer. Memory tools are well-described but lack output structure details.
Apply a surgical patch to a source file. Supports 7 operations: replace_body, insert_after, insert_before, delete, replace_string, insert_at_line, create_file. Results are self-verifying with diff output.
Query the pre-built code knowledge graph. Returns function bodies, call chains, exports, and route definitions without reading files from disk. Results are pre-indexed.
Retrieve original uncompressed content that was compressed to save tokens. Use this when you need more data than what's shown in compressed tool results. The vault_id is provided in compression markers like [content compressed... vault_id=cf_vault_xxxxx].
Delete a memory entry by ID.
List recent memory entries.
Save important information to persistent memory for future sessions. Use for: user preferences, project decisions, recurring patterns, architectural choices, debugging insights.
Output schemas not documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
contextforge_patch_ast has complex conditional parameter requirements (operation enum determines which of new_body, search_string, replacement_string, insert_line are required). Documented in description but not enforced in schema via conditional constraints.
Memory tools (memory_save, memory_search, memory_update, memory_delete, memory_list) lack output structure documentation. What fields does memory_search return? What is the structure of a memory entry?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Search persistent memory for relevant past context. Use when you need context about user preferences, past decisions, or project history.
Update an existing memory entry by ID.
No error handling guidance in any tool description. What should the LLM do if contextforge_query_graph returns no results? If memory_search finds nothing? If contextforge_patch_ast fails to apply a patch?
contextforge_patch_ast is a WRITE tool with destructive potential (delete, replace_body operations). No confirmation step or dry-run mode documented. Agents could accidentally delete code.