Git-native, lifecycle-aware decision memory for coding agents
commitlore defines 8 tools with consistent naming (verb_noun pattern: commitlore_query, commitlore_stale, etc.) and reasonable descriptions (avg ~80 chars). All tools have input schemas with type definitions. However, parameter descriptions are sparse or missing context about expected formats, constraints, and error recovery. Output schemas are not documented. Error handling guidance is absent. The server is domain-specific (git decision records) and well-scoped, but lacks LLM-optimization patterns like enums for constrained inputs, actionable error messages, and chaining metadata.
Retrieve decision context before making a code change
Check if a value violates configured guards or constraints
Prepare a decision record for capture with validation and formatting
Query decision records by kind (context, limits, ruled-out, warnings) for a given path
Report the runtime identity and version of the running MCP server
Stage verified decision records into the git index for commit
Report on stale or incomplete records in the decision memory
No output schemas documented. LLMs cannot infer what fields to expect from tool results, forcing them to guess at downstream chaining and risking context loss.
Parameter descriptions lack format constraints and validation rules. E.g., 'kind' in commitlore_query lists valid values in description text but not as an enum; 'path' has no guidance on absolute vs relative paths or validation rules.
No error handling guidance. Tools return errors but do not tell LLMs what to do next (retry, ask user, abort). E.g., commitlore_stage_capture (WRITE risk) has no confirmation or dry-run pattern.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Verify that prepared decision records are valid before staging
commitlore_stale and commitlore_runtime_identity accept no parameters but lack descriptions explaining what they report or when to call them. Descriptions under 60 chars.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). commitlore_stage_capture is marked WRITE but lacks destructiveHint in schema. Agents cannot infer safety properties.