Skip to main content
Glama
IrisRainbowNeko

hierarchical-codex

hierarchical-codex

hierarchical-codex는 네이티브 Codex 서브에이전트를 위한 결정적(deterministic) MCP 제어 평면(control plane)입니다. Codex는 여전히 spawn_agent로 UI에 표시되는 Sol → Terra → Luna 스레드를 생성합니다. 이 프로젝트는 해당 스레드를 둘러싼 지속 상태, 정책 게이트, 예산, 아티팩트, 증거 워크플로, 복구 프로토콜을 제공합니다.

상태: 엔지니어링 MVP. 제어 평면, Codex 프로젝트 통합, 훅, 테스트, 운영 문서가 구현되어 있습니다. 모든 대상 App/IDE 배포에서 모델 가용성과 정확한 Codex 코어 버전을 검증하세요.

설계 선택

이 프로젝트는 하나의 명시적 경로를 따릅니다:

모델 주도 스폰; 코드 강제 제약.

Codex native execution plane
  spawn_agent / wait_agent / send_message / Subagents UI
                  |
                  | task_id in TaskEnvelope
                  v
TypeScript MCP control plane
  SQLite task ledger / leases / budgets / artifacts / evidence / audit
                  ^
                  |
Codex Skills + Profiles + Hooks
  orchestration policy / model-effort routing / spawn veto / stop checks

MCP와 훅은 네이티브 스레드를 생성하지 않습니다. Sol 또는 Terra 모델이 네이티브 spawn_agent를 호출합니다. 코드는 주변 워크플로를 검증하고 기록합니다.

Related MCP server: nexo-agent-server

구현된 기능

  • 낙관적 버전을 사용하는 미션 및 태스크 원장(ledger).

  • 직접 부모 역할 정책: Sol 디렉터 → Terra 코디네이터 → Luna 리프.

  • 모델/노력 매트릭스:

    • Sol: high, xhigh, max

    • Terra: xhigh, max

    • Luna: high, xhigh, max

  • 의존성 인지 준비 상태와 제한된 자식 할당.

  • 만료되는 작업자 임대, 하트비트, 해제, 안전한 회수.

  • 계층적 토큰, 비용, 벽시계 시간, 도구 호출, 자식 수 예산.

  • 콘텐츠 주소 지정 아티팩트 저장소와 제한된 읽기.

  • 후보 → 확인 → 검증 → 커밋 증거 게이트.

  • 생산자/검토자 분리.

  • 요청 해시 기반 멱등 돌연변이와 추가 전용 감사 이벤트.

  • 재시작 또는 컨텍스트 압축 후 복구 스냅샷.

  • 프로젝트 범위 Codex Skill, Agent 프로필, MCP 구성, 훅.

요구 사항

  • Node.js 22.5 이상. 개발에는 Node 26을 사용합니다.

  • Codex 수명 주기 훅용 Python 3.10 이상.

  • Codex 0.148.0 이상이 권장 프로덕션 기준이며, 네이티브 멀티 에이전트 도구, 커스텀 에이전트, MCP, 훅을 지원합니다.

  • 신뢰할 수 있는 Codex 프로젝트로 .codex/config.toml과 프로젝트 훅이 로드되어야 합니다.

빠른 시작

cd "/mnt/tools/others/codes/web project/hierarchical-codex"
npm install
npm run check
npm run doctor

그런 다음:

  1. Codex App, Codex CLI 또는 Codex VS Code 확장에서 이 저장소 루트를 엽니다. npm run doctor는 스킬을 ChatGPT에 설치하지 않습니다. App은 이 폴더를 작업 공간으로 사용해야 합니다.

  2. 프롬프트가 표시되면 프로젝트를 신뢰합니다. 신뢰하지 않은 프로젝트는 .codex 스킬을 숨깁니다.

  3. gpt-5.6-sol로 새 루트 대화를 시작합니다(스킬은 시작 시 로드됨).

  4. $를 입력하고 prism을 선택하거나 $prism <mission>을 호출합니다. 선택기가 비어 있으면 AGENTS.md가 여전히 루트 Sol에 지시합니다.

  5. Subagents UI에서 네이티브 자식 활동을, MCP 도구를 통해 지속 상태를 검사합니다.

VS Code Codex 확장 또는 CLI의 다른 폴더에서 전체 스택을 사용하려면 npm run build 후 npm run install:user를 실행하세요. docs/USER_INSTALL.md를 참조하세요. 이 저장소의 .codex/config.toml을 ~/.codex에 복사하지 마세요. Sol을 기본 모델로 고정하고 일반 서브에이전트를 차단하게 됩니다.

프로젝트 MCP 구성은 저장소 루트를 작업 디렉터리로 하여 node dist/cli.js를 실행합니다. 소스 변경 후 npm run build를 실행하세요.

개발 명령

npm run dev          # Run the stdio MCP server from TypeScript
npm run doctor       # Validate runtime and Codex integration files
npm run test         # Unit and integration tests
npm run typecheck    # Strict TypeScript checks
npm run lint         # ESLint
npm run format       # Prettier
npm run build        # Compile dist/
npm run check          # Full local quality gate
npm run install:user   # Install skill, agents, hooks, and MCP into ~/.codex
npm run doctor:user    # Verify the user-global install
npm run uninstall:user # Remove the managed user-global files

MCP 서버는 프로토콜 메시지를 stdout에 씁니다. 애플리케이션 로깅은 stderr를 사용해야 합니다. stdout 로깅은 stdio MCP 전송을 손상시킵니다.

런타임 상태

기본적으로 상태는 프로젝트 로컬이며 Git에서 무시됩니다:

.hierarchical-codex/
├── control-plane.sqlite
└── artifacts/
    └── <sha-prefix>/<sha256>

사용자 전역 설치(npm run install:user)는 원장을 ~/.local/share/hierarchical-codex/에 저장하여 Codex MCP 샌드박스가 쓸 수 있게 합니다. 해당 디렉터리에 쓸 수 없으면 서버는 임시 경로로 폴백하고 선택한 홈을 stderr에 기록합니다.

구성 환경 변수:

  • HIERARCHICAL_CODEX_HOME

  • HIERARCHICAL_CODEX_DB

  • HIERARCHICAL_CODEX_ARTIFACTS

  • HIERARCHICAL_CODEX_MAX_ARTIFACT_BYTES

  • HIERARCHICAL_CODEX_DEFAULT_LEASE_SECONDS

  • HIERARCHICAL_CODEX_MAX_LEASE_SECONDS

  • HIERARCHICAL_CODEX_EVENT_PAGE_SIZE

MCP 도구

미션:

  • mission_create

  • mission_get

  • mission_close

태스크 및 임대:

  • task_allocate

  • task_get

  • task_claim

  • task_start

  • task_heartbeat

  • task_release

  • task_block

  • task_fail

  • task_cancel

  • task_supersede

  • task_set_effort

  • task_commit

아티팩트 및 증거:

  • artifact_put

  • artifact_get

  • result_submit_candidate

  • result_check

  • result_verify

회계 및 복구:

  • budget_report

  • recovery_snapshot

계약은 docs/API.md, 오케스트레이션 시퀀스는 docs/PROTOCOL.md를 참조하세요.

저장소 구조

.agents/skills/             Codex orchestration Skill
.codex/agents/              Sol/Terra/Luna custom profiles
.codex/hooks/               Python policy gates
.codex/config.toml          MCP and native agent configuration
src/domain/                 State and policy definitions
src/infra/                  SQLite repository and artifact storage
src/mcp/                    MCP tool registration
tests/                      Control-plane, policy, and hook tests
docs/                       Architecture, protocol, operations, ADRs, records

중요한 경계

  • 외부 MCP 코드는 내부 네이티브 spawn_agent 레지스트리를 호출할 수 없습니다.

  • 훅은 컨텍스트를 거부, 재작성 또는 추가할 수 있지만 SubagentStart는 생성 후 서브에이전트를 막을 수 없습니다.

  • 네이티브 UI 상태는 관찰용입니다. SQLite가 지속 워크플로 소스입니다.

  • 이 MVP는 단일 호스트입니다. SQLite는 돌연을 직렬화하지만 분산 합의 시스템은 아닙니다.

  • 토큰 사용량은 에이전트/호스트가 보고합니다. MCP 서버는 모델 토큰을 독립적으로 측정할 수 없습니다.

  • 저장소는 현재 UNLICENSED입니다. 외부 배포 전에 명시적 라이선스를 추가하세요.

문서

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

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A durable MCP control plane for starting, observing, steering, continuing, cancelling, and handing off long-running coding agents, with bounded MCP calls and persistent worktrees.
    5 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Retired snapshot of the former 15-tool Apache-2.0 beta. Use Living Stack Community for the free seven-tool proof edition; Complete Local is the paid runtime with memory, recovery, signed traces, release verification, and multi-agent workflows.
    14
    Apache 2.0