warpos defines 19 tools with complete JSON schemas and descriptions. However, most descriptions are terse (10-50 chars), lack actionable context, and omit parameter descriptions entirely. Tool names follow verb_noun convention but lack clarity on resource type (e.g., 'domain_profile_put' vs 'update_domain_profile'). No output schemas documented. Error handling is minimal, no recovery guidance or categorization. Security: API keys injected via env vars (good), but no audit logging or permission gates visible. Composition is reasonable (single responsibility per tool), but parameter descriptions are sparse, forcing LLMs to infer intent.
Apply one or more Domain Profiles (with inheritance) and call z.ai with the compiled framework + user input.
Deprecate (not hard-delete) a Domain Profile by setting deprecated metadata in the YAML file.
Get a Domain Profile YAML by profile id (e.g. example/developer).
List Domain Profile IDs under profiles/domains/ (YAML files).
Create or update a Domain Profile YAML. NOTE: this overwrites the file for the given profile id.
Get an MCD markdown document and its metadata (sha256, updated_at).
List available MCD project slugs (mcd/<projectSlug>.md).
Parameter descriptions missing or minimal. 'id' appears in 10+ tools with no description of format, constraints, or examples. LLMs cannot infer whether 'id' is a UUID, slug, or path.
No output schemas documented. Tools return results but LLMs have no formal specification of response structure, field types, or required fields. Agents must infer from examples or trial-and-error.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Create or update an MCD markdown document (writes mcd/<projectSlug>.md).
Execute phase: Apply the execution plan after GO approval. This has side effects - actually runs the task steps.
Get an execution plan by ID.
Generate a new Task Instance from a template. Validates inputs against the template schema and creates a locked instance for execution.
Get a Task Instance by project slug and instance ID.
List Task Instance IDs for a given project.
Prepare phase: Generate a declarative execution plan from a task instance. Safe to run (no side effects). Returns plan stored at .warpos/plans/<plan_id>.yaml for inspection.
Deprecate (soft delete) a Task Template by id and version. Sets deprecated metadata in the YAML file.
Get a Task Template YAML by id and optional version. If version is not specified, returns the latest version.
List available Task Template IDs (latest version of each template).
Create or update a Task Template. The template object must include id, version, description, inputs_schema, outputs_schema, and steps.
Send a planning/orchestration prompt to z.ai (using DEVPACK_CODING_PLAN_API_KEY) and return the response.
Tool descriptions are terse (10-50 chars) and lack context. 'List Domain Profile IDs under profiles/domains/ (YAML files)' does not explain WHEN to call this, what to do with the result, or how it chains to other tools.
No error handling guidance. Tools validate inputs (path traversal checks visible in code) but return generic errors. No recovery hints, categorization (retryable vs fatal), or suggestions for next steps.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes without parsing descriptions. task_execute and task_instance_generate are destructive but unmarked.