Headless HTTP server + Tauri host for instructional design with agentic tools, quest system, and multi-backend LLM inference routing
Trinity ID AI OS exposes 42 tools with severe definition quality gaps. While tool names follow verb_noun conventions (read_file, write_file, generate_image), descriptions are uniformly terse (10-50 chars), parameter schemas lack type information beyond basic strings, and no output schemas are documented. Most critically: destructive tools (shell, python_exec, sidecar_start, generate_*) lack confirmation patterns, error handling guidance, or permission gates. The server conflates educational scaffolding (generate_lesson_plan) with system administration (process_list) and media generation (generate_video) without clear separation of concerns. No tool includes recovery guidance, retryability classification, or actionable error messages. Schemas visible in source show only parameter names and trivial descriptions; no constraints, enums, or output documentation.
Add enrichment content to lesson. Args: lesson_id, enrichment_type, content
Align content with educational standards. Args: content, standards, grade_level
Analyze document content and structure. Args: document_path, analysis_type
Analyze image content using vision model. Args: image_path, analysis_type
Analyze screen observation/screenshot. Args: image_base64, context
Assemble a 3D scene from components. Args: scene_name, components, layout
Generate or update character avatar. Args: character_id, style, prompt
Destructive tools (shell, python_exec, sidecar_start, generate_*) lack confirmation patterns, permission gates, and error recovery guidance. No dry-run support or retryability classification.
All 42 tool descriptions are under 50 characters and lack WHAT/WHEN/WHY context. LLMs cannot determine when to select tools or what they return. Descriptions must be 50-200 chars with explicit state-modification warnings.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Every tool must declare return type structure (fields, types, required keys).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | <=2025-11-25 | v2 |
Render scene using Blender. Args: scene_file, output_path, settings
Run 'cargo check' to verify compilation. Args: crate_name (optional, default: trinity)
Generate curriculum mapping document. Args: subject, grade_level, standards
Export project as SCORM package. Args: project_id, output_path
Generate 3D model from text or image. Args: prompt, model_type, format
Generate image from text prompt. Args: prompt, style, size
Generate lesson plan. Args: topic, grade_level, duration_min, standards
Generate 3D mesh from text description. Args: prompt, format, scale
Generate music from text description. Args: prompt, duration, style
Generate quiz/assessment. Args: topic, question_count, difficulty, format
Generate grading rubric. Args: assignment, criteria, levels
Generate video from text prompt. Args: prompt, duration, style
Generate voice audio from text. Args: text, voice_id, language
List directory contents. Args: path (default: workspace root)
List saved lessons from library. Args: subject (optional), grade_level (optional)
Load the most recent session summary for context bootstrapping
List running processes with CPU/memory usage (ps aux sorted by memory)
Archive a project for storage/export. Args: project_id, format
Execute Python code in a sandboxed environment. Args: code
Read a file's contents. Args: path
Review content for safety/appropriateness. Args: content, content_type
Save lesson to library. Args: lesson_name, content, subject, grade_level
Save session summary for cross-session continuity. Args: title, summary, next_steps, files_changed
Generate a new Bevy game project scaffold. Args: project_name, template
Generate a new e-learning module scaffold. Args: module_name, subject, format
Analyze and extract key information from documents. Args: document_path, extraction_type
Search for text in files using grep. Args: query, path (default: crates/)
Execute shell command with safety gates. Args: command
Start a sidecar service (Bevy, voice, etc). Args: service_name, config
Check status of running sidecars
System memory, disk, GPU status, and running services
Manage task queue. Args: action ('read'|'add'|'complete'|'next'), task, index
Update the narrative vibe/tone of a project. Args: project_id, vibe_description
Write a session work report. Args: title, content, status ('in_progress'|'complete')
Write/overwrite file (auto-backup). Args: path, content
Parameter schemas lack type constraints, enums, and ranges. 'status' param in task_queue accepts free-form strings; should be enum('in_progress'|'complete'). No validation prevents hallucinated values.
Tool composition violates single-responsibility principle. avatar_pipeline, generate_image, generate_video, and generate_3d_model all generate media but with overlapping semantics. No clear distinction when to use which. Consolidate or clarify intent.