Skip to main content
Glama
IrisRainbowNeko

hierarchical-codex

Agent Trio V3.5

Agent Trio V3.5 is a cost-aware multi-agent runtime built on Codex App Server. Its default balanced profile lets the current Sol choose among root completion, one Luna/Terra execution agent, and an economically admitted compact DAG. The quality profile preserves V3.3's always-delegate, quality-first behavior. TypeScript handles concurrency, dependencies, budgets, recovery, and patch integration after Sol makes the semantic decision.

The runtime is designed around three targets relative to direct gpt-5.6-sol/ultra:

  • cost at or below 40%;

  • elapsed time at or below 70%;

  • quality at or above 95%, or within 3 points.

The normal path contains no mission ledger, heartbeat loop, mandatory reviewer, audit chain, or user continuation gate.

Results

The V3.5 three-arm run covers 54 sealed tasks across 18 families: 54 direct gpt-5.6-sol/ultra, 54 Balanced, and 54 Quality executions. Percentages are relative to direct Sol; cost uses recorded App Server tokens and the configured price table.

All 54 tasks

Total time

Time vs Sol

Total cost

Cost vs Sol

Mean quality

Minimum

Direct Sol

3,593.7s

100.0%

$3.1811

100.0%

100.00

100

Balanced

2,193.0s

61.0%

$1.4419

45.3%

98.98

67

Quality

2,716.9s

75.6%

$1.7083

53.7%

98.22

67

On the 12 tasks whose calibration qualified them as economically decomposable, Balanced measured 60.5% of direct Sol time and 47.0% of its cost. Its quality was 98.98% of direct with a 1.02-point gap. Quality measured 53.9% time and 80.1% cost, with 98.22% relative quality and a 1.78-point gap.

Both profiles pass the overall, per-domain, and absolute quality gates. Balanced passes the 70% aggregate time gate but misses the 40% aggregate cost gate, per-family economic gates, 25% planning cost gate, 15% direct overhead gate, and compact-fanout routing gates. The run recorded zero protocol errors, user interventions, and critical failures. V3.5 therefore establishes the quality result and a substantial speed/cost reduction, while its Balanced routing still requires further cost and topology optimization.

The final scores were recalculated from the saved outputs after correcting false-negative wording and formatting rules. The offline pass made zero model calls, changed only 20 quality scores, and preserved all 162 timing and cost records. The full JSON report is attached to the v3.5.0 release.

See Benchmarking for calibration, the three-arm runner, evidence format, and scoring rules.

Related MCP server: LightWorker

Install

Requirements:

  • Node.js 20 or newer.

  • A working Codex CLI with App Server support.

  • Access to the configured Luna, Terra, and Sol models.

  • Git for isolated parallel writers.

Install from the repository:

npm install
npm run check
npm run install:user
npm run doctor:user

install:user performs two kinds of user-level change:

  • registers one [mcp_servers.agent_trio] entry in ~/.codex/config.toml;

  • installs $agent-trio, $agent-trio-session, $agent-trio-quality, and $agent-trio-quality-session under ~/.agents/skills.

The MCP launcher reads assignment-style *.env files directly under the active Codex home before starting Agent Trio. This makes provider variables such as PRO_API_KEY available to Agent Trio and its child App Server processes in the desktop app, VS Code, and CLI without storing credentials in config.toml. Files are loaded in filename order; later assignments override earlier ones. The loader accepts KEY=value, export KEY=value, quoted values, and comments, but does not execute shell commands.

It does not install hooks, native agent profiles, a global AGENTS.md, or change the selected root model. All four skills contain routing instructions only and reuse the same MCP runtime.

Restart the ChatGPT desktop app, reload the VS Code Codex extension, and start a new Codex CLI session after installation. The MCP registration is shared by all three local Codex clients.

Verify agent_trio with /mcp in the ChatGPT desktop app or Codex CLI, or with MCP servers in the VS Code Codex extension. Then choose one mode:

# ChatGPT desktop app in Codex, VS Code Codex, or interactive Codex CLI
# One turn only; later turns must mention it again.
$agent-trio implement this feature and run the relevant tests

# Related follow-ups in this conversation continue through Agent Trio automatically.
$agent-trio-session implement this feature and run the relevant tests

# Quality-first variants always delegate and retain the wider V3.3 DAG policy.
$agent-trio-quality analyze this repository and report correctness risks
$agent-trio-quality-session build this feature and handle my related follow-ups

For a non-interactive CLI run, keep the $ inside single quotes:

codex exec '$agent-trio research these alternatives and produce a comparison'

ChatGPT Chat and Work use @ instead of Codex $ mentions. The non-session skills apply to one turn. After either session skill is explicitly selected once, related corrections, refinements, continuations, and questions retain that profile. Say to stop using Agent Trio, ask for normal Codex, switch to an unrelated task, or start a new conversation to leave session mode.

For foreground invocations, the selected skill passes flat top-level MCP arguments, supplies a unique run ID, submits the run for immediate durable acceptance, and then waits once for its final result only after submit succeeds with that same ID. ChatGPT and Codex clients with MCP Apps support therefore mount the live Monitor near the start of execution instead of after the run finishes; no separate browser tab is required. Select any planner, leaf, direct agent, integrator, or final-review thread to inspect its messages, reasoning summaries, commands, file changes, token usage, cost, and validation state. The component reads cursor-based updates by calling status through the MCP Apps bridge. Those calls stay inside the component and never invoke a model. Clients without MCP Apps support keep the local monitorUrl text fallback.

The public MCP contract uses canonical field names and values. In particular, direct calls use directTier, capabilities are {kind,name,path?} objects, limits are nested under limits, and fanout-only risk, merge, access, and tasks live under semanticPlan. The runtime also normalizes a bounded set of unambiguous call shapes emitted by older installed skills or Codex clients, including permission-label aliases and a split request envelope. If canonical and legacy fields disagree, the call is rejected rather than silently changing its meaning. Reinstalling after an upgrade refreshes the skills so new calls use only the canonical contract.

All four skills also pass the current Codex task permission and approval modes to Agent Trio. A Full access task gives direct agents and execution leaves Full access, including network access; Workspace access and Read-only tasks remain correspondingly restricted. Approve for me is inherited through App Server automatic review. Neither skill may request stronger access or approval than the calling task. Calls made without a skill can set the same context explicitly through MCP hostAccess/hostApproval or CLI --host-access/--host-approval.

Useful installation commands:

npm run install:user -- --job-root /absolute/job/path
npm run install:user -- --price-table /absolute/prices.json
npm run uninstall:user

Execution Model

request
  |
  v
host Sol balanced semantic route
  |-- tiny/indivisible ----------> root completion (no MCP)
  |-- one proven work unit ------> one Luna/Terra execution agent
  |
  `-- 2-3 useful work units -----> host semanticPlan
          |
          v
  deterministic DAG scheduler
    |-- Luna leaves
    |-- Terra leaves
    `-- at most one Sol specialist
          |
          v
  local reduction or Terra integration
          |
          `-- anomaly-only lazy Sol PlanPatch

quality skill
  `-- always delegate: one agent or a 2-5-leaf DAG

CLI / insufficient host context
  |
  `-- deterministic bounded direct, otherwise one adaptive Sol plan
        |-- 1 leaf --> planned single agent
        `-- 2-5 leaves --> DAG scheduler

The current root Sol decides root completion versus delegation, direct versus fanout, domain, semantic boundaries, dependencies, model floors, and integration requirements. Balanced fanout requires two independent leaves over 30 seconds and at least 90 seconds of serial work; it defaults to two leaves and uses three only for three substantial streams when that lowers the predicted critical path by at least 20% versus the best two-leaf grouping. Quality retains the 15-second and two-to-five-leaf V3.3 policy. Code handles permissions, launches, joins, concurrency, budgets, cancellation, recovery, and message delivery without rewriting those semantic choices.

Balanced delegates one worker only when at least three matching historical samples predict at most 40% of direct Sol cost and 100% of its latency; otherwise the host Sol keeps the work. For fanout, matching history applies hard 40% cost and 70% latency admission. A cold start also needs distinct structural work units and must pass conservative 30% cost and 55% latency limits. Missing prices, history, or structural evidence cannot prove fanout value, so an already submitted runtime request falls back to one cheapest sufficient worker. Quality is exempt from these economic vetoes unless the caller sets maxCostUsd.

A CLI or non-Sol caller uses auto: the runtime takes a zero-model direct route only for a provably bounded single objective; otherwise one internal Sol turn chooses a single execution agent or a bounded DAG.

Model Routing

Tier

Primary responsibility

Luna

Search, extraction, data processing, focused implementation, tests, read-only preparation

Terra

Recovery/stateful work, coupled debugging, semantic merge, final office writer

Sol

Planning, difficult algorithms, architecture, security, hidden correctness risks

Bounded work defaults to Luna. A Balanced DAG has at most one Terra execution node, counting a Terra writer or Terra integration; office, review, recovery, or synthesis words do not raise unrelated leaves. A leaf is promoted only when its own evidence shows that stronger reasoning is needed, and successful sibling work is retained. A normal host plan starts no internal Sol thread. A blocker, material conflict, contract change, non-mechanical validation failure, or low confidence can lazily start one internal Sol continuation for a minimal PlanPatch.

Scheduler

Profile defaults:

Limit

Balanced foreground

Balanced durable

Quality foreground

Quality durable

Concurrent leaves

3

3

5

5

Total leaves

3

5

8

20

Dependency waves

3

3

3

3

Sol specialist leaves

1

1

1

1

Sol replans

1

1

1

1

Balanced is intentionally capped at three foreground leaves. Quality durable auto-research may use up to 20 total leaves while retaining the five-way concurrency and three-wave ceiling.

Independent writers in a clean Git repository receive isolated temporary worktrees. Their patches are ownership-checked, combined, validated, and then applied to the original workspace. Read-only leaves share the request workspace. Dirty and non-Git workspaces use a single writer.

The default model map is:

luna  -> gpt-5.6-luna
terra -> gpt-5.6-terra
sol   -> gpt-5.6-sol

CLI

The CLI and Desktop MCP tool use the same runtime core.

For direct CLI use, declare the permission and approval modes of the environment launching the task:

agent-trio run --host-access full-access --host-approval never 'inspect the configured package sources'
agent-trio run --host-access workspace-write --host-approval approve-for-me 'implement the requested repository change'
agent-trio run --host-access read-only --host-approval never 'analyze this project without changing it'

Omitting these flags retains the original workspace-scoped, non-approving behavior for compatibility.

agent-trio run "implement the requested feature" -C /workspace
agent-trio run --profile quality "perform a deep repository analysis" -C /workspace
agent-trio run "update the report" -C /workspace --skill documents
agent-trio run "inspect the signed-in page" -C /workspace --plugin browser@openai-bundled

agent-trio submit "build a research dossier" -C /workspace --run-id dossier-01
agent-trio status dossier-01
agent-trio resume dossier-01 --input "repository permission granted"
agent-trio cancel dossier-01

agent-trio benchmark observations.json

Use --profile balanced|quality to select the default policy; balanced is the default. An explicit --strategy auto|direct|fanout takes precedence over profile routing. In auto, clearly bounded single-agent work stays on the deterministic direct path, while other work receives one adaptive internal Sol plan.

The CLI prints the local Monitor URL before a foreground model run starts and includes it in submitted and status results. MCP Apps clients use the embedded view; clients that only support progress notifications receive the local URL as a fallback. Final structured results retain monitorUrl for compatibility.

MCP Tool

The local Codex clients expose one MCP tool named agent_trio with five actions:

Action

Purpose

run

Execute a foreground request

submit

Start a durable background request

status

Read the latest persisted state

resume

Continue the original App Server thread with supplied input

cancel

Interrupt an active run without replaying completed side effects

All installed skills implement this foreground flow when they call the runtime:

generate unique runId -> submit(runId, monitorFirst=true)
  -> on successful response with the same runId: status(runId, wait=true) once
  -> on MCP/tool error: stop without status

Tool arguments are flat fields such as action, runId, objective, and cwd; callers must not nest the whole argument object beneath request, input, or arguments. The runtime accepts one legacy request wrapper for compatibility, but the public schema and documented format remain flat. risk and merge belong inside semanticPlan only when strategy=fanout; direct requests omit the plan and all plan-only fields. For compatibility, the runtime discards valid misplaced top-level hints on direct/auto requests and moves non-conflicting hints into a fanout plan.

The first call returns as soon as the foreground run has a durable snapshot, which gives the host a completed tool result to attach the component to. The second call waits on that same run locally; it does not start another planner, leaf, reviewer, or model turn. The component performs its own cursor-based status long polling over the MCP Apps bridge, and those component calls never enter the model context. Ordinary durable background submissions omit monitorFirst and return after acceptance without the one-time foreground wait.

Child App Server threads have project instruction loading, native multi-agent orchestration, and recursive Agent Trio access disabled.

Configuration

Variable

Purpose

AGENT_TRIO_JOB_ROOT

Durable snapshot and event directory

AGENT_TRIO_PRICE_TABLE

Override model price table

AGENT_TRIO_MODEL_PROVIDER

App Server provider override

AGENT_TRIO_SERVICE_TIER

Shared service tier

AGENT_TRIO_CODEX_PATH

Path to the pinned Codex executable

AGENT_TRIO_CODEX_HOME_MODE

Child home: projected, temporary, or inherit

AGENT_TRIO_LUNA_MODEL

Luna model override

AGENT_TRIO_TERRA_MODEL

Terra model override

AGENT_TRIO_SOL_MODEL

Sol model override

AGENT_TRIO_ALLOW_PLUGINS=1

Enable explicitly selected plugin capabilities

AGENT_TRIO_PLANNER_TRANSPORT

Planner: auto, responses, or app-server

AGENT_TRIO_PLANNER_BASE_URL

Responses-compatible planner endpoint

AGENT_TRIO_PLANNER_API_KEY

Planner bearer credential

AGENT_TRIO_PLANNER_MODEL

Planner model override

AGENT_TRIO_PLANNER_SERVICE_TIER

Planner-only service tier

AGENT_TRIO_MONITOR=0

Disable local Monitor capture and URLs

AGENT_TRIO_MONITOR_PORT

Fixed loopback Monitor port override

The bundled standard-context price table is config/openai-prices.standard.json. Custom model names or providers require an explicit price table so admission and hard cost limits can be calculated before execution.

The planner transport defaults to auto: it uses a Responses-compatible provider when configured and falls back to Codex App Server. Responses planning is tool-free and uses strict structured output.

Monitor

The primary Monitor is a self-contained MCP Apps resource attached to the existing agent_trio tool. It renders inside compatible ChatGPT and Codex clients and calls the same tool with private cursor and revision fields for bounded long polling. The local loopback web UI remains available to the CLI and clients without MCP Apps support. Neither presentation starts agents, reviews results, or participates in scheduling.

App Server completed items and lifecycle notifications are written to a separate bounded monitor.jsonl stream, while job.json remains authoritative. Token delta notifications are not stored. The recorder uses a 512 KiB pending-memory ceiling, a 16 KiB per-event ceiling, and an 8 MiB per-run log ceiling. Both views render one conversation entry per completed message, reasoning item, tool call, command, or file change, retain bounded UI state, and add no model calls or tokens. The loopback fallback still listens only on 127.0.0.1 and uses a private per-job-root token.

Development

npm run check keeps the authored Office corpus disabled because generating and qualifying that release benchmark is intentionally resource intensive. Run it explicitly on a machine with LibreOffice using:

AGENT_TRIO_RUN_AUTHORED_CORE_TESTS=1 npm test -- tests/authored-core-benchmark-corpus.test.ts
npm run format:check
npm run lint
npm run typecheck
npm test
npm run build
npm run doctor -- --project-only

The normal test configuration uses one Vitest worker to keep App Server fixture memory bounded.

Documentation

Available Tools

24 tools
artifact_getRead artifactA

Read a bounded prefix of an artifact by ID. Prefer targeted retrieval over loading full artifacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
encodingNoutf8
maxBytesNo
artifactIdYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden, and it does add meaningful behavioral context: it reveals that only a bounded prefix is returned (not the whole artifact) and that reading is the intended behavior. However, it stays quiet on what happens at the bound (truncation vs. error), response format, or whether there's pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is optimally sized at two short sentences with the action front-loaded. The first sentence states precisely the core functionality; the second provides essential operational guidance without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-by-ID operation with a flat parameter list and simple output schema, the description adequately covers the essentials. It clearly states the tool's purpose, the nature of the read (bounded prefix), and the strategic preference for its use. It could be enhanced by touching on error behavior or offset/pagination options, but these are not required for basic operability.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% (no parameters documented in the description), so the description must compensate. The phrase 'bounded prefix' conceptually maps to maxBytes, giving that parameter implicit meaning, but the description doesn't explicitly explain any of the three parameters' nuances or tradeoffs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific action verb ('Read'), identifies the exact resource ('artifact'), and adds critical scoping flavors: 'bounded prefix' and 'by ID'. It clearly distinguishes itself from siblings like artifact_put and communicates that this operation performs a scoped, targeted read rather than a full load.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Prefer targeted retrieval over loading full artifacts' implies when to use this tool—for bounded, targeted reads—but stops short of naming explicit alternatives or exclusions. The usage context is implied by this guidance, but no sibling tool is directly mentioned as an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

artifact_putStore artifactA

Store bounded content in the content-addressed artifact store. Required fields are taskId, actorId, kind, mimeType, content, encoding, and idempotencyKey. Do not send missionId. Return artifact references instead of copying large content into agent messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
taskIdYes
actorIdYes
contentYes
encodingYes
metadataNo
mimeTypeYes
idempotencyKeyYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full transparency burden. It discloses that content is 'bounded,' that the store is content-addressed, and that the tool returns artifact references rather than content. However, it does not explain idempotency behavior despite requiring an idempotencyKey, nor overwrite/dedup semantics or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, each earning its place: purpose, required fields, and a usage/return strategy. Front-loaded with the core action and zero filler. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is moderately complex (8 params, enum, nested metadata, no output schema, no annotations), yet the description leaves significant gaps: no return-reference format, no idempotency semantics, no parameter meaning beyond names, no size-bound detail. The missionId warning hints at a known pitfall but does not fill the completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It merely lists the required field names (already visible in the schema's required array) and warns against missionId. It does not explain the meaning or proper values of encoding, kind, metadata, mimeType, or content. The only real added semantic value is the missionId exclusion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Store bounded content in the content-addressed artifact store.' This clearly distinguishes it from the sibling artifact_get (retrieval) and other mission/task/result tools. The 'content-addressed' qualifier adds mechanism-level specificity beyond the title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides actionable usage context: required fields are listed, 'Do not send missionId' is an explicit exclusion, and the guidance to 'Return artifact references instead of copying large content into agent messages' tells agents when this tool should be used (large content scenarios). Does not name a specific alternative tool, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

budget_reportReport resource usageA

Atomically add token, cost, wall-time, and tool-call usage to a mission and optionally a task. Hard limits are enforced.

ParametersJSON Schema
NameRequiredDescriptionDefault
usageYes
taskIdNo
actorIdYes
missionIdYes
idempotencyKeyYes
expectedTaskVersionNo
expectedMissionVersionYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are completely absent, so the description must disclose behavior. It mentions 'Atomically add' and 'Hard limits are enforced', which are important behavioral traits. However, it does not specify what happens when hard limits are exceeded (e.g., error, partial addition) or whether there are side effects. The atomicity and limit enforcement are valuable but not complete behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence that includes the essential action, resources, targets, and constraints. It is front-loaded with the primary action and efficient, though it could benefit from a note about idempotency, but that is a completeness issue.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, no annotations, no output schema, nested usage object), the description is insufficient. It does not explain the idempotencyKey, optimistic concurrency via version fields, what 'hard limits' means specifically, or how usage is aggregated. The tool appears to be a critical financial/usage tracking point, but the description leaves many behavioral aspects for the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add meaning. The description mentions 'token, cost, wall-time, and tool-call usage', which correspond to the 'usage' nested object fields. However, it does not explain the required parameters like missionId, actorId, expectedMissionVersion, idempotencyKey, or expectedTaskVersion. It also doesn't clarify the purpose of idempotencyKey or version fields, which are critical for correct use.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (atomically add) and specific resources (token, cost, wall-time, tool-call usage) to a mission and optionally a task. This distinguishes it from other tools like task_heartbeat or task_commit, which have different purposes. The atomicity hint and hard limits are also mentioned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates this tool is used for reporting resource usage to a mission/task, but it does not explicitly state when to use it vs. alternatives. Given the context of mission/task management, it's implied that this is for periodic reporting or at the end of a task, but not explicit. There's no mention of when not to use it or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

children_statusList compact child statusA

Read direct children of a coordinator task as compact status rows (ids, status, version, summary, leaseExpired). Call once after wait_agent. Do not poll with task_get. If leaseExpired, cancel instead of waiting again.

ParametersJSON Schema
NameRequiredDescriptionDefault
parentTaskIdYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the burden. It explicitly says 'Read', implying a non-mutating operation, and discloses the compact row shape and the behavioral rule around leaseExpired. It could explain more about error behaviors or sorting, but it gives solid transparency for a simple list-like read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: two sentences carry the operation, the output, the invocation pattern, the negative polling rule, and the cancellation guidance. Every sentence earns its place and is front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description is largely complete: it names the input, the output fields, the correct timing after wait_agent, and the special leaseExpired behavior. Minor details like pagination or specific HTTP responses are not covered, but they are not necessary for invoking this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no description coverage for parentTaskId, but the description compensates by identifying the parameter as a coordinator task whose direct children are listed. This gives the parameter a clear semantic role, even though it does not explicitly spell out the parameter name in prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a specific operation via the verb 'Read' and a precise resource: 'direct children of a coordinator task.' It also enumerates the returned fields (ids, status, version, summary, leaseExpired), making it easy to distinguish from more generic tools like task_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is explicit: 'Call once after wait_agent' and 'Do not poll with task_get.' The description also routes the agent in the leaseExpired case directly to cancellation, which is exactly the kind of when-to-use guidance that separates this tool from siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mission_closeClose missionA

Complete a mission only after every task is terminal. Failed tasks require an explicit acceptance decision.

ParametersJSON Schema
NameRequiredDescriptionDefault
actorIdYes
missionIdYes
idempotencyKeyYes
expectedVersionYes
acceptFailedTasksNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It reveals that the tool enforces terminal-state and acceptance conditions, but does not explain what happens on precondition failure, the irreversible nature of closing, versioning semantics, or effect of idempotencyKey. Some transparency is provided, but significant gaps remain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The primary action is front-loaded, followed by a key condition and a requirement. Every word contributes to understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has five parameters, no output schema, and no annotations, yet the description only covers the mission-completion precondition and acceptance decision. It omits critical context such as optimistic locking via expectedVersion, idempotencyKey usage, actorId semantics, and what the response indicates on success or failure. The description is too sparse for a state-transition tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter meaning. It only hints at acceptFailedTasks through 'explicit acceptance decision' and says nothing about missionId, actorId, expectedVersion, or idempotencyKey. This is insufficient for a 5-parameter tool with no schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the operation as 'Complete a mission' on the mission resource, distinguishing it from mission_create and mission_get. The precondition 'only after every task is terminal' adds specificity without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit guidance on when to use the tool: only after every task is terminal, and that failed tasks require an explicit acceptance decision. However, it does not explicitly name alternative tools or exclusion scenarios beyond the stated precondition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mission_createCreate missionA

Create the durable mission record before spawning agents. strategy is locked at create (default fanout). directorPlan is required only for director_plan: a workspace-relative .md path to the plan file Sol wrote in the project folder. Forbidden otherwise.

ParametersJSON Schema
NameRequiredDescriptionDefault
riskYes
budgetNo
actorIdYes
portraitNo
strategyNo
objectiveYes
constraintsNo
directorPlanNo
idempotencyKeyYes
successCriteriaYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses key stateful behavior: strategy is locked at creation time, default fanout applies, and directorPlan is permitted only for a director_plan strategy and forbidden otherwise. It does not mention idempotency semantics, but it covers the most critical creation-time constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three tight sentences with no filler. High-value constraints and workflow order are front-loaded, and the conditional directorPlan guidance is compact yet complete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the caller has 10 parameters, nested objects, no output schema, and no annotations, the description explains only the strategy/directorPlan relationship and the 'before spawning' workflow. It does not address idempotency usage, risk values, budget, or portrait semantics, leaving an agent with meaningful gaps for a correct call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds real meaning for strategy (default fanout, locked at create) and directorPlan (workspace-relative .md path required only for director_plan, forbidden otherwise). However, 10 parameters are involved, and required fields such as objective, successCriteria, risk, actorId, and idempotencyKey are not explained. The description covers only a fraction of the parameter space.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb + resource: 'Create the durable mission record', and adds context about when this happens ('before spawning agents'). This differentiates it clearly from sibling tools like mission_get and mission_close, which operate on an already-existing mission.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states clear context for use: it must be called to create a durable mission record before any agents are spawned. It gives a temporal placement in the workflow, although it does not explicitly list alternatives or exclusions. This is sufficient to guide an agent on when to invoke it versus the task-level sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mission_getGet missionA

Read a mission and optionally its task, artifact, claim, and review state. Treat this result as authoritative over chat summaries. The mission row includes strategy, portrait, and directorPlan (workspace-relative plan file path) even when includeDetails is false.

ParametersJSON Schema
NameRequiredDescriptionDefault
missionIdYes
includeDetailsNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description correctly signals a non-mutating read and discloses an important behavior: strategy, portrait, and directorPlan are returned even when includeDetails is false. It could go further on return format or failure semantics, but it covers the main surprises.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two informative sentences, front-loaded with the primary action and followed by an important caveat. Every clause adds value and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter read tool, the description conveys the core behavior and a key semantic nuance of includeDetails. The absence of an output schema and the lack of explicit return-value details is a minor gap, not a blocker.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% but the description adds real meaning for includeDetails, explaining that core mission-row fields are present regardless of that flag. missionId remains minimally described, but its basic identity purpose is self-evident.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear read operation with a specific resource (mission) and optional related state (task, artifact, claim, review). It is distinguishable from mission_create and mission_close, though it does not explicitly contrast itself with sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong contextual guidance by saying the result is authoritative over chat summaries, which tells the agent when to prefer this tool. It does not list explicit alternatives or exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recovery_snapshotGet recovery snapshotA

Read durable mission state and a bounded audit-event page after interruption, compaction, or client restart.

ParametersJSON Schema
NameRequiredDescriptionDefault
missionIdYes
eventLimitNo
afterSequenceNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the read-only nature via 'Read' and mentions the bounded audit-event page, which adds some behavioral context. However, it doesn't address error cases, permission requirements, or what happens if the mission doesn't exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and front-loaded with the action ('Read durable mission state'). Every word earns its place, and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three parameters, no annotations, and no output schema. The description gives useful context about when and why to use it, but it omits parameter semantics and return details. For a recovery-related tool, this is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no parameter-specific info. The phrase 'bounded audit-event page' hints at eventLimit and afterSequence, but it doesn't explain their meaning or the role of missionId. With three parameters and no schema descriptions, the description fails to compensate for the lack of parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Read' and identifies the resource as 'durable mission state and a bounded audit-event page', which clearly distinguishes it from sibling tools like mission_get or task_get. It also specifies the recovery contexts (interruption, compaction, client restart), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: 'after interruption, compaction, or client restart'. This gives clear context for its intended usage, though it does not explicitly name alternatives or exclusions relative to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

result_checkCheck candidate resultA

Independently check a candidate. The reviewer cannot be the producer. Luna verifiers call this on review_target_task_id without claiming. Rejection returns the task to ready.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesYes
taskIdYes
approvedYes
reviewerIdYes
evidenceRefsNo
idempotencyKeyYes
expectedVersionYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It discloses the separation-of-duties rule, the non-claiming invocation pattern, and the state effect of rejection. It does not explain success behavior or idempotency, but the core behavioral traits are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, each adding value: action, constraint, outcome. No fluff, well front-loaded, and easily scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 7 parameters and state-changing behavior, but the description omits critical details like approval outcomes, idempotency semantics, expectedVersion usage, and the role of notes/evidence. It is not sufficient for an agent to fully predict the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description must compensate, but it only indirectly references taskId (as 'review_target_task_id') and approved (via 'Rejection'). The remaining parameters (reviewerId, expectedVersion, notes, evidenceRefs, idempotencyKey) are not explained, failing to add meaningful semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Independently check a candidate') and provides a resource context. It distinguishes from submission tools by emphasizing an independent review, but it does not explicitly contrast with the sibling 'result_verify' tool, leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a concrete usage scenario: 'Luna verifiers call this on review_target_task_id without claiming.' It also specifies the reviewer/producer separation constraint. It lacks an explicit 'use this instead of X' exclusion but otherwise offers actionable context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

results_gate_and_commitGate and commit low-risk childrenA

For low or medium risk only, record check and verify reviews then commit in one call. Does not skip gates. High or critical work must use luna-verifier plus result_check, result_verify, and task_commit. Children must already be candidate. On a direct mission, Sol (not the Luna producer) may be the reviewer without parentTaskId.

ParametersJSON Schema
NameRequiredDescriptionDefault
decisionsYes
reviewerIdYes
parentTaskIdNo
idempotencyKeyYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations available, the description carries the transparency burden. It discloses that the tool combines multiple gated review/commit steps, does not skip gates, and has preconditions and reviewer eligibility rules. It still does not describe error behavior, reversibility, or auth expectations, but it provides substantial behavioral context beyond the name and title.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the primary constraint, and every sentence provides a distinct piece of information: currency, alternative path, prerequisite, and reviewer edge case. There is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Routing and usage context are strong, and the sibling tool list makes the high-risk alternative clear. However, given no output schema and no annotations, the description does not explain post-call behavior, failure semantics, or what happens when gates are not satisfied. It is sufficient for selection but does not fully ground invocation in edge or failure cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description needs to compensate, but it does not explain the essential fields. It only indirectly hints at `parentTaskId` and the concept of the reviewer, while leaving `reviewerId`, `decisions`, `idempotencyKey`, and `expectedVersion` unexplained at the semantic level. An agent consulting the description alone would struggle to construct a valid request with confidence.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: front-line work is recorded, check and verify reviews are done, then commit is performed in one call, strictly for low or medium risk children. It also distinguishes this tool from the high-risk path by explicitly naming the alternative sequence of tools. An agent can understand exactly what this tool is for and what it is not for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage direction is explicit: use it for low or medium risk only; do not use it for high or critical work, which must go through luna-verifier plus result_check, result_verify, and task_commit. It also includes a prerequisite ('children must already be candidate') and a special direct-mission reviewer rule, giving strong when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

result_submit_candidateSubmit candidate resultA

Submit a worker result as candidate only. This closes the producer lease; a different reviewer must check it. artifactRefs must belong to this taskId — call artifact_put on the same task first, and do not attach child-task artifacts. Include actual usage when known. summary max 500 characters.

ParametersJSON Schema
NameRequiredDescriptionDefault
usageNo
claimsYes
taskIdYes
summaryYes
workerIdYes
leaseTokenYes
unresolvedNo
artifactRefsYes
idempotencyKeyYes
expectedVersionYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states a key side-effect ('closes the producer lease') and the candidate-only nature requiring a reviewer. It also includes constraints on artifactRefs and summary length. It does not cover failure semantics or idempotency, but the most critical behaviors are transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler. The first sentence states the purpose, the second exposes the side-effect and review requirement, and the third packs actionable constraints. Information is front-loaded and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex operation with 10 parameters, nested objects, no output schema, and no annotations. The description covers key constraints but omits semantics for leaseToken, expectedVersion, idempotencyKey, claims, and unresolved, and doesn't explain the subsequent workflow (e.g., which tool to use for review). It is not complete enough for an agent to invoke correctly without opening the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only adds meaning to artifactRefs (must belong to taskId, no child-task artifacts), summary (500 char max), and usage (include when known). The remaining seven parameters—leaseToken, expectedVersion, idempotencyKey, taskId, workerId, claims, unresolved—receive no explanation, leaving the agent to infer their roles from names and schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb and resource: 'Submit a worker result as candidate only.' It immediately distinguishes itself from finalization tools by stating 'a different reviewer must check it' and clarifies it closes the producer lease. This clearly separates it from siblings like result_check or task_commit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: this is for candidate submission that requires review, not final commit. It gives actionable guidance like 'artifactRefs must belong to this taskId' and 'call artifact_put on the same task first.' However, it does not explicitly name sibling tools as alternatives, which would make the routing even clearer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

result_verifyVerify checked resultC

Apply the second evidence gate to a checked result. Approval produces verified, not committed.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesYes
taskIdYes
approvedYes
reviewerIdYes
evidenceRefsNo
idempotencyKeyYes
expectedVersionYes

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden for behavioral disclosure. It only says 'Approval produces verified, not committed,' which hints at the workflow but fails to disclose idempotency details, version conflict handling, or side effects. This is inadequate for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste. But each sentence is concise without being thorough. It is not overly long, but the brevity leaves out critical context. Front-loaded information is adequate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A relatively complex workflow with 7 parameters, no annotations, and no output schema. The description is too sparse to guide an agent on correct invocation. It lacks context on expected versions, idempotency, and reviewer assignment. It feels like a placeholder.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for all 7 parameters. It does not mention any parameters, so the meaning of `evidenceRefs`, `expectedVersion`, or `idempotencyKey` is not clarified. Baseline for zero coverage and 7 params should be lower than 3, but the schema itself has descriptive names and types. Still, the description adds no value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool applies a second evidence gate to a checked result, which is specific about the resource and action. However, it could be clearer about what 'verify' means in contrast to 'check' and 'commit' among sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The phrase 'second evidence gate' implies a sequential step after checking, but there is no mention of when not to use it or alternatives like result_check or task_commit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_allocateAllocate taskB

Allocate a policy-checked work package before native spawn_agent. Put the returned task_id into the child's prompt. Root role depends on mission.strategy: fanout/director_plan/pipeline require Terra; direct allows one root Luna. fanout Terra objective max 2000 characters.

ParametersJSON Schema
NameRequiredDescriptionDefault
riskYes
roleYes
modelYes
budgetNo
actorIdYes
maxEffortNo
missionIdYes
objectiveYes
allowedToolsNo
dependenciesNo
doneCriteriaYes
outputSchemaNo
parentTaskIdNo
capabilityPackYes
idempotencyKeyYes
reasoningEffortYes
parentLeaseTokenNo
inputArtifactRefsNo
expectedParentVersionNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It adds useful behavior about policy-checking, returned task_id usage, and root role constraints (Terra vs Luna). However, it does not disclose idempotency semantics, permission requirements, side effects, or failure behavior, which are significant for a mutation-like allocation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly written in four short sentences, all carrying useful information. It front-loads the primary action, then gives follow-up behavioral workflow, then adds role/strategy constraints. There is no filler, redundancy, or over-explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a high-complexity tool (19 parameters, 10 required, zero schema descriptions, nested objects, no output schema) and the description is far from sufficient on its own. It covers a small fraction of the required calling contract and leaves too many required fields—ID security keys, done criteria, risk, capability pack, budget options—without any guidance. The description's useful hints are not enough to make the tool minimally callable for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only adds semantic value for a few parameters: objective has a 2000-character constraint for fanout Terra, role/model depend on mission.strategy, and the task_id return value is described. Most required parameters such as actorId, idempotencyKey, doneCriteria, risk, capabilityPack, and reasoningEffort are left entirely unexplained by the description, which is critical in a 19-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Allocate a policy-checked work package before native spawn_agent.' It also clarifies the tool's role in the lifecycle by saying the returned task_id should be placed into the child's prompt. It does not explicitly differentiate itself from sibling tools like task_claim or task_start, but the 'before native spawn_agent' constraint gives a clear role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use context: it must be called before native spawn_agent and the returned task_id must be placed into the child's prompt. It also provides situational guidance based on mission.strategy and fanout Terra objective limits. It does not explicitly rule out alternatives or list when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_blockBlock taskC

Record a blocking dependency while retaining the lease. Continue heartbeats or release the task.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYes
taskIdYes
workerIdYes
leaseTokenYes
idempotencyKeyYes
expectedVersionYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must fully disclose behavior. It mentions retaining the lease and hints at heartbeats or release, but it does not explain side effects such as state changes, whether the blocking dependency is recorded in a persistent way, or any implications for the worker or task. This is insufficient for a tool that mutates task state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is extremely brief—two sentences with no fluff—which is positive for conciseness. However, the wording is cryptic and fails to convey essential information clearly. It reads more like a placeholder than a well-structured explanation, so it does not earn a high score despite its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 required parameters, no annotations, and no output schema, this description is severely inadequate. It does not explain the meaning or purpose of the parameters, the expected response, or any prerequisites. This leaves an agent without enough context to safely or correctly invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention any of the six required parameters (taskId, workerId, leaseToken, expectedVersion, idempotencyKey, reason). The schema provides only basic types and constraints; the tool's description adds zero semantic meaning about how these parameters are used or their roles in the blocking action.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it 'Record a blocking dependency while retaining the lease,' which indicates a specific action distinct from releasing or failing a task. However, the phrase 'Continue heartbeats or release the task' is ambiguous, making it unclear whether the tool itself executes those actions or offers instructions. This muddies the primary purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is given on when to use this tool versus alternatives like task_release or task_fail. The mention of 'retaining the lease' implies a scenario where the lease must be kept, but there is no direct instruction about prerequisites or conditions that necessitate this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_cancelCancel taskA

Cancel a non-terminal task after its direct children are terminal. Child cancellation requires the running direct parent's version and lease token.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYes
taskIdYes
actorIdYes
idempotencyKeyYes
expectedVersionYes
parentLeaseTokenNo
expectedParentVersionNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses a prerequisite (parent's version and lease token) and the condition (children terminal), but does not explain what cancellation actually does (state change, reversibility, side effects) or mention permissions, idempotency, or failure behavior. It adds some value but leaves many behavioral aspects obscure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the core action, and contains zero filler. Every word contributes to understanding the precondition and the unique parameter requirement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 7 parameters, no annotations, and no output schema, yet the description is only a single line of conditions. It omits essential context such as the meaning of expectedVersion, idempotencyKey, actorId, and reason, and does not explain the effect of cancellation on the task hierarchy. It is far from complete for a complex lifecycle operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It only hints at two parameters (expectedParentVersion and parentLeaseToken) via 'direct parent's version and lease token', but it does not explain the other five required parameters (taskId, actorId, expectedVersion, reason, idempotencyKey) or their roles. This is insufficient given the high parameter count and lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Cancel') on a specific resource ('non-terminal task') with a clear precondition ('after its direct children are terminal'). It also mentions the unique requirement for parent's version and lease token, distinguishing it from sibling tools like task_fail or task_supersede.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool: only after direct children are terminal. However, it does not explicitly exclude cases (e.g., tasks with non-terminal children) or mention alternative tools, so it stops short of a full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_claimClaim taskB

Atomically claim a ready task using optimistic versioning. The returned lease token is required for worker mutations.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYes
workerIdYes
leaseSecondsNo
idempotencyKeyYes
expectedVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It adds useful behavior details: atomicity, optimistic versioning, and the lease token requirement. Still, it omits failure modes (e.g., version mismatch, task already claimed) and lease lifecycle behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action and packs in atomicity, versioning, and lease token guidance. Every word contributes meaning, with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and output schema, plus five parameters and a complex sibling group, the description is too sparse. It lacks failure semantics, idempotency behavior, lease expiration details, and explicit guidance on how this tool relates to task_allocate, task_start, and task_commit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it does not explain any parameter directly. 'Optimistic versioning' only implicitly hints at expectedVersion, and 'lease token' loosely relates to leaseSeconds. taskId, workerId, and idempotencyKey semantics remain undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('Atomically claim'), the resource ('a ready task'), and the mechanism ('optimistic versioning'). It conveys the core purpose distinctly from generic wording, though it does not explicitly differentiate itself from sibling tools like task_allocate or task_start.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Atomically claim a ready task' implies this is the step before worker mutations, and the lease-token requirement gives downstream context. However, it does not state when to prefer this over sibling tools or mention exclusions such as tasks not in ready state.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_commitCommit verified taskB

Commit a verified task after every direct child is terminal. This may unlock dependent tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYes
actorIdYes
idempotencyKeyYes
expectedVersionYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits, but it only mentions a possible side effect (unlocking dependents). It omits crucial details like whether the commit is destructive, permission requirements, failure modes, or how idempotency and versioning work, leaving significant gaps for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core action and condition, and contains no filler. Every word contributes essential information, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with four required parameters, no output schema, and no annotations, the description is far from complete. It explains the trigger but not the meaning of parameters, expected behavior, error states, or operational prerequisites, leaving an agent under-informed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description makes no reference to any of the four parameters (taskId, actorId, expectedVersion, idempotencyKey). The agent must rely solely on schema constraints, which lack semantic meaning (e.g., why expectedVersion is needed), so the description adds no parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Commit a verified task') and specifies a precondition ('after every direct child is terminal'), which distinguishes it from sibling tools like task_fail or task_cancel. It does not explicitly contrast with alternatives but is specific enough to convey its unique role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'after every direct child is terminal' provides explicit when-to-use context, and 'This may unlock dependent tasks' indicates a beneficial outcome. However, it does not state when not to use it or suggest alternatives, so it lacks exclusions but is clear on timing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_failFail taskA

Record a definitive worker failure, clear its lease, and charge final usage. Future sibling allocation counts actual failed usage instead of the full reservation.

ParametersJSON Schema
NameRequiredDescriptionDefault
usageNo
reasonYes
taskIdYes
workerIdYes
leaseTokenYes
idempotencyKeyYes
expectedVersionYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing side effects. It clearly states that this tool clears the lease and charges usage, and it explains the impact on future sibling allocations. It does not mention error handling or edge cases, but the core side effects are transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise, and to the point. It contains no redundancy or irrelevant information, making it an efficient and well-structured summary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives essential operation details but lacks broader context, such as prerequisites (e.g., must have an active lease), error scenarios, or how this fits into the overall task lifecycle. The mention of future sibling allocations provides some context, but it does not fully round out the operational picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no explanation of any of the 6 parameters (taskId, workerId, leaseToken, expectedVersion, idempotencyKey, reason) or the nested usage object. Although parameter names are self-explanatory, the schema coverage is 0%, and the description does not compensate by clarifying their roles or relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: recording a definitive worker failure, clearing its lease, and charging final usage. It also distinguishes this from other task actions by mentioning 'definitive' and the actual-usage accounting, which sets it apart from cancellation or release.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (for definitive worker failures) and contrasts it with the alternative of counting full reservation vs actual failed usage. However, it does not explicitly name alternative tools or provide a decision tree, so it falls short of a fully explicit usage guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_getGet taskC

Read the authoritative task version, lease, assignment, inputs, budget, and status before mutating it.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions reading an 'authoritative' version and a set of related entities before mutation, but it does not disclose auth requirements, mutability side effects, Didžiuliai: no annotations. Because low annotation coverage, full burden. It adds that there is a status (status-quo) but no detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no waste, with primary action 'Read ... task ... before mutating it' front-loaded. It gives a compact overview.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a single-parameter getter used before mutation in a workflow. But no output_schema, no annotation, no description of param details, absence of explicit sibling differentiation and mutation workflow context. Given many siblings and the mutation function, this is incomplete for a minimal contextual workload.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has one required parameter (taskId) with no description. There is 0% schema coverage, and the description does not explain parameter meanings, formats, or default behavior. No compensation in description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Read') and names the resource ('authoritative task version') but does not explicitly distinguish from sibling mutation tools. It lists several components (lease, inputs, budget status) before mutation, which adds scope clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternative guidance is given. The phrase 'before mutating it' implies a mutation workflow, but no alternatives or exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_heartbeatRenew task leaseA

Renew an active lease. Use this during long tool calls; an expired lease may be reclaimed by another worker.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYes
workerIdYes
leaseTokenYes
leaseSecondsNo
idempotencyKeyYes
expectedVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry behavioral disclosure. It mentions the consequence of an expired lease (reclaimed by another worker), which is useful. However, it does not disclose that this operation modifies state, bumps version, or handles idempotency, leaving some behavioral aspects implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no extraneous filler. Every word adds value, stating purpose and usage timing efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With six parameters, no annotations, and no output schema, the description is incomplete. It explains the core purpose but omits return values, error conditions, parameter semantics, and lifecycle details needed for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no parameter explanations. The tool has six parameters including leaseToken, expectedVersion, and idempotencyKey, but the description does not clarify their purpose or required formats, leaving the agent to guess.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renews an active lease, using a specific verb (renew) and resource (active lease). This distinguishes it from sibling tools like task_release, task_fail, or task_block, which handle other lifecycle actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use during long tool calls to prevent lease expiry, which is a clear when-to-use context. It does not name alternatives or exclusion conditions, but the context is unambiguous for an experienced agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_releaseRelease taskA

Return a leased/running/blocked task to ready when the current worker cannot continue. Include a concrete reason.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYes
taskIdYes
workerIdYes
leaseTokenYes
idempotencyKeyYes
expectedVersionYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility. It discloses the state transition ('to ready') and the need for a reason, but omits critical behavioral details like the invalidation of lease tokens, versioning implications, or idempotency guarantees. It adds some value but is not rich enough for a higher score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with purpose, and contains no redundant information. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 required parameters, no output schema, no annotations, 0% schema descriptions), this description is far too sparse. It omits concurrency control details, parameter semantics, and post-condition behavior, making it incomplete for an agent to use safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only explains the 'reason' parameter ('Include a concrete reason'), leaving taskId, workerId, leaseToken, expectedVersion, and idempotencyKey entirely unexplained. This is insufficient for an agent to correctly use the tool without additional assumptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Return a leased/running/blocked task to ready') and the specific condition ('when the current worker cannot continue'). This distinguishes it from sibling tools like task_fail or task_cancel, which have different state transitions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a concrete trigger condition ('when the current worker cannot continue'), but does not explicitly mention alternatives or when not to use it. The context is clear, but lacks the 'when-not' guidance that would earn a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_set_effortSet task reasoning effortA

Change model reasoning effort while a task is ready and unleased, within its recorded maximum. Child changes require direct-parent authority.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYes
taskIdYes
actorIdYes
idempotencyKeyYes
expectedVersionYes
reasoningEffortYes
parentLeaseTokenNo
expectedParentVersionNo

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the operation is a change (implying mutation), specifies preconditions ('ready and unleased'), a ceiling ('within its recorded maximum'), and an authorization requirement for child tasks. This adds value beyond the schema, though it omits details like idempotency handling or error behavior. No contradiction with annotations since none exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, and the key action is front-loaded. Every word contributes meaning (e.g., 'ready and unleased', 'recorded maximum', 'direct-parent authority'). This is appropriately concise for the information it conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This tool has 8 parameters, no output schema, and no annotations, so the description must provide substantial context. It covers only the main purpose and two constraints, but fails to explain critical aspects such as the meaning of 'unleased', the exact authority chain, the versioning requirements, and the expected behavior on failure. An agent with this sparse description would struggle to use the tool correctly without further inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it provides no parameter-level guidance. It does not even mention the 'reasoningEffort' parameter or clarify the meanings of 'taskId', 'expectedVersion', or 'idempotencyKey'. The schema itself lacks descriptions, leaving the agent to infer from parameter names and the enum values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb 'Change' and resource 'model reasoning effort', and adds scoping conditions ('while a task is ready and unleased, within its recorded maximum'). This clearly distinguishes it from sibling task tools like task_allocate or task_commit, which handle different aspects of task lifecycle.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear usage condition: the task must be ready and unleased, and child changes require direct-parent authority. It implies when to use this tool (when adjusting reasoning effort under these constraints) but does not explicitly mention alternatives or when not to use it, so it lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_startStart taskC

Move a leased task to running and establish its result producer.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYes
workerIdYes
leaseTokenYes
idempotencyKeyYes
expectedVersionYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of explaining side effects. It only states the state change without detailing concurrency controls, error conditions, or what 'result producer' entails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that conveys the core purpose without unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The minimal description fails to provide sufficient context about the task lifecycle, the role of lease tokens, expected versioning, or how this fits with sibling operations. The schema constraints are present but unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema lists 5 parameters with constraints but no descriptions. The description does not explain the meaning or purpose of any parameter, leaving the agent to infer from names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: moving a leased task to running and establishing a result producer. This is specific and distinguishes it from sibling tools like task_claim or task_allocate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide guidance on when to use this tool versus alternatives. It does not mention prerequisites, sequencing with other task lifecycle tools, or typical scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_supersedeSupersede failed taskB

Link a failed task to a viable sibling replacement for audit and closure. Child supersession requires direct-parent authority.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYes
taskIdYes
actorIdYes
idempotencyKeyYes
expectedVersionYes
parentLeaseTokenNo
replacementTaskIdYes
expectedParentVersionNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description bears the full burden for behavioral disclosure. It mentions the parent-authority constraint, but fails to disclose consequences like version checks, idempotency implications, side effects on the failed task or replacement, reversibility, or expected result behavior. This is a significant transparency gap for a mutating audit/closure operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and front-loaded with the action. Every clause adds useful meaning—the main purpose is stated immediately and the authority condition follows without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity—8 parameters, no annotations, no output schema, and a mutating operation—the description is far too terse. It leaves out preconditions (task state requirements, replacement viability), the meaning of versioning/idempotency fields, and what the tool returns or changes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 8 parameters with 0% description coverage, yet the description does little to explain them. It loosely maps 'failed task' and 'replacement' to taskId and replacementTaskId, and the parent-authority note hints at parentLeaseToken/expectedParentVersion, but actorId, reason, expectedVersion, and idempotencyKey remain unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the primary operation: linking a failed task to a viable sibling replacement for audit and closure. It distinguishes from sibling tools like task_fail or task_cancel by introducing the replacement concept, though 'sibling' is domain jargon and not fully elaborated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the context (a failed task with a replacement available) and states one specific precondition: child supersession requires direct-parent authority. However, it does not explicitly contrast this with alternatives such as task_fail, task_cancel, or task_release, nor does it provide when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.3.0
    • Changedmission_create3 fields changed
      • addedInput schema / properties / directorPlan
        Added value: +{
        +  "maxLength": 200,
        +  "type": "string"
        +}
      • addedInput schema / properties / portrait
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "ambiguity": {
        +      "enum": [
        +        "low",
        +        "medium",
        +        "high"
        +      ],
        +      "type": "string"
        +    },
        +    "coupling": {
        +      "enum": [
        +        "low",
        +        "medium",
        +        "high"
        +      ],
        +      "type": "string"
        +    },
        +    "parallelism": {
        +      "enum": [
        +        "low",
        +        "medium",
        +        "high"
        +      ],
        +      "type": "string"
        +    },
        +    "validator": {
        +      "enum": [
        +        "strong",
        +        "weak",
        +        "none"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "ambiguity",
        +    "coupling",
        +    "parallelism",
        +    "validator"
        +  ],
        +  "type": "object"
        +}
      • addedInput schema / properties / strategy
        Added value: +{
        +  "enum": [
        +    "direct",
        +    "fanout",
        +    "director_plan",
        +    "pipeline"
        +  ],
        +  "type": "string"
        +}
  2. 3 tool updatesv0.2.0
    • Addedchildren_status
    • Changedresult_submit_candidate1 field changed
      • changedInput schema / properties / summary / maxLength
        Previous value: -20000New value: +500
    • Addedresults_gate_and_commit
  3. 22 tool updatesv0.1.0
    • First observedartifact_get
    • First observedartifact_put
    • First observedbudget_report
    • First observedmission_close
    • First observedmission_create
    • First observedmission_get
    • First observedrecovery_snapshot
    • First observedresult_check
    • First observedresult_submit_candidate
    • First observedresult_verify
    • First observedtask_allocate
    • First observedtask_block
    • First observedtask_cancel
    • First observedtask_claim
    • First observedtask_commit
    • First observedtask_fail
    • First observedtask_get
    • First observedtask_heartbeat
    • First observedtask_release
    • First observedtask_set_effort
    • First observedtask_start
    • First observedtask_supersede

TDQS

B3.1/5.0

Scored across 24 tools

Disambiguation3/5

The tools are grouped by resource (mission/task/artifact/result) and most have clear roles, but several lifecycle transitions overlap: task_release, task_fail, task_cancel, and task_supersede all end or abandon work in subtly different ways, and result_check, result_verify, and results_gate_and_commit represent closely related review stages. Descriptions help, but an agent could still misselect the wrong transition for a given task state.

Naming Consistency4/5

The dominant verb_noun pattern (task_claim, task_start, mission_create, artifact_put) is consistent and predictable across the set. Minor exceptions like recovery_snapshot, children_status, and results_gate_and_commit break the pattern slightly but remain readable and understandable.

Tool Count3/5

24 tools is at the high end and feels heavy, even for a hierarchical orchestration server. The count is justified by the broad lifecycle, but several review/commit and task-failure tools could plausibly be consolidated to reduce selection overhead.

Completeness4/5

The tool set covers the full mission/task lifecycle, artifact storage, result verification gates, budget accounting, cancellation, failure handling, supersession, and recovery. Minor gaps remain, such as no general mission/task listing or dedicated result retrieval endpoint, but the core workflow has no obvious dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers