Graph-native memory, self-learning, and multi-agent coordination for Claude Code
AINL Cortex has 20 tools with complete JSON schemas and descriptions, but quality is inconsistent. Naming follows verb_noun convention (memory_store_*, ainl_*, a2a_*, goal_*), which is good. However, descriptions are often generic (e.g., 'Store a coding session episode' lacks context on WHEN to use it or what happens next). Parameter descriptions exist but are minimal (avg ~30 chars vs. baseline 72 chars). No output schemas documented, LLMs cannot predict response structure for chaining. Error handling is absent: no recovery guidance, no categorization of retryable vs. fatal errors. Security concerns: a2a_send accepts arbitrary agent names and messages with no validation or permission checks. Tools like ainl_run accept opaque 'ir' objects with no schema documentation. Overall, definitions are structurally present but lack the depth and LLM-optimization needed for production use.
Get detailed information about a specific agent
List all reachable agents (local Claude Code instances and ArmaraOS agents)
Query message history for a thread
Send a message to another agent (local Claude Code instance or ArmaraOS agent)
List available AINL adapters and capabilities
Compile AINL source code to intermediate representation
Compare two AINL intermediate representations
No output schemas documented. LLMs cannot predict response structure, breaking tool chaining. E.g., memory_search returns results but structure is undocumented; ainl_run returns execution output but format unknown.
Descriptions lack LLM-optimization context. Most are 30-50 chars (baseline 194 chars). Missing WHEN to use, prerequisites, and what happens next. E.g., 'Store a coding session episode' doesn't explain when to call it or what the agent should do after.
No error handling or recovery guidance. Tools provide no actionable error messages. E.g., ainl_run fails silently on invalid IR; a2a_send has no permission checks or validation.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
Execute compiled AINL code with provided frame
Analyze AINL code for security issues
Validate AINL source code
Create a new goal for the agent
List all goals for the project
Update the status of a goal
Evolve agent persona based on learning history
Promote a learned pattern to procedural memory
Recall relevant context from memory for current task
Search memory graph for episodes, patterns, and semantic facts
Store a coding session episode with tool calls and outcomes
Store a failure node for learning from errors
Store a semantic fact with confidence score
Opaque parameter types. 'ir' (intermediate representation) and 'frame' in ainl_run lack schema documentation. LLMs cannot construct valid inputs without examples or type definitions.
Security: a2a_send accepts arbitrary agent names and messages with no permission checks, rate limits, or audit logging. Multi-agent coordination without access control is a privilege escalation risk.