Skip to main content
Glama

AIWorkHub

Proof, from this repository's own history:

  • 1,984 commits since 2026-07-20, written through its own task loop

  • 347 work cards accepted into its own tree

  • 651 times a worker's change was sent back with code-level findings

  • 621 independent reviewer passes

  • 620 test files, about 262k lines of Python

What makes it different:

  • Semantic edit: workers change hash-verified line ranges, never rewrite whole files.

  • Review loop: mechanical gates and tests run first, then an independent reviewer reads the code; the manager accepts, returns with findings, or blocks — the same turn.

AIWorkHub task and review loop

Quick start: VS Code

  1. Install from the VS Code Marketplace or download the VSIX from the latest GitHub release and run code --install-extension ./aiworkhub-<version>.vsix.

  2. Open a Git repository and run AIWorkHub: Open Dashboard.

  3. Choose Initialize AIWorkHub once. Initialization is explicit and idempotent: it creates .aiworkhub/, starts the first Source Graph index and keeps it fresh. The extension runs on Linux, macOS, native Windows, WSL and the Remote-SSH workspace host.

  4. Open a new Codex, Claude or other MCP-capable chat after initializing (or upgrading) AIWorkHub. The new chat performs tool discovery, finds the repository MCP tools and receives the MCP Manager Contract banner. Claude Code also reads the repository-local .mcp.json registration and AIWorkHub-managed CLAUDE.md block: direct Claude chats must bootstrap as managers and use Source Graph before broad built-in file discovery. They are not worker sessions.

The prompt below is a portable first-run diagnostic for clients that do not automatically honor repository instructions; it is not required in a correctly initialized new Claude Code chat:

Use AIWorkHub as the manager for the currently bound repository.
First call aiworkhub_manager_bootstrap, then verify repository identity,
manager route, callback health, Source Graph readiness and model preflight.
Recover relevant Session Manager state and make one bounded AI Memory query.
Do not edit files, create tasks or launch workers yet. Report what is ready,
what is degraded, and which repository you are authorized to manage.

The response should identify the same repository shown in the dashboard and report role=manager with a verified route. If it reports an unverified role, the wrong repository, no tools, or a stale runtime version, stop and use AIWorkHub: Restart MCP Connection or open a fresh chat. Do not ask the model to bypass the route or write directly to .aiworkhub databases.

Now describe the outcome in ordinary language. A useful second prompt is:

Plan this outcome with AIWorkHub: <describe the change and constraints>.
Inspect the repository with Source Graph, create bounded dependency-aware
task cards with exact acceptance criteria, allowed writes and validation,
then launch every independent non-colliding ready task in parallel on the
best available models. Keep dependent or overlapping work pending. When a
callback arrives, independently review evidence and accept or reject it.
Give me a short progress report after each accepted wave.

You do not need to name a model. Preflight and Workforce expose the models already authorized in the editor, and the manager chooses a route from live readiness and observed outcomes. Name a model only when you intentionally want to override automatic routing.

Understand the task lifecycle

State/action

Meaning

Owner

task_create → pending

A durable card exists; no model is running yet

Manager

claim + launch → processing

The exact dependency-ready card was claimed and its worker process started

AIWorkHub runtime

review_ready

Worker stopped and submitted diff/tests/logs/artifacts/tool receipts

Worker

callback

Wakes the repository's current verified manager; it is not approval

AIWorkHub callback bridge

accept or reject

Promote verified work, or preserve evidence and issue exact residual work

Manager

Never move a card to processing merely because it is pending, and never infer completion from chat prose. The canonical task receipt is state truth. All review and terminal categories are callback-eligible. If a connection drops after a write, reconcile the same task ID; identical retries are idempotent, while inventing a replacement ID creates duplicate work.

First task workflow

  1. Confirm Preflight is ready and lists at least one editor model or authenticated CLI route. Optional/redundant unavailable routes do not block the repository.

  2. Ask the manager chat for a bounded task. The canonical card records the objective, acceptance criteria, dependencies, write scope and validation.

  3. Launch the exact card. The worker uses repository-local Source Graph and durable context inside an isolated task workspace.

  4. Follow Live Output or wait for the durable terminal callback.

  5. In Review, inspect the diff, tests, logs, artifacts and tool receipts. Accept to promote the verified change, or reject with exact residual work.

For ongoing work, ask the manager: Inspect the completion inbox, finalize all review-ready tasks from verified evidence, rebase the task DAG, and launch the next dependency-safe parallel wave. Workers never finalize their own work.

The dashboard's Operations dialog explains real tool use, Source Graph modes, model outcomes, latency, token/cost evidence, callback delivery and storage retention. See the complete user guide for multi-repository, Remote-SSH and troubleshooting flows.

Current public channels: VS Code Marketplace and signed-by-checksum GitHub Release artifacts (VSIX, wheel and source distribution). Marketplace review can briefly lag a new GitHub tag; the release page and attached SHA256SUMS remain the exact artifact authority. Open VSX and PyPI jobs remain opt-in; see Publishing for owner setup.

Related MCP server: Agent Delegation MCP

Quick start: any MCP client

AIWorkHub speaks MCP over stdio, so any MCP client can run it against a repository.

Option A: uvx. Add the server to your client's MCP configuration (until the PyPI package is published, use the release wheel: "args": ["--from", "/path/to/aiworkhub-<version>-py3-none-any.whl", "aiworkhub"]):

{
  "mcpServers": {
    "aiworkhub": {
      "command": "uvx",
      "args": ["aiworkhub"],
      "env": {
        "AIWORKHUB_REPO_ROOT": "/path/to/your/repo"
      }
    }
  }
}

Option B: Docker. Build the image from an AIWorkHub checkout, then run it from the repository you want managed:

docker build -t aiworkhub-mcp .
docker run -i --rm -v "$PWD:/workspace/repo" aiworkhub-mcp

The image defaults to AIWORKHUB_REPO_ROOT=/workspace/repo with writes and launches off. See Configuration to change either.

Features

  • Use models as a portfolio. Keep frontier models for difficult judgment, route bounded throughput to lower-cost capable models, and use deterministic tools where no model is needed.

  • Delegate safely. Dependency-aware tasks run in bounded workspaces with explicit write scopes, timeouts and cancellation.

  • Review evidence, not claims. Diffs, tests, tool-use receipts, artifacts and approval history travel with every task.

  • Keep repositories isolated. Every repository owns its .aiworkhub/ state, callbacks, indexes, memories and audit trail.

AIWorkHub is an open-source control plane for multi-model AI coding agents. Codex, Claude, Copilot, DeepSeek and GLM are not products it tries to replace; they are execution routes in its workforce. It supplies the repository-scoped planning, context, isolation, evidence, review and economics layer that lets expensive and economical models work together as one system.

Area

Current capability

Tasks

Dependency DAG, collision checks, isolated workers, truthful terminal states and manager review

Context

Repository-scoped Session Manager, AI Memory and KB read/write MCP tools

Quality

Deterministic verification, combined-tree validation, diff-scoped multi-language Known Bug Scanner, truth-preserving SARIF 2.1.0 export and configurable evidence gates

Operations

KPI charts, Review Inbox, callbacks, live output, authenticated all-tool telemetry, bounded logs, reversible task/archive retention and workforce scoring

Platforms

Linux, Windows, macOS and Remote-SSH release qualification

The KPI view separates explicit manager decisions from worker terminal outcomes and plots only bounded repository evidence. Its larger aggregate-only history shows Source Graph modes, workflow stages, latency, inter-call gaps, returned structural evidence, index generations, tool-use cohorts, deterministic raw-path-versus-delivered-bundle byte economics, authenticated receipt conformance, repeated-query discipline, compact-replay bytes and imported runtime coverage. The repository also ships registry-driven retrieval precision, eval-artifact truth, per-test suite profiling, risk precision, no-net-growth and matched A/B instruments. This is structural evidence, not a token multiplier. Every rate carries its sample window or denominator; token savings and causal quality gains are deliberately not inferred. Inter-call gaps at or above the bounded 15-minute informational threshold are surfaced, but never mislabeled as proof that a model was inactive.

The canonical combined review surface is aiworkhub_completion_inbox. Tool availability and write authority are reported by the live MCP runtime; clients should discover the schema rather than copy a frozen tool list from docs.

Archive and storage lifecycle

AIWorkHub does not require repositories to keep task history forever. The Storage view can preview archived tasks older than 30, 90, 180 or 365 days, move an exact digest-bound batch into repository-local quarantine, restore it during a seven-day undo window, and separately purge expired quarantine payloads. Tasks with undelivered callbacks are protected, active/review tasks cannot enter this cleanup path, and a compact audit record survives payload purge. Individual completed tasks can also be archived or restored from the task detail view.

Retention defaults are repository-local and configurable in Settings. Preview never mutates data; quarantine and permanent purge require separate explicit confirmation.

Three layers of model economics

Lever

What AIWorkHub changes

User benefit

Current evidence boundary

Token efficiency

Source Graph discovery, bounded reads, focused context and replacement-only semantic edits

Less avoidable input and code-generation output on eligible work

31,998 file bytes versus 531 replacement bytes is a verified 60.26× code-output shape ratio; total provider-token multiplier remains unmeasured

Model-mix efficiency

Routes bounded throughput to lower-cost capable models and reserves premium models for hard judgment or review

The same useful workload can consume fewer expensive-model tokens even when total tokens are unchanged

In one 36-run Claude cohort, Opus was 19% of tokens but 42.9% of known cost; quality-adjusted cross-model savings are the next required measurement

Attempt efficiency

Separates launch, validation, timeout and review failures so residual work can be repaired instead of blindly repeated

Fewer expensive retries and clearer reasons for rework

47 of 114 historical attempts were retries and used 88.31M tokens; this locates the opportunity but does not claim every retry was avoidable

These levers compound: reducing a task's unnecessary tokens and then running the remaining bounded work on a cheaper capable model can lower cost more than either optimization alone. Every saving still has to preserve validation and manager-accepted quality; a cheap failed run is not an economic success.

Where AIWorkHub sits

Layer

Examples

Relationship to AIWorkHub

Repository control plane

AIWorkHub

Owns task truth, dependencies, routing, context authorities, isolation, evidence, callbacks, review and economics telemetry

Supported execution workforce

Codex, Claude, Copilot-hosted models, DeepSeek, GLM

Models and agent runtimes AIWorkHub coordinates; they are not competitors

Adjacent context/edit tooling

Graphify, Serena and similar graph or semantic toolkits

Complementary ideas/capabilities; they do not provide the same complete repository control loop

Standalone coding-agent products

Aider, Cline and similar clients

Alternative execution experiences, not the same product layer

Actual alternative today

Manual multi-chat coordination or custom in-house glue

The workflow AIWorkHub replaces: copy/paste context, hand-managed worktrees, retries and review state

Source intelligence and durable context

AIWorkHub has two graphs with different authority. They are complementary, not alternate names for the same feature.

Surface

What it represents

Who uses it

Source Graph

An automatically refreshed structural index with 34 configurable code/data/documentation families and exactly 37 bounded query modes, including exact-target file, function, class, body, bodygrep and deps modes, used to return repository context instead of repeatedly scanning the tree

Managers and workers

Manager Context Graph

An opt-in, append-only ledger and deterministic graph of manager conversation evidence across repository, thread, session and task identities

Verified managers only

The Manager Context Graph can search an earlier decision, recover the exact bounded transcript range around it and follow deterministic relations to its thread, session or task. It does not replace Session Manager (current state and handoffs), AI Memory (durable lessons), KB (curated project knowledge), or the Source Graph (code intelligence). Current passive capture supports completed Codex user/assistant messages; reasoning, streaming deltas, tool output, commands and approvals are excluded. Claude and Copilot capture adapters are not yet claimed as shipped.

For existing-file changes, the worker can stay on a focused path end to end. Source Graph body returns one bounded symbol with exact line evidence; the model emits only replacement code; AIWorkHub's local Python applier verifies the complete-file preimage, the prepared fragment, write scope and range before changing the isolated worktree. Full-file output remains available only as a legacy fallback or for genuinely new files. Receipts report file, fragment and replacement bytes, but do not turn those byte counts into an invented token savings multiplier. Text-only and native VS Code LM providers can submit these fragments one at a time; the local bridge validates hashes and overlaps, retains no workspace mutation during staging and assembles the final response offline.

AIWorkHub reports context evidence rather than making an unverifiable savings claim: requested/delivered bytes, acknowledged tool receipts, truncation and degraded reasons remain distinguishable. See the Source Graph guide, Manager Context Graph and Source Graph economics for the contract.

Measured benefits and limits

The checked-in benchmark ledgers are recomputed in CI and include favorable, negative and still-unmeasured results. Missing populations are shown as not_configured, inconclusive or unknown; they never become zero or a synthetic savings multiplier.

Evidence

Current observation

Status

Focused-edit paired pilot

Historical capped A/B observation: 27.5% fewer total tokens, 24.9% fewer output tokens and 21.5% less elapsed time across two pairs, but pair 1 used mismatched 20k/200k token ceilings

Not eligible for a causal or product-savings claim; uncapped matched rerun required

Authenticated edit shape

531 replacement bytes for 31,998 existing-file bytes (1.66%; 60.26× structural ratio), with zero old bytes re-emitted

Verified reduction in emitted code payload when a full-file baseline applies; not a 60.26× claim for the complete provider bill

Current Source Graph gate

7/7 gated tasks used live graph evidence; 13 calls, 0 failures; p50 15.024 ms

Verified runtime snapshot

Callback durability

271 events, zero dead letters and zero backlog

Verified runtime snapshot

Context Bundle v2 encoding

One same-evidence representative fixture shrank from 849 to 600 bytes (29.329%)

Verified structural fix; live fleet remeasurement pending

See Benchmarks for the full evidence matrix, denominators, adjacent-tool capability boundaries, raw ledgers and the promotion gate required before publishing any universal savings claim.

Supported models

AIWorkHub routes by runner family and adapter. Editor routes use models already visible in VS Code; CLI routes reuse that CLI's own authenticated session. AIWorkHub does not copy editor or CLI credentials.

Runner family

Supported route

Install requirement

Credential

codex_*

codex_cli or VS Code LM

Codex CLI/extension, or a VS Code LM provider

Existing Codex login, or one-time VS Code model consent

claude_*

claude_cli or VS Code LM

Claude Code CLI/extension, or a VS Code LM provider

Existing Claude subscription login, or one-time VS Code model consent

deepseek_*

DeepSeek V4 Pro/Flash through VS Code LM; Copilot CLI BYOK fallback

DeepSeek-capable VS Code provider; fallback requires GitHub Copilot CLI

VS Code model consent; fallback uses aiworkhub-deepseek-credential set

glm_*

GLM 5.3 through VS Code LM; Copilot CLI BYOK fallback

GLM 5.3 visible in VS Code; fallback requires GitHub Copilot CLI

VS Code model consent; fallback uses python -m aiworkhub.glm_credentials setup

copilot_*

Public VS Code Language Model API

GitHub Copilot extension

GitHub sign-in and one-time model consent

Exact model availability is discovered at runtime because subscriptions and editor model catalogs differ. The editor broker starts automatically, performs credential-free discovery and asks for consent only when an exact queued task first invokes that model. In Remote-SSH, the workspace extension uses VS Code's Language Model API to consume the model catalog exposed by the client window; it does not look for a second provider credential on the SSH host. The dashboard keeps models visible in the editor separate from execution routes.

Configuration

The MCP server reads these environment variables. Writes and launches are off unless you turn them on.

Variable

Default

Purpose

AIWORKHUB_REPO_ROOT

Unset: the nearest .aiworkhub/project.json above the working directory within its Git repository, else that Git root

Repository the server binds to; when set it takes precedence over the working directory

AIWORKHUB_ALLOW_WRITES

0

Only the exact value 1 enables write tools

AIWORKHUB_ALLOW_LAUNCH

0

Only the exact value 1 enables worker launches, and launches also need AIWORKHUB_ALLOW_WRITES=1

AIWORKHUB_MAX_PROCESSES

4

Cap on workers running at once; values below 1 become 1 and values above 32 become 32

AIWORKHUB_PROVIDER_LAUNCH_LIMITS

opencode-go=1

Per-provider launch limits as provider=limit pairs, for example opencode-go=1,xai=2; listed providers override the default entry by entry

Enable writes and launches only in a trusted manager process. Launched workers never inherit the manager launch capability.

How it works

flowchart LR
    A[VS Code and MCP clients] --> B[Repository-bound AIWorkHub runtime]
    B --> C[Plan DAG and task queue]
    B --> D[Source Graph]
    B --> E[Session, Memory and KB]
    C --> F[Isolated model workers]
    F --> G[Evidence bundle]
    G --> H[Manager review]
    H -->|accept or rework| C

The MCP server uses stdio only. Writes and process launches are independently disabled by default. Credentials stay outside the repository, callback events are durable and repository state remains local.

The full block diagram and the Observe → Decide → Delegate → Verify → Promote → Learn loop: The whole system.

What's new in 0.12.66

  • A worker edits a line range in one call and is told up front which validation tests its card is missing and which preflight calls are still required; a Source Graph file query returns an exact line range, blocked cards get a read-only triage, the manager loop starts a fresh session at 100k context tokens, and an older build can no longer delete a worktree a newer build decided to keep.

  • The full release history is in CHANGELOG.md.

Continuous Audit as a Service (CAAS)

CAAS stands for Continuous Audit as a Service — AIWorkHub audits its own repositories continuously, as a service of the normal lifecycle rather than a step someone remembers to run. The canonical protocol is docs/CAAS_PROTOCOL.md. aiworkhub.caas_enforcement checks the protocol's automatically-enforceable properties on every guarded lifecycle transition, so a repository cannot drift out of compliance silently; aiworkhub.audit_system runs read-only, narrow-scope review passes that emit structured findings into NeedFix with provenance.

Naming correction. The expansion "Continuous Automated Assurance System" is wrong; the owner-canonical expansion is Continuous Audit as a Service. That incorrect wording lives in the separate UltrafastSecp256k1 README and cannot be fixed from this repository — it must be corrected in that repository.

Security

  • stdio transport; no AIWorkHub HTTP listener;

  • separate AIWORKHUB_ALLOW_WRITES and AIWORKHUB_ALLOW_LAUNCH gates, both off by default;

  • shell-free exact-task process launch and bounded workspaces;

  • owner-only credentials outside repositories and secret-redacted logs;

  • append-only audit evidence and authenticated tool-use receipts;

  • fail-closed repository, manager, task and claim-episode identity checks.

Read SECURITY.md before enabling autonomous launches. Callback delivery and its optional Codex compatibility transport are documented in Callback delivery.

Development

python -m pip install -e ".[dev]"
ruff check src/aiworkhub scripts tests
mypy
python -m pytest -q
npm --prefix vscode-extension install
npm --prefix vscode-extension test

From a clone, pip install -e . and AIWORKHUB_REPO_ROOT=/path/to/repository python -m aiworkhub.server run the same stdio MCP runtime. Contributions follow the Contributing Guide.

Acknowledgements

Thanks to null0xxx for sharing kimi-atlas and useful ideas about multi-agent orchestration and evidence-driven verification.

AIWorkHub is open source under the MIT License.

Available Tools

213 tools
aiworkhub_agent_accept_previewA
Read-only

READ-ONLY: what would block accept_review right now, before any work.

Measured 2026-09-08: 49 of 159 accept attempts (31%) failed on a blocker that was knowable in advance -- a required lens still running, a target not yet review_ready, an approval not given -- but only after the combined tree had been materialized and two validation runs paid for. This folds exactly those cheap blockers and writes nothing.

A clear preview is NOT an acceptance and NOT a promise of one. The expensive half -- combined tree, declared validations, mechanical gate, reviewer receipt verification by request id -- runs only in accept_review and can still refuse. blocked False means only that nothing cheap is refusing yet. Leave requested_risk_tier unset to read the tier the finalizer measured; an explicit value can only raise it.

NameRequiredDescriptionDefault
task_idYes
request_idYes
confirm_high_riskNo
requested_risk_tierNo
reviewer_request_idsNo
confirm_destructive_changeNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, and the description adds real depth: it writes nothing, names the cheap blocker set, gives the empirical failure rate, and carefully defines the semantics of `blocked` False as only 'nothing cheap is refusing yet.' It stops short of describing output shape or what happens on malformed inputs, but materially exceeds the annotation.

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?

Front-loads the read-only scoping and the core distinction in the first line, then adds the caveat about what a clear preview means. The measured 49/159 statistic is persuasive but somewhat heavy for a tool description; otherwise tight and well-structured.

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?

An output schema exists so return values needn't be described, and the description fully covers scope, safety, and the limits of the signal. The remaining gap is the undocumented confirmation and reviewer-request parameters, which an agent would have to guess at.

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% across 6 parameters, so the description must compensate and it only does so for one: `requested_risk_tier` is explained well (unset reads the finalizer's measured tier; explicit can only raise it). `confirm_high_risk`, `confirm_destructive_change`, and `reviewer_request_ids` are left entirely undocumented in both schema and description, so the compensation is partial.

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?

States a specific verb+resource ('preview what would block accept_review') and explicitly scopes it as the cheap, no-write half of the acceptance flow. The contrast with accept_review is unambiguous, so an agent can choose between them without opening either schema.

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?

Explicitly says to run this before accept_review, enumerates the blocker classes it checks (lens running, target not review_ready, approval missing), and warns that a clear preview is not an acceptance. It also states what it does NOT cover — tree materialization, validations, gate, receipt verification — which is exactly the exclusion guidance an agent needs.

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

aiworkhub_agent_accept_reviewA

COORDINATOR/WRITE-GATED: accept one review_ready request, phase 2.

Re-runs scope, required-output, and validation gates against the retained isolated worktree, compares every changed path's hash against the ones recorded when the request first reached review, and only then promotes into the canonical repo and finalizes the task as done. Any precondition or revalidation failure leaves the canonical repo untouched and the task in review. Idempotent: accepting the same already-finished request again returns already_accepted instead of re-promoting. Medium-and-higher risk profiles also validate a fresh canonical+candidate combined tree and require strict reviewer findings; high/critical review requires an explicit confirm_high_risk decision.

manager_correction -- unset by default, and every other behaviour is then exactly as before -- accepts the sealed candidate PLUS a manager patch instead of rejecting it: {"patch": <unified diff>, "finding_ids": ["reviewer:<lens>:<id>", ...], "reason": str}. It lifts the refinement_required blocker of each named finding that a selected reviewer reported and aiworkhub_agent_dispose_review_finding already recorded as confirmed, provided its severity is not blocking. The patch is validated before any promotion or state change and refuses with manager_correction_invalid:<reason> when the manager is unverified, the patch does not apply to the sealed candidate bytes, a touched path is outside the card's allowed_writes or not part of the candidate, no finding is named, or a named finding is unconfirmed or blocking. The declared validations and the mechanical gate then run on the CORRECTED bytes, those are the bytes promoted, and the accepted-outcome receipt binds the patch digest with the candidate and corrected hashes.

A successful reply is the receipt (aiworkhub.accept_review_receipt.v1): promoted_paths, reviewer_finalization, acceptance_evidence_record, accepted_outcome_receipt, needfix_closure, learning_commit_owed, plus the finalized card's status and card_sha256/card_bytes. include_card = none (default) | summary | full adds the card view. Errors are unchanged.

NameRequiredDescriptionDefault
task_idYes
request_idYes
include_cardNonone
risk_signalsNo
reviewer_reportsNo
confirm_high_riskNo
manager_correctionNo
requested_risk_tierNo
reviewer_request_idsNo
confirm_destructive_changeNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers: idempotent behavior returning already_accepted, failure semantics (canonical repo untouched, task stays in review), risk-tier validation requirements, confirm_high_risk gating, and manager_correction refusal modes with error-code shapes. Rich beyond any structured field.

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?

Front-loads the core action and scope before descending into the manager_correction branch. Dense but mostly warranted; a few clauses (e.g., the receipt field enumeration) are verbose though they do provide useful structure.

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

Completeness5/5

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

Given a mutation tool with no annotations, 10 params at 0% schema coverage, and an output schema, the description supplies the preconditions, side effects, idempotency, and error behavior an agent needs. The output schema covers returns, yet the description still names the receipt contents for clarity.

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% across 10 params, so the description must compensate. It thoroughly documents manager_correction's object shape, include_card values, and confirm_high_risk/risk-tier behavior, but leaves risk_signals, reviewer_reports, requested_risk_tier, reviewer_request_ids, and confirm_destructive_change unexplained.

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?

States a precise verb+resource+scope: 'accept one review_ready request, phase 2,' and details the promotion/finalization actions it performs. This clearly distinguishes it from siblings like aiworkhub_agent_accept_preview (phase 1) and aiworkhub_task_reject_review.

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?

Explains the precondition flow (re-run gates, compare hashes before promoting) and contrasts the manager_correction path against 'rejecting it.' However, it never explicitly names reject_review or accept_preview as alternatives with a clear 'use X when Y' rule, leaving some routing to inference.

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

aiworkhub_agent_cancel_taskC

DUAL-GATED: terminate one exact process group recorded by this server.

NameRequiredDescriptionDefault
reasonNoowner_cancelled
request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/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. 'Terminate' implies a destructive, likely irreversible operation, but the description never says whether the process is killed forcefully, what the two gates are, what happens if a gate fails, or whether authorization is required. 'DUAL-GATED' hints at a safeguard without disclosing its behavior.

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?

It is a single short sentence with the action front-loaded, which is efficient. But the terse 'DUAL-GATED' label consumes prime space with opaque jargon rather than information, so brevity here costs clarity.

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 destructive control-plane operation with no annotations and 0% schema coverage, the description leaves critical gaps: which task/process states are eligible, what the dual gate enforces, and what the effect on the recorded process group is. An output schema exists, so return values need not be described, but the operational contract is not.

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, yet it only alludes to a recorded request without explaining the required request_id format, whether it must reference a live process, or what the 'reason' field's default 'owner_cancelled' means or which values are accepted.

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 verb 'terminate' and resource 'one exact process group recorded by this server' give a recognizable action, and the past-tense framing distinguishes it from aiworkhub_agent_list_processes (a read). However, 'DUAL-GATED' is unexplained jargon that an agent cannot decode, and the scope phrase 'recorded by this server' is vague about which server/bookkeeping is meant.

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?

There is no statement of when to cancel versus when to retry, recover, or leave a task alone, even though siblings such as aiworkhub_agent_retry_finalization and aiworkhub_task_stale_recovery_recommend exist. No prerequisites, no mention of which task state permits cancellation.

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

aiworkhub_agent_collect_resultC
Read-only

READ-ONLY: collect bounded worker output and review-readiness evidence.

NameRequiredDescriptionDefault
request_idYes
max_log_bytesNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

The description's 'READ-ONLY' claim merely repeats readOnlyHint=true rather than adding context. It does not explain what 'bounded' means in practice (truncation, log-byte capping), what happens if output exceeds the bound, or what the collected evidence actually contains.

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?

A single front-loaded sentence with no filler, and the safety marker leads. It is efficient, though efficiency here partly reflects under-specification rather than disciplined editing.

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?

An output schema exists, so return values need not be explained, but with two undocumented parameters at 0% coverage and no usage or lifecycle context, the description leaves real gaps for an agent trying to call it correctly.

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 carry both parameters; it never mentions request_id at all, and only vaguely gestures at max_log_bytes through the word 'bounded'. An agent gets no format or semantics for the required identifier.

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?

Names a verb ('collect') and a resource ('worker output'/'review-readiness evidence'), so the general intent is inferable, but 'review-readiness evidence' is opaque jargon and nothing distinguishes it from adjacent tools like aiworkhub_agent_task_status or aiworkhub_agent_accept_preview.

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?

There is no statement of when to call this versus the many sibling agent/task tools, and no prerequisite or lifecycle context (e.g., after a worker completes). The only guidance is the 'READ-ONLY' prefix.

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

aiworkhub_agent_launch_taskA

DUAL-GATED: launch one exact local Claude/Codex worker process.

Requires both AIWORKHUB_ALLOW_LAUNCH=1 and AIWORKHUB_ALLOW_WRITES=1. The task card, runner, topic, pending state, allowed-write scope, collision guard, adapter, and process limit are all validated before a shell-free child process can start. timeout_seconds is retained only as non-enforcing compatibility metadata; this API never installs a provider wall-clock deadline.

runner, topic and adapter_id are optional because the server already owns them: the card carries runner and topic (the launcher refused any value that differed, so typing them asserted rather than decided), and the adapter is a pure function of the runner narrowed to the first pinnable, policy-allowed entry in canonical tuple order. Omit them and the reply's launch_identity_derivation records exactly what was derived; pass them and the explicit value wins and is validated as before. The manager identity codex is never a worker runner.

NameRequiredDescriptionDefault
modelNo
topicNo
runnerNo
task_idYes
adapter_idNo
owner_promptNo
timeout_secondsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the load well: it discloses the dual env gates, that it starts a shell-free child process, the full validation chain (task card, runner, topic, pending state, write scope, collision guard, adapter, process limit), and that timeout_seconds does not enforce a wall-clock deadline. It omits what happens on failure and the irreversibility of launching a live process.

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?

Front-loads the dual-gate constraint and the core action in the first sentence, then handles optional-parameter semantics in a compact block. A few parentheticals (e.g. the 'launcher refused any value that differed' aside) are denser than necessary but still informative.

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?

It references launch_identity_derivation in the reply, and an output schema exists so return values needn't be spelled out. But for a process-launching side-effecting tool with no annotations, gaps around model/owner_prompt meaning and failure behavior leave the picture incomplete.

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% across 7 parameters, yet the description explains the non-obvious ones (runner, topic, adapter_id optionality and derivation precedence, timeout_seconds being non-enforcing). It says nothing about model, owner_prompt, or task_id, so a third of the parameters remain undocumented anywhere.

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 specific verb and resource: 'launch one exact local Claude/Codex worker process' for a single task. That is clearly distinguishable from the read-only launch-queue siblings and from task-creation tools. It does not name alternatives explicitly, keeping it just short of a 5.

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?

It gives prerequisites (both AIWORKHUB_ALLOW_LAUNCH=1 and AIWORKHUB_ALLOW_WRITES=1) and explains when to omit vs pass runner/topic/adapter_id. However, there is no guidance on when to choose this tool over siblings like aiworkhub_task_queue_request or aiworkhub_launch_queue_evaluate_readonly, so usage is only implied.

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

aiworkhub_agent_list_processesC
Read-only

READ-ONLY: summarize latest processes; use detail='full' for legacy records.

NameRequiredDescriptionDefault
limitNo
detailNosummary

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so 'READ-ONLY:' is largely redundant repetition of structured data. The description does add two genuinely new behavioral facts — results are 'latest' processes and legacy records require the full detail mode — but says nothing about ordering, pagination, or result volume beyond the limit default.

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?

A single front-loaded sentence with the read-only guarantee first and the parameter caveat second. Compact with no filler, though the brevity is partly under-specification rather than efficiency.

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?

An output schema exists so return values need no explanation, and both parameters are optional with defaults, making a correct call possible. However, the agent still cannot tell what a 'process' record represents or when the legacy/full mode applies.

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 carries the full burden. It explains detail='full' (legacy records) but never contrasts it with the 'summary' default, and the `limit` parameter is completely unaddressed in both schema and description.

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?

States a verb and resource ('summarize latest processes'), but what a 'process' is in this system is never defined, and the name says 'list' while the description says 'summarize'. No sibling is named, even though the catalogue contains many list-style tools (aiworkhub_task_list, roadmap_list) that an agent could confuse it with.

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?

Only guidance given is a parameter hint ('use detail=full for legacy records'), not a when-to-use-this-vs-alternatives statement. No exclusions, prerequisites, or routing to any sibling tool are provided.

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

aiworkhub_agent_retry_finalizationA

COORDINATOR/WRITE-GATED: retry one retained finalization request.

The provider/model is never launched again. The exact successful worker request, retained workspace, task identity and supervisor exit receipt are revalidated before deterministic validation/finalization is re-entered. A validation failure is eligible only when its durable reason is the operational validation_exec_scratch_unavailable condition; ordinary product/test failures remain non-retryable. A scope_rejected request is eligible: the re-run repeats the scope check and reaches review_ready only if the retained delta is now in scope (NF-2026-01345).

validation_lane="manager_host" is the manager's explicit opt-in for a candidate whose declared validations failed only because the sandbox validation lane cannot execute them (NF-2026-01030). It makes any validation_failed/finalize_failed request whose retained candidate seal still verifies retryable, and re-runs the SAME declared commands with the validation route forced to the host backend. All pass -> the normal finalize path to review_ready; any failure -> validation_failed again, now with host receipts. The lane is never derived from candidate output. manager_host applies only to VS Code LM adapters: its forced backend is the editor-hosted one, which never runs a native CLI route outside its OS sandbox, so a request from a CLI adapter (e.g. claude_cli) is refused up front with validation_lane_forbidden_for_adapter:<adapter> before any event write or card transition, leaving the request and card unchanged (NF-2026-01645).

NameRequiredDescriptionDefault
task_idYes
request_idYes
validation_laneNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers rich detail: it states the provider/model is never relaunched, that prior artifacts are revalidated, that re-entry is deterministic, that the lane is never derived from candidate output, and that the refusal path writes no event or card transition. These are exactly the operational traits an agent cannot infer.

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?

The core operation is front-loaded in the first line, and every subsequent paragraph adds distinct eligibility or refusal detail. It is dense and jargon-heavy, but for a coordinator/write-gated tool with complex semantics, the length is largely earned.

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

Completeness5/5

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

Given no annotations, an output schema exists, and the tool is complex and write-gated, the description covers the call contract, eligibility gates, failure modes, adapter restrictions, and state-preservation guarantees. An agent has everything needed to decide whether to call it and what to expect.

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%, so the description must compensate. It explains the non-obvious `validation_lane` parameter in depth (opt-in for manager host, forced backend, adapter restriction) and implicitly explains `request_id` via 'retained finalization request' and `task_id` via 'task identity revalidated'. The only small gap is no explicit format hint for the two IDs.

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 specific verb and resource: 'retry one retained finalization request' with a 'COORDINATOR/WRITE-GATED' qualifier. An agent can tell it is a retry operation for finalization, but the description never names which sibling tools (e.g., aiworkhub_task_retry_terminal or aiworkhub_agent_accept_review) are alternatives, so sibling differentiation is missing.

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?

Explicitly defines when the tool is eligible: validation failures only for the `validation_exec_scratch_unavailable` condition, `scope_rejected` requests, and the `validation_lane='manager_host'` opt-in for VS Code LM adapters only. It also specifies when it is refused: CLI adapters get `validation_lane_forbidden_for_adapter:<adapter>` up front. This is unusually thorough 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.

aiworkhub_agent_task_statusA
Read-only

READ-ONLY: inspect one launched process and its authoritative task card.

detail="summary" (default) folds the card's baseline hash maps and evidence blobs, its terminal_failure/rework_predecessor/ template_provenance.expanded_contract, and its static contract text (objective/acceptance/validation/read_first/template_provenance/ project_context/forbidden/required_outputs/mandatory_changed_outputs) to {summarized, bytes, sha256} -- identity and lifecycle fields (task_id, title, status, substatus, runner, topic, request ids, allowed_writes count) stay exact. The latest event's validation/quality_gate/ worker_mcp_gate/token_budget/project_context fold the same way, without redundant field-name inventories. Repeated retry/reroute reasons and the minimality contract fold to identity; named artifact/delivery/review receipts retain status, errors and explicit observed/unknown flags alongside identity. Failure/liveness fields and usage metrics stay exact. The manager-authored bodies (review_feedback, recovery_feedback, history) fold the same way, and the reply carries card_sha256/card_bytes plus review_findings_count when the card records reviewer reports: measured avg 11 KB/call over 48 calls, max 33 KB (NF-2026-01447). "evidence" keeps all of the above exact (baselines still folded); "full" returns the raw status payload.

NameRequiredDescriptionDefault
detailNosummary
request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

readOnlyHint already covers the safety profile, so credit goes to the added context: which fields fold vs. stay exact per mode, the byte-cost measurement (avg 11 KB/call, max 33 KB) and the card_sha256/card_bytes receipt. The dense field-name inventory is hard to parse but materially describes response shape and volume beyond the annotation.

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?

Front-loading the READ-ONLY statement and the default mode is good. The middle is a single sprawling paragraph of internal field names (terminal_failure, template_provenance.expanded_contract, worker_mcp_gate) that is hard to scan and could be condensed into a compact per-mode list.

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?

An output schema exists, so return shape needn't be re-explained, yet the definition covers detail modes and folding well. It omits how to obtain request_id and any routing versus the many overlapping task-inspection siblings, leaving real gaps for an agent deciding whether to call this tool.

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 carries the full burden. It thoroughly characterizes the detail enum behavior across summary/evidence/full, but never explains request_id at all — neither its meaning nor where the agent obtains one — leaving the sole required parameter 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?

States a specific verb and resource: 'inspect one launched process and its authoritative task card', and the READ-ONLY prefix sets scope immediately. It does not explicitly contrast with near-siblings like aiworkhub_task_show or aiworkhub_dashboard_task_detail, so an agent must infer which inspector to use.

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 explains the three detail levels and their default, which is genuinely useful for choosing how much to request. It gives no guidance on when this tool is preferred over task_show, dashboard_task_detail, or agent_list_processes, and no preconditions for obtaining request_id.

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

aiworkhub_agent_tool_instruction_applyC

MCP-bound: apply using the server's active repository root.

NameRequiredDescriptionDefault
writeNo
providerYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.1/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 behavioral burden and does not meet it. It hints that the operation is bound to the server's active repo root (no path argument needed), but never says what files are modified, whether default behavior is a no-op/dry run, or that this mutates the working tree.

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?

A single short sentence with no padding, so it is structurally clean and front-loaded. However the brevity is under-specification rather than economy — there is simply nothing there to be concise about.

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?

An output schema exists, so return values need not be described. But for a mutation tool with zero annotations, 0% parameter coverage, and an ambiguous default-off `write` flag, the description is far too thin to let an agent call it safely or correctly.

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 two undocumented parameters and does not. The enum values are self-describing filenames, but the `write` boolean with default false — the single most consequential parameter (dry-run vs. real write) — gets no explanation in either schema or description.

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

Purpose2/5

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

The description leans on the name's verb 'apply' and only supplies a location ('the server's active repository root'), never stating what resource is being applied — agent instruction files (AGENTS.md / CLAUDE.md / copilot-instructions.md) into the repo. It reads as a restatement of the tool name plus a positional qualifier, so an agent learns little about the actual action.

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 when-to-use guidance and no mention of the obvious alternatives aiworkhub_agent_tool_instruction_preview or _inspect, which exist to preview the same change. The critical branch condition — that `write` defaults to false, implying a dry-run unless explicitly enabled — is never called out.

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

aiworkhub_agent_tool_instruction_inspectC

MCP-bound: inspect using the server's active repository root.

NameRequiredDescriptionDefault
providerYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.1/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It discloses the repository-root scope and that the operation is MCP-bound, but it does not state whether the inspection is read-only, what files are read, whether access requires permissions, or what the output contains.

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

Conciseness2/5

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

The definition is a single short sentence, which is concise, but it is under-specified rather than efficiently informative. The cryptic "MCP-bound" prefix does not compensate for the missing object of inspection.

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?

An output schema exists, so return values need not be explained. However, with no annotations, an undocumented provider parameter, and no differentiation from closely related preview/apply siblings, the description is not complete enough for an agent to select and invoke the tool confidently.

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 single required parameter, provider, has an enum of instruction-file names. The description never mentions the provider parameter, the enum values, or how provider selection affects the inspection, so it adds no meaning beyond the schema.

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 names an action, "inspect," and a scope, "the server's active repository root," but it does not state what is being inspected or why. The tool name implies agent instruction inspection, yet the description itself leaves the resource vague and does not differentiate it from sibling tools such as aiworkhub_agent_tool_instruction_preview and aiworkhub_agent_tool_instruction_apply.

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?

There is no explicit guidance on when to use this tool versus the related preview or apply tools. The description mentions the active repository root, implying context, but it provides no usage conditions, prerequisites, or exclusions.

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

aiworkhub_agent_tool_instruction_previewB

MCP-bound: preview using the server's active repository root.

Never accepts a caller-selected repo_root; always binds to core.repo_root(). The CLI may still target an owner-selected repository via --repo, but the MCP surface is pinned to the server's active repository. provider is an instruction-file target, not a model provider; its schema enumerates all valid filenames.

NameRequiredDescriptionDefault
providerNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It usefully states the repository-root binding behavior and the MCP/CLI scope difference, but it does not explicitly say whether the preview is read-only, has side effects, or requires permissions.

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?

The description is concise and front-loads the MCP-bound scope. The CLI comparison sentence is somewhat tangential but still reinforces the repository-root constraint rather than obscuring the main point.

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?

Because an output schema exists, return values need not be described. However, for an instruction-preview tool with no annotations, the definition should more clearly state what preview means and when it should be chosen over inspect/apply.

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 description adds important meaning beyond the schema by clarifying that `provider` is an instruction-file target, not a model provider, and by pointing to the schema for valid filenames. It does not explain the default/null behavior when `provider` is omitted, but it materially improves interpretation of the sole parameter.

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 implies a preview operation tied to instruction-file targets, but it never plainly states what is being previewed or what the tool returns. It also lacks explicit differentiation from sibling tools `aiworkhub_agent_tool_instruction_inspect` and `aiworkhub_agent_tool_instruction_apply`.

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?

There is no guidance on when to use preview versus inspect or apply, and no preconditions such as when to call it before applying changes. The MCP/CLI repository-root distinction is useful context but not usage guidance for the MCP agent.

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

aiworkhub_claude_callback_ackC

WRITE: acknowledge one exact callback batch returned to this same verified Claude manager session.

NameRequiredDescriptionDefault
batch_idYes
lease_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/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 behavioral burden, and it does disclose this is a WRITE. However, it never explains what acknowledging does (removes the batch from a queue? confirms processing?), whether it is idempotent, what failure modes exist, or what a lease_id represents, all of which are essential for a state-changing tool.

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?

A single tight sentence with a front-loaded 'WRITE:' action marker that efficiently flags the mutation semantics. It wastes no words, though the brevity contributes to its under-specification.

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?

An output schema exists so return values need not be described. But for a two-parameter mutation tool with zero annotation coverage and zero schema descriptions, the definition leaves the lease semantics, prerequisites, and effect of the call entirely unexplained.

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 and largely does not. 'One exact callback batch' loosely maps to batch_id, but lease_id — the more consequential parameter implying a lease/hold — is never mentioned, nor is any format or constraint given for either.

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 names a specific verb (acknowledge) and resource (a callback batch) and scopes it to a batch returned to this same verified Claude manager session. It is clearly distinguishable from the read-oriented aiworkhub_claude_callback_wait sibling, though it never names that sibling explicitly to route the agent.

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?

There is no explicit when-to-use or when-not-to-use guidance. The 'returned to this same verified Claude manager session' phrase weakly implies this follows a callback_wait, but no alternative, ordering, or prerequisite is stated, leaving the agent to infer the workflow.

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

aiworkhub_claude_callback_waitA

BLOCKING READ/CLAIM: wait for a callback for this verified Claude Code manager session. Acknowledge the previous batch by passing its batch_id/lease_id as ack_batch_id/ack_lease_id here, or call aiworkhub_claude_callback_ack; an unacknowledged lease is retried, never lost.

NameRequiredDescriptionDefault
ack_batch_idNo
ack_lease_idNo
timeout_secondsNo

Output Schema

NameRequiredDescription

No output parameters

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 disclosure burden and does so well: it flags that the call BLOCKS, that a prior batch is acknowledged via ack_batch_id/ack_lease_id, and that an unacknowledged lease is retried rather than lost. It still omits details such as what happens when timeout_seconds elapses or whether an empty ack is allowed.

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 tight sentences, front-loaded with the key blocking trait, and the acknowledgment mechanics follow immediately. Backticked identifiers aid scanning; nothing is redundant, though the 'BLOCKING READ/CLAIM' prefix plus 'wait' slightly overlaps.

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?

Because an output schema exists, return values need not be described, and the description covers the essential loop semantics (wait, ack, retry). The main gap is the unmentioned timeout_seconds parameter and any guidance on long-poll behavior across repeated calls.

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% across 3 parameters, so the description must compensate. It explains why ack_batch_id/ack_lease_id are passed (to acknowledge the previous batch) and where those values come from, but timeout_seconds is never mentioned despite a non-obvious default of 240.

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 ('wait for a callback') plus a scope ('for this verified Claude Code manager session'), and it names the sibling tool aiworkhub_claude_callback_ack, which distinguishes it from the closest alternative. The leading 'BLOCKING READ/CLAIM' label is somewhat ambiguous (is it reading or claiming work?), keeping it just short of 5.

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 gives clear context for when to invoke — waiting for a callback on a verified manager session — and names an alternative path for acknowledging (passing ack ids here, or calling aiworkhub_claude_callback_ack). It does not spell out when NOT to use this tool or how to choose between the two ack paths, so it stops short of the 5 bar.

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

aiworkhub_cli_adapter_audit_summary_readonlyB

Return a read-only summary of the write-gate audit log.

Delegates to core.read_audit_log (which never writes, never enables writes, never launches). Adds the read-only authority flags for a consistent contract shape. Env values are absent from audit entries by construction, so this output is safe to log.

NameRequiredDescriptionDefault
repoNo
max_entriesNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior4/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, and it does substantial work: it declares the tool never writes, never enables writes, never launches, and that env values never appear in entries so output is safe to log. What is missing is failure behavior (e.g., unknown repo) and how the entry limit truncates results.

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?

The purpose statement is front-loaded and each following sentence earns its place by establishing a distinct safety guarantee. The reference to 'core.read_audit_log' and 'authority flags' is mildly implementation-facing but supports the read-only claim.

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?

An output schema exists, so return values need not be described, and the safety/loggability story is complete. However, for a tool that takes a repo selector and an entry cap, the absence of any parameter or scoping explanation leaves a real gap in the description's coverage.

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 both parameters and does not: neither 'repo' nor 'max_entries' is mentioned. The only hint of limiting behavior is the schema default of 100, which the prose never explains.

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 concrete verb ('Return a read-only summary') and a specific resource ('the write-gate audit log'), which distinguishes it from the launch-queue and task audit-log siblings by scope. It does not name any sibling explicitly, so the differentiation is inferential rather than stated.

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?

There is no when-to-use, when-not-to-use, or alternative-selection guidance. With siblings like aiworkhub_launch_queue_audit_summary_readonly, aiworkhub_task_audit_log_read, and aiworkhub_cli_adapter_report_readonly in the catalog, the agent is left to guess which audit surface this covers based on the phrase 'write-gate' alone.

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

aiworkhub_cli_adapter_plan_readonlyA

Return a validated launch PLAN without writing anything.

Wraps plan_dryrun(audit=False): validates argv against the static allowlist and returns the would-run plan. Writes NO audit entry, mutates NO task-queue state, and launches NOTHING. Any provided env is redacted (values, incl. secrets, are never emitted). Read-only holds regardless of the write gate. Also runs the B107 collision preflight (would_collide / collision_preflight): a plain read of the task-card JSONL, no lock, no claim, no mutation.

NameRequiredDescriptionDefault
envNo
argvYes
repoNo
topicYes
runnerYes
task_idYes
adapter_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses no audit entry, no task-queue mutation, no launch, env redaction including secrets, read-only regardless of the write gate, and the collision preflight's no-lock/no-claim behavior. These are exactly the behavioral traits an agent needs before invoking.

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?

The safety guarantee is front-loaded in the first sentence, and the remaining detail is dense but earns its place. It is slightly verbose but no sentence is wasted.

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?

Since an output schema exists, return-value explanation is unnecessary, and the description covers behavioral semantics and the collision preflight thoroughly. The main gap is the lack of parameter-level meaning for five of the seven inputs.

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% across 7 parameters, so the description must compensate. It adds meaning for only two params (argv validated against the static allowlist, env redacted) while task_id, runner, topic, adapter_id, and repo remain completely undocumented in both description and schema.

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?

States a specific verb and resource: 'Return a validated launch PLAN without writing anything.' It further clarifies the wrapper (plan_dryrun(audit=False)) and explicitly contrasts with write behavior ('launches NOTHING'), which distinguishes it from siblings like aiworkhub_agent_launch_task.

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?

Implies the tool is for validating/dry-running a command plan, and the 'read-only holds regardless of write gate' note gives useful context. However, it never explicitly states when to prefer this over alternatives such as aiworkhub_agent_launch_task or the write variants, leaving the use-vs-alternative decision to inference.

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

aiworkhub_cli_adapter_report_readonlyC

One read-only call returning BOTH a validated plan and an audit summary.

NameRequiredDescriptionDefault
envNo
argvYes
repoNo
topicYes
runnerYes
task_idYes
adapter_idYes
max_audit_entriesNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/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. 'Read-only' is a useful trait, and returning both a validated plan and audit summary is a behavior, but it omits permission requirements, any side effects, rate limits, or error behavior.

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 single sentence is front-loaded and free of filler, but its size is not appropriate for a tool with eight parameters and no schema descriptions. It is concise to the point of under-specification.

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 8 parameters, 5 required, 0% schema descriptions, no annotations, and an output schema. The description covers only read-only and combined return, leaving an agent without guidance on required inputs or operation, so it is substantially incomplete.

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% for 8 parameters, so the description must compensate. It contains no parameter-level information—task_id, runner, topic, adapter_id, argv, env, repo, and max_audit_entries are all undocumented in prose.

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 it is a read-only call returning a validated plan and an audit summary, which distinguishes it from sibling plan_readonly and audit_summary_readonly by combining both outputs. However, it doesn't explicitly name those siblings or clarify what 'validated' entails, so it is clear but not maximally specific.

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?

Implies use when an agent needs both a plan and an audit summary in one read-only call, but provides no explicit when-to-use guidance or exclusions relative to the separate sibling tools. Alternatives are left for the agent to infer.

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

aiworkhub_completion_inboxA
Read-only

READ-ONLY: combined completion-inbox facts for Codex orchestration.

Returns five facets in one call: review_queue (tasks awaiting Codex review), operational_failures (legacy finalizer failures eligible for retained retry), stale_processing (claimed tasks with no recent artifact/validation activity, default threshold 24h), runner_mismatch_warnings (batch-token mismatches between a runner name and the task_id it claimed -- a local pure replica of AITools/taskctl.py::_runner_task_batch_mismatch), and latest_validation_facts (the most recently recorded validation_status/ validation_error/blocker_reason per task).

FROZEN READ-ONLY CONTRACT -- no write-gate toggle, no mutation parameters. Only issues taskctl list/taskctl show (both read-only). Never calls taskctl done/review/start/auto-pickup/add-card/export-jsonl. Never mutates queue or audit state. Never launches agents or processes beyond the existing taskctl.py read-only child-process calls.

NameRequiredDescriptionDefault
limitNo
topicNo
stale_processing_hoursNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior5/5

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

With readOnlyHint already present, the description still adds substantial context: it names the exact read-only taskctl commands used, explicitly excludes write commands, and clarifies it never launches agents or processes. It also explains stale_processing's default threshold and that runner_mismatch is a pure local replica of a named function.

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?

Front-loaded with READ-ONLY and the five-facet summary, then details each facet. Slightly repetitive on the no-mutation/never-launch guarantees, but every element is informative and ordered well.

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?

An output schema exists so return values needn't be explained, and the description fully covers the read-only contract and facet meanings. The main gap is the undocumented limit and topic parameters, but overall it's sufficient to call the tool correctly.

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%, so the schema does no documentation work. The description clarifies stale_processing_hours (default 24h) but says nothing about limit or topic semantics, leaving two of three parameters 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?

States a specific verb/resource: aggregates five named completion-inbox facets for Codex orchestration, and enumerates each facet (review_queue, operational_failures, stale_processing, runner_mismatch_warnings, latest_validation_facts). It implies a combined view versus individual sibling tools but doesn't name those siblings.

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 word 'combined' and the list of facets imply this is a convenient aggregate over separate queries, but it never explicitly says when to use this versus e.g. aiworkhub_task_review_queue or aiworkhub_task_stale_recovery_recommend. Usage is inferable but not stated.

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

aiworkhub_contract_consistency_checkC
Read-only

READ-ONLY: detect managed provider/worker instruction drift.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

readOnlyHint=true is already declared in annotations, so 'READ-ONLY' adds nothing new. The description does not say what constitutes drift, whether it compares against a stored baseline, whether it is expensive, or what it does when drift is found. It gives no behavioral context beyond the annotation it restates.

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?

A single front-loaded sentence with no padding and the safety mode stated up front. It is efficient, though the brevity leans toward under-specification rather than tightness.

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?

An output schema exists, so return values needn't be spelled out, and with zero parameters there is little surface area to cover. Still, the description never explains what 'drift' covers or what scope the check spans, leaving the agent to infer from the name alone.

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 tool takes zero parameters, so there is no parameter semantics burden on the description. Baseline 4 applies; nothing is missing or misleading on this dimension.

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 verb 'detect' and object 'instruction drift' are present, but 'managed provider/worker instruction drift' is domain jargon that isn't unpacked, so an agent cannot tell precisely what condition is being checked. Nothing distinguishes it from siblings like aiworkhub_agent_tool_instruction_inspect or aiworkhub_agent_tool_instruction_preview, which sound like they operate on overlapping subject matter.

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?

There is no statement of when to run this check, what triggers it, or why an agent would pick it over the many instruction/skill/recipe siblings. Only the 'READ-ONLY' prefix hints at safe invocation, and that is already covered by annotations, not usage guidance.

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

aiworkhub_dashboard_healthA
Read-only

READ-ONLY: perform a fast storage readiness, manager identity, and dispatcher health check for the active repository.

Use this for lightweight connection-banner polling or pre-initialization checks; use aiworkhub_dashboard_snapshot when you need task queue counts, process rows, or cost summaries, or aiworkhub_dashboard_initialize when storage reports not_initialized. Probes storage readiness and cached observability without building the full queue snapshot or mutating repository state.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the summary's 'READ-ONLY' prefix is partly redundant, but the description adds real value beyond the annotation by disclosing that it probes cached observability and deliberately does not build the full queue snapshot or mutate repository state. It does not discuss error surfaces (e.g., what a not_initialized status looks like), which is a minor gap; an output schema exists so return shape needn't be described here.

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 short paragraphs, front-loaded with the purpose and then the routing guidance. The only waste is minor redundancy between 'READ-ONLY' and 'without ... mutating repository state', which restates the annotation.

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

Completeness5/5

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

For a parameterless read-only probe with an output schema and readOnly annotation, everything an agent needs is present: what is checked, the cost profile (fast/lightweight), the sibling alternatives, and the precondition escalation path to initialize. Nothing material is missing.

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 tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The description correctly implies no input is needed by describing the check as scoped to the active repository.

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 names a specific verb set (storage readiness, manager identity, dispatcher health check) and an explicit scope (the active repository). An agent can distinguish it from aiworkhub_dashboard_snapshot and aiworkhub_dashboard_initialize without opening any schema. It also flags the operation as fast and lightweight, which is the distinguishing trait.

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?

It explicitly routes usage: use this for connection-banner polling or pre-initialization checks; use snapshot when task queue counts, process rows, or cost summaries are needed; use initialize when storage reports not_initialized. That covers when-to-use, when-not, and the named alternatives.

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

aiworkhub_dashboard_initializeA

USER WRITE: initialize or repair the active repository's canonical .aiworkhub stores and Source Graph directory.

Use this when aiworkhub_dashboard_health reports storage not_initialized; use aiworkhub_dashboard_health or aiworkhub_dashboard_snapshot for read-only status checks. Bound to AIWORKHUB_REPO_ROOT, verifies repo_id against any existing manifest, idempotently provisions the project manifest, storage registry, SQLite stores, and Source Graph directory without deleting legacy files, and invalidates storage telemetry.

NameRequiredDescriptionDefault
repo_idNostr optional expected repository ID (default ""); when valid, must match any existing manifest or initialization fails closed.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses repo-root binding, fail-closed repo_id verification against an existing manifest, idempotency, non-destruction of legacy files, and telemetry invalidation. That is exactly the mutation-risk context an agent needs before invoking a write tool.

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?

Front-loaded with the write classification and purpose, followed by the trigger condition before the mechanics, which is the right ordering. The final sentence is a long clause chain covering five separate behaviors, which is dense though not wasteful.

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

Completeness5/5

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

An output schema exists so return values need not be explained, and the description covers the operational envelope: prerequisite state, failure mode, idempotency, and non-destructive guarantees. Nothing an agent needs to call this correctly is missing.

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 100% and the single repo_id parameter is fully documented in the schema, including the fail-closed default behavior. The description restates the manifest-match requirement but adds no new syntax or format detail, so the baseline 3 applies.

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?

States a specific verb (initialize or repair) and a specific resource set (the .aiworkhub stores and Source Graph directory of the active repository). The 'USER WRITE' prefix and the explicit contrast with aiworkhub_dashboard_health / aiworkhub_dashboard_snapshot make it distinguishable from siblings at a glance.

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?

Gives an explicit trigger condition: use when aiworkhub_dashboard_health reports storage not_initialized. Also names the alternatives for read-only status checks, so the agent knows both when to pick this tool and when not to.

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

aiworkhub_dashboard_kbA
Read-only

READ-ONLY: list the newest canonical Knowledge Base entries for the active repository.

Use this to browse repository Knowledge Base articles, categories, and tags in the dashboard; use aiworkhub_dashboard_memory for key-value AI Memory rows or aiworkhub_dashboard_sessions for session transcripts. Opens the KB SQLite store in read-only mode without mutating entries or usage counters.

NameRequiredDescriptionDefault
limitNoint (default 100, clamped to 1..500) maximum number of newest KB entries to return.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is known; the description still adds useful context that it opens the KB SQLite store read-only, does not mutate entries, and does not bump usage counters, plus that only canonical entries are listed. This is genuine added signal, though the read-only nature is restated three times.

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?

Only three sentences and the resource scope is front-loaded before the alternative routing. Minor waste from repeating 'READ-ONLY' in the prefix and again as 'read-only mode without mutating entries or usage counters'.

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

Completeness5/5

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

For a one-parameter, read-only list tool with an output schema and clear annotations, the description covers purpose, ordering ('newest'), scope (active repository), canonical filtering, and alternatives. Nothing an agent needs to invoke it correctly is missing.

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 100% and the single 'limit' parameter is documented in-schema with its default and 1..500 clamp. The description adds nothing about parameters, so baseline 3 applies despite the otherwise strong narrative.

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?

States a specific verb (list), resource (newest canonical Knowledge Base entries) and scope (active repository). It also explicitly distinguishes itself from aiworkhub_dashboard_memory and aiworkhub_dashboard_sessions, so an agent can route correctly without opening sibling schemas.

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?

Explicitly says 'Use this to browse repository Knowledge Base articles, categories, and tags' and names two alternatives with the condition that selects each. The when-to-use mapping is complete for the dashboard KB read case.

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

aiworkhub_dashboard_memoryA
Read-only

READ-ONLY: list the newest canonical AI Memory entries for the active repository.

Use this to browse stored AI Memory rows and lifecycle statuses in the dashboard; use aiworkhub_dashboard_sessions or aiworkhub_dashboard_kb to browse session transcripts or Knowledge Base entries. Opens the repository memory SQLite database in read-only mode and never increments access counters or mutates rows.

NameRequiredDescriptionDefault
limitNoint (default 100, clamped to 1..500) maximum number of newest memory entries to return.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, but the description adds substantive detail: it opens the repository memory SQLite database in read-only mode and never increments access counters or mutates rows. That is real behavioral context about side effects a caller might otherwise worry about, not a restatement of the annotation.

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, both front-loaded: the read-only scope and resource come first, then the alternative routing. Every clause carries information, and there is no redundant repetition of the schema.

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

Completeness5/5

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

For a one-optional-parameter read tool with annotations and an output schema present, the description covers purpose, alternatives, and the non-mutation guarantee. Nothing needed to invoke it correctly is missing.

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 100% and the single 'limit' parameter is already documented with its default and 1..500 clamp. The description only implies ordering via 'newest' and adds no syntax or format information beyond the schema, so the baseline 3 applies.

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?

States a specific verb (list), resource (newest canonical AI Memory entries) and scope (active repository) in the first line. It also names the sibling tools that cover adjacent data (sessions, Knowledge Base), so an agent can distinguish this from aiworkhub_dashboard_sessions and aiworkhub_dashboard_kb without reading either schema.

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?

Explicitly says 'Use this to browse stored AI Memory rows and lifecycle statuses in the dashboard' and then names the alternatives for sessions and KB entries. The routing condition is stated directly rather than left implied.

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

aiworkhub_dashboard_model_settings_updateA

USER WRITE: update one provider, adapter, or model routing switch for the active repository.

Use this to enable or disable a provider, transport adapter, or specific model leaf; call aiworkhub_dashboard_settings first to read model_policy and its current revision, or use aiworkhub_dashboard_settings_update for repository feature flags. Acquires the model-settings lock, verifies expected_revision, and atomically persists the updated routing configuration.

NameRequiredDescriptionDefault
modelNooptional str model identifier under adapter (default None); omit to toggle the provider or adapter switch.
adapterNooptional str transport adapter identifier (default None); required when model is specified.
enabledYesbool True to enable or False to disable the selected provider, adapter, or model route.
providerYesstr non-empty provider identifier to configure.
expected_revisionYesint current model_settings revision; mismatches fail closed and report current_revision.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/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 and does well: it discloses the write nature, that a model-settings lock is acquired, that expected_revision is verified, and that persistence is atomic. It stops short of stating auth/permission requirements or whether a toggle is reversible, which are the remaining gaps 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.

Conciseness5/5

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

Front-loaded 'USER WRITE' marker, then a purpose sentence, then usage/alternatives, then concurrency behavior. Two dense sentences with no wasted text and correct ordering of decision-relevant information.

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

Completeness5/5

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

Output schema exists, so return values are already covered; the description supplies the concurrency, locking, and alternative-tool context an agent needs before calling a write operation. Nothing essential is missing for correct invocation.

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 100%, so each parameter (including the model-under-adapter relationship and expected_revision fail-closed behavior) is already documented. The description reinforces the three-level switch concept (provider → adapter → model leaf) but adds little syntax or meaning beyond the schema, so the baseline 3 holds.

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?

States a specific verb (update) plus resource (one provider, adapter, or model routing switch) and scope (active repository). The 'USER WRITE' prefix and the reference to 'model routing switch' clearly separate it from aiworkhub_dashboard_settings_update (repository feature flags) without needing the schema open.

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?

Explicitly names what it is for (enable/disable a provider, transport adapter, or model leaf) and gives alternatives: call aiworkhub_dashboard_settings first to read model_policy/revision, or use aiworkhub_dashboard_settings_update for feature flags. Prerequisite and sibling routing are both spelled out.

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

aiworkhub_dashboard_needfix_archiveA

USER WRITE: archive one non-converting NeedFix item without deleting its stored record.

Use this to move an inactive or obsolete NeedFix row out of the active inbox; use aiworkhub_dashboard_needfix_restore to return an archived row to an active status, or aiworkhub_dashboard_needfix_purge to permanently delete an archived row. Requires confirm=True, refuses rows currently in converting status, sets status to archived with an audit event in the NeedFix store, and returns the updated item.

NameRequiredDescriptionDefault
reasonNostr optional archive rationale (default "", truncated to 1000 chars) recorded in the audit event.
confirmNobool (default False); must be True to archive the NeedFix item.
needfix_idYesstr canonical NeedFix identifier to archive.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

No annotations exist, so the description carries the full burden and does it well: requires confirm=True, refuses rows in converting status, sets status to archived, emits an audit event, and returns the updated item. It also states the record is not deleted, which is the key safety fact for a mutation.

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 tight sentences: the mutation and its non-destructive nature are front-loaded, followed by the sibling routing and the behavioral caveats. No filler.

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

Completeness5/5

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

An output schema exists, yet the description still notes the updated item is returned. Confirm requirement, status restriction, audit behavior, and reversibility path are all covered, leaving nothing an agent needs to call 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?

Schema coverage is 100% so confirm and reason are already documented; however, the description adds a genuine constraint on needfix_id (rows in converting status are refused) that the schema does not convey. Confirm semantics are largely repeated from the schema.

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?

States a specific verb (archive), resource (NeedFix item), and scope (one non-converting item, record retained). It also names what it is not: it does not delete the stored record, and the siblings restore/purge are named for contrast.

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?

Explicitly says when to use it (move an inactive or obsolete row out of the active inbox) and routes to alternatives with conditions: restore for returning to active, purge for permanent deletion.

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

aiworkhub_dashboard_needfix_captureA

USER WRITE: capture a new NeedFix item or deduplicate against an existing live row.

Use this to record a new bug or proposal in the NeedFix inbox; use aiworkhub_dashboard_needfix_update to edit an existing item or aiworkhub_dashboard_needfix_transition to change status. Requires an open write gate, normalizes kind synonyms, persists the new or deduplicated row in the NeedFix store, and returns a capture receipt.

NameRequiredDescriptionDefault
kindNostr classification kind (default "other"; synonyms are normalized).other
tagsNooptional list[str] labels (default None, up to 24 tags).
scopeNooptional str affected scope text (default None, up to 4000 chars).
titleYesstr summary title (truncated to 240 chars).
severityNostr level: critical, high, medium, low, or info (default "medium").medium
descriptionYesstr problem details (truncated to 8000 chars).
include_itemNobool (default False); True adds full detail fields to item.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/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 disclosure burden and does well: it says a write gate is required, that kind synonyms are normalized, that either a new or deduplicated row is persisted, and that a capture receipt is returned. It still leaves the deduplication criteria implicit, which is the main remaining behavioral gap.

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 core operation is front-loaded in the first sentence, followed by usage guidance and behavioral details. Every sentence adds useful information without repetition or padding.

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?

The tool has an output schema, so it need not explain the receipt format, and the schema fully documents parameters. The description covers the write gate, deduplication behavior, and sibling alternatives, leaving only the precise deduplication rule unspecified.

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 100%, so the schema already explains all seven parameters, including kind normalization, severity levels, truncation limits, and include_item. The description adds only the normalization/deduplication context, so baseline 3 is appropriate.

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 gives a specific verb and resource: capture a new NeedFix item or deduplicate against an existing live row. It also explicitly distinguishes this tool from aiworkhub_dashboard_needfix_update and aiworkhub_dashboard_needfix_transition, so an agent can select it without inspecting the schema.

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?

It states exactly when to use this tool: to record a new bug or proposal in the NeedFix inbox. It names the sibling alternatives for editing and status changes, and adds the prerequisite that an open write gate is required.

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

aiworkhub_dashboard_needfix_convert_commitA

USER WRITE: convert an accepted NeedFix item into a canonical task card without launching a worker.

Call aiworkhub_dashboard_needfix_convert_preview first to obtain the required plan_digest; use aiworkhub_dashboard_needfix_link_existing_task instead when a finished accepted task already resolves the item. Requires confirm=True and a matching plan_digest, creates the task card in the task store, transitions the NeedFix item to task_created, and never spawns a worker process.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to commit the conversion and create the task.
task_planNooptional Mapping[str, Any] (default None reuses the plan cached under plan_digest) explicit task card fields.
needfix_idYesstr canonical NeedFix identifier to convert into a task.
plan_digestNooptional str (default None, required at runtime) SHA-256 digest returned by aiworkhub_dashboard_needfix_convert_preview.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/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 and does well: it names the mutation (creates the task card in the task store), the state transition (NeedFix item to task_created), the confirmation gate (confirm=True plus matching plan_digest), and the non-effect ('never spawns a worker process'). It does not cover failure behavior on digest mismatch or whether the conversion is reversible, which keeps it short of a 5.

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 write-nature and the core action are front-loaded in the lead sentence, followed by the two routing constraints. Two dense sentences with no filler or restated title.

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?

An output schema exists, so return values need not be explained, and the description covers the prerequisite, the side effects, and the worker-free guarantee an agent needs before mutating state. Missing only edge-case information such as recovery from a stale or mismatched plan_digest.

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 100%, so confirm, needfix_id, plan_digest and task_plan are already documented in structured form; the description largely restates confirm=True and the plan_digest requirement. The only real addition is the 'matching' digest constraint implying runtime validation, which is marginal at this coverage level, so the baseline of 3 applies.

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?

States a specific verb and resource ('convert an accepted NeedFix item into a canonical task card') plus the key scope limit ('without launching a worker'). It explicitly distinguishes itself from both siblings, aiworkhub_dashboard_needfix_convert_preview and aiworkhub_dashboard_needfix_link_existing_task.

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?

Gives explicit ordering ('Call ...convert_preview first to obtain the required plan_digest') and an explicit alternative with the condition that selects it ('use ...link_existing_task instead when a finished accepted task already resolves the item'). Both the when and the when-not are stated.

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

aiworkhub_dashboard_needfix_convert_previewA
Read-only

READ-ONLY: preview the normalized task card and plan_digest for converting a NeedFix item into a task.

Call this before aiworkhub_dashboard_needfix_convert_commit to inspect the normalized card, validation role requirements, and the plan_digest required to commit; use aiworkhub_dashboard_needfix_detail to inspect the NeedFix item itself. Normalizes the task plan and caches the signed preview in memory without creating a task or mutating durable store state.

NameRequiredDescriptionDefault
task_planNooptional Mapping[str, Any] (default None) explicit task card overrides such as runner, topic, allowed_writes, and validation.
needfix_idYesstr canonical NeedFix identifier to preview for task conversion.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, it discloses that the preview is cached in memory with a signature, that no task is created, and that no durable store state is mutated — exactly the mutation-risk questions an agent would have. It also surfaces that the returned plan_digest is a prerequisite input for commit, adding workflow-level context annotations cannot express.

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?

Three sentences, front-loaded with the READ-ONLY marker and the core action, then ordering, then the no-mutation guarantee. Slightly dense in the middle sentence (two sibling references plus three inspection targets), but every clause carries operational information.

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

Completeness5/5

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

An output schema exists, so return values need not be described; the description instead supplies the workflow position, the safety guarantee, and the downstream dependency (plan_digest required to commit). With 100% schema coverage and a matching readOnlyHint, nothing an agent needs to call this correctly is absent.

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 100%, so both `needfix_id` and the optional `task_plan` overrides are already fully documented in the schema. The description mentions the normalized card, validation requirements, and plan_digest only as outputs to inspect, not as parameter semantics, so it adds no meaning beyond the structured fields — baseline 3 applies.

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?

States a specific verb ('preview') and resource ('normalized task card and plan_digest for converting a NeedFix item into a task'), and explicitly names both the commit sibling it precedes and the detail sibling it differs from. An agent can distinguish this from `aiworkhub_dashboard_needfix_convert_commit` and `aiworkhub_dashboard_needfix_detail` without opening any schema.

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?

Gives explicit ordering ('Call this before aiworkhub_dashboard_needfix_convert_commit') and a routing rule for the alternative ('use aiworkhub_dashboard_needfix_detail to inspect the NeedFix item itself'). The when-to-use condition and the alternative are both named directly.

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

aiworkhub_dashboard_needfix_detailA
Read-only

READ-ONLY: return one NeedFix item with full detail fields and its bounded audit event history.

Use this to inspect a single NeedFix item's description, scope, evidence, and lifecycle events; use aiworkhub_dashboard_needfix_list to browse summary rows or aiworkhub_dashboard_needfix_convert_preview to preview task conversion. Validates needfix_id format and reads the NeedFix store without mutating state.

NameRequiredDescriptionDefault
needfix_idYesstr canonical NeedFix identifier (for example NF-2026-00001).
event_limitNoint (default 50, clamped to 1..100) maximum number of audit events to return.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered; the description nonetheless adds useful detail by stating it validates needfix_id format and reads without mutating state, and that event history is bounded. It is partly redundant with the annotation ("READ-ONLY") but adds enforcement and scoping context beyond the structured fields.

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 short paragraphs, front-loaded with the read-only guarantee and the return shape, then the routing advice. The "READ-ONLY" prefix and "reads without mutating state" slightly duplicate each other and the annotation, but the text is otherwise tight.

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

Completeness5/5

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

An output schema exists, so return fields need not be enumerated; the description still signals the payload (detail fields + audit events). For a 2-param read tool with annotations and an output schema, an agent has everything needed to call it correctly.

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 100%, so both parameters (needfix_id format and event_limit clamping) are already documented in the schema. The description only adds that event history is bounded, which is marginal over what the schema states. Baseline 3 applies.

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?

States a specific verb+resource: return one NeedFix item with full detail fields plus bounded audit event history. It names the sibling used for browsing (needfix_list) and the sibling used for conversion preview, so an agent can distinguish it without opening any schema.

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?

Explicitly says when to use it (inspect a single item's description, scope, evidence, lifecycle events) and names the two alternatives with the condition that selects each. Nothing is left to inference.

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

aiworkhub_dashboard_needfix_listA
Read-only

READ-ONLY: list bounded NeedFix inbox items with optional status, kind, severity, and archive filters.

Use this to browse or page through NeedFix summaries; use aiworkhub_dashboard_needfix_detail to fetch full description, scope, provenance, and audit events for one item, or aiworkhub_dashboard_roadmap_list for Roadmap items. Reads the NeedFix SQLite store without mutating state.

NameRequiredDescriptionDefault
kindNooptional str classification kind filter (default None).
limitNoint (default 100, clamped to 1..200) maximum rows to return.
offsetNoint (default 0, clamped to >=0) zero-based pagination offset.
statusNooptional str lifecycle status filter (default None returns all active statuses).
severityNooptional str severity filter such as critical, high, medium, low, or info (default None).
include_archivedNobool (default False); True includes archived NeedFix rows.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description's 'READ-ONLY' and 'reads the SQLite store without mutating state' largely restate that. It does add that listing is 'bounded' and pageable, but the actual bounds (limit clamped to 1..200, default excludes archived) live in the schema, so behavioral value beyond structured fields is modest.

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?

Three short sentences with the read-only constraint and the verb front-loaded, then routing guidance. Slightly redundant between 'READ-ONLY' and 'without mutating state', which repeats the same point twice.

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

Completeness5/5

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

An output schema exists, so return values need not be described, and annotations cover the safety profile. Between the description's routing and the schema's fully documented parameters, an agent has everything needed to call this correctly.

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 100%, so every parameter (kind, status, severity, include_archived, limit, offset) is already documented with defaults and clamps. The description only echoes the filter names at a high level and adds no syntax, valid-value, or interaction detail, so baseline 3 applies.

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?

States a specific verb and resource ('list ... NeedFix inbox items') plus scope ('bounded', filterable), and explicitly distinguishes itself from aiworkhub_dashboard_needfix_detail and aiworkhub_dashboard_roadmap_list. An agent can tell exactly what this returns versus its nearest siblings.

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?

Gives explicit routing: use this to browse/page summaries, use needfix_detail to fetch full description/scope/provenance/audit events for one item, use roadmap_list for Roadmap items. The when-to-use-this vs when-to-use-alternative decision is fully spelled out.

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

aiworkhub_dashboard_needfix_purgeA
Destructive

DESTRUCTIVE: permanently delete one archived NeedFix row from the NeedFix table while retaining an audit snapshot.

Use aiworkhub_dashboard_needfix_archive first to archive the item safely, or aiworkhub_dashboard_needfix_restore to recover an archived item instead of deleting it. Requires confirm=True, a non-empty audit_reason, and an already-archived row; records a purged audit event with the row snapshot and permanently deletes the row from the needfix table.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to permanently purge the NeedFix row.
needfix_idYesstr canonical NeedFix identifier of the archived row to permanently delete.
audit_reasonYesstr non-empty mandatory justification (truncated to 1000 chars) persisted in the purge audit event.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already carry destructiveHint=true, but the description adds real context beyond them: the confirm=True and non-empty audit_reason gates, the already-archived precondition, and the fact that a purge audit event with a row snapshot is written before permanent deletion. It does not cover what happens to links/tasks attached to the row, which is the main residual risk.

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?

Front-loaded with 'DESTRUCTIVE' and a tight first sentence, then alternatives, then requirements. Slight redundancy: 'permanently delete' is stated twice and the final clause re-explains the already-given row requirement.

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?

Output schema exists and annotations cover the safety profile, so the description needn't explain return values. It covers preconditions and audit side effects well; only the handling of dependent records on purge is unaddressed.

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 100%, so confirm, needfix_id and audit_reason are already documented. The description restates confirm=True and 'non-empty audit_reason', which corroborates but adds little new semantics. Baseline 3 applies.

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?

States a specific verb and resource ('permanently delete one archived NeedFix row from the NeedFix table') plus a non-obvious side effect (retains an audit snapshot). It is immediately distinguishable from needfix_archive, needfix_restore and the dashboard purge siblings because it names the table and the single-row scope.

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?

Explicitly routes the agent: use needfix_archive first, or needfix_restore to recover an archived item 'instead of deleting it'. The precondition (row must already be archived) further gates correct usage.

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

aiworkhub_dashboard_needfix_restoreA

USER WRITE: restore an archived NeedFix item to an active non-terminal lifecycle status.

Use this to unarchive a NeedFix row previously archived with aiworkhub_dashboard_needfix_archive; use aiworkhub_dashboard_needfix_transition to advance the lifecycle of an already-active item. Requires confirm=True and a row currently in archived status, clears archived_at, sets status to target_status, records a restored audit event, and returns the updated item.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to restore the NeedFix item.
needfix_idYesstr canonical NeedFix identifier of the archived row to restore.
target_statusNostr active status to restore into: captured, triaged, accepted, or deferred (default "captured").captured

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/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 and does most of it: it declares this is a write, requires confirm=True, requires the source row to be archived, and enumerates side effects (clears archived_at, writes target_status, records an audit event) plus the return of the updated item. It stops short of stating permission/auth requirements or what happens when the precondition fails, which is the only remaining gap for an unannotated mutation.

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 write/reversibility nature and the primary 'use this to unarchive' instruction are front-loaded in the first two sentences, with the alternative and side effects following. Three sentences, no filler, every clause carries information.

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

Completeness5/5

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

For a three-parameter mutation with an output schema (so return shape needn't be described), the definition covers purpose, precondition, effects, and sibling routing. Nothing an agent needs to invoke it correctly is missing.

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 100%, so all three parameters are already documented in-schema, and the description mostly restates them (confirm=True, target_status assignment). It adds slight value by framing target_status as an 'active non-terminal' status, but no syntax or validation detail beyond what the schema provides, so baseline 3 applies.

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?

States a specific verb (restore/unarchive) and resource (archived NeedFix item) plus the resulting state (active non-terminal lifecycle status). It explicitly distinguishes itself from needfix_archive (the inverse) and needfix_transition (lifecycle advance of already-active rows), so an agent can pick it without opening schemas.

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?

Gives both when-to-use and when-not-to-use with named alternatives: use this after aiworkhub_dashboard_needfix_archive, use aiworkhub_dashboard_needfix_transition for active items. It also states the precondition (row currently in archived status) that gates invocation.

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

aiworkhub_dashboard_needfix_transitionA

USER WRITE: apply one confirmed lifecycle status transition to a NeedFix item.

Use this to triage, accept, reject, defer, mark duplicate, mark task_planned, resolve, or recover a conversion claim; use aiworkhub_dashboard_needfix_archive, aiworkhub_dashboard_needfix_restore, or aiworkhub_dashboard_needfix_convert_commit for archive, restore, or task creation. Requires confirm=True, persists the state transition and audit event in the NeedFix store, and returns a transition receipt.

NameRequiredDescriptionDefault
actionYesstr transition action: triage, accept, reject, duplicate, defer, task_planned, resolve, resolve_verified, or recover_conversion_claim.
reasonNostr note or rationale (default "", up to 1000 chars; required for recover_conversion_claim).
confirmNobool (default False); must be True to execute the transition.
needfix_idYesstr canonical NeedFix identifier to transition.
promote_toNostr optional chained target (default ""; only "accepted" with action="triage" is allowed).
include_itemNobool (default False); True adds full detail fields to item.
readiness_scoreNooptional int score for triage or accept (default None).
duplicate_parent_idNostr parent NeedFix ID when action is duplicate (default "").

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/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 that this is a USER WRITE that persists a state transition and audit event, requires confirm=True, and returns a transition receipt. It does not detail error conditions, reversibility, or rate limits, but for a write tool this is a strong 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?

Two sentences with zero waste: the first sentence states the purpose and mutation nature, the second covers usage, alternatives, and key behaviors. The critical 'USER WRITE' and confirm requirement are front-loaded.

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

Completeness5/5

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

Output schema exists, so return values are already documented. Given the 8-parameter complexity, the description covers purpose, usage alternatives, confirm requirement, persistence, audit event, and receipt. Nothing an agent needs to call correctly is missing.

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 100%, so the schema already documents all 8 parameters including the action enum and confirm flag. The description mentions the action list and confirm requirement, but adds no syntax or behavior beyond what the schema provides. Baseline 3 is appropriate.

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?

States a specific verb+resource ('apply one confirmed lifecycle status transition to a NeedFix item') and explicitly names sibling tools for other operations (archive, restore, convert_commit). An agent can distinguish this from all other NeedFix tools without opening the schema.

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?

Explicitly lists when to use this tool (triage, accept, reject, defer, mark duplicate, mark task_planned, resolve, recover conversion claim) and when to use alternatives (archive, restore, convert_commit). Also states the confirm=True requirement, leaving no ambiguity about invocation conditions.

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

aiworkhub_dashboard_needfix_updateA

USER WRITE: update mutable content and classification fields on an existing NeedFix item.

Use this to edit title, description, scope, kind, severity, tags, or readiness_score; use aiworkhub_dashboard_needfix_transition to change lifecycle status or aiworkhub_dashboard_needfix_capture to create a new item. Requires an open write gate, persists field changes and an audit event in the NeedFix store, and returns a delta receipt.

NameRequiredDescriptionDefault
kindNooptional str replacement kind (default None; synonyms normalized).
tagsNooptional list[str] replacement tag list (default None, up to 24 tags).
scopeNooptional str replacement scope text (default None, up to 4000 chars).
titleNooptional str replacement title (default None leaves unchanged, up to 240 chars).
severityNooptional str replacement severity (default None).
needfix_idYesstr canonical NeedFix identifier to update.
descriptionNooptional str replacement description (default None, up to 8000 chars).
include_itemNobool (default False); True adds full detail fields to item.
readiness_scoreNooptional int readiness score (default None, clamped to 0..100).

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses the 'USER WRITE' profile, the prerequisite of an open write gate, that changes persist with an audit event in the NeedFix store, and that a delta receipt is returned. It stops short of covering failure modes (e.g. missing or archived needfix_id, closed gate behavior) or whether unspecified fields are left untouched, which the schema only implies via defaults.

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, front-loaded with the write profile and the field scope before the sibling routing. Nothing is redundant and every clause carries decision-relevant information.

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 nine-parameter mutation tool the essentials are present: mutability boundary, gate prerequisite, persistence/audit side effects, and the sibling split for status changes. An output schema exists, so return shape need not be explained. Missing only edge-case behavior (unknown/archived item, partial updates on null fields).

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 100%, so the schema already documents all nine parameters including clamping and length limits. The description's field enumeration mirrors the schema rather than adding syntax or validation detail, and it never mentions include_item or needfix_id semantics. Baseline 3 is appropriate.

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?

States a specific verb (update) and resource (NeedFix item) plus the exact field families affected (content and classification). It also names the two adjacent sibling tools (transition, capture) so the agent can distinguish this tool without opening schemas.

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?

Explicitly enumerates which edits belong here (title, description, scope, kind, severity, tags, readiness_score) and routes lifecycle changes to aiworkhub_dashboard_needfix_transition and creation to aiworkhub_dashboard_needfix_capture. Both alternatives and their selection conditions are given.

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

aiworkhub_dashboard_roadmap_detailA
Read-only

READ-ONLY: return one Roadmap outcome with linked task progress, wave projection, and audit events.

Use this to inspect a specific Roadmap item's dependencies, linked tasks, and event log; use aiworkhub_dashboard_roadmap_list to browse all Roadmap items. Validates roadmap_id format and reads the Roadmap and task stores without mutating state.

NameRequiredDescriptionDefault
roadmap_idYesstr canonical Roadmap identifier (for example RM-2026-00001).
event_limitNoint (default 50, clamped to 1..100) maximum number of audit events to return.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Adds meaningful context beyond the readOnlyHint: confirms roadmap_id format validation and that only Roadmap and task stores are read with no state mutation. Does not mention pagination or error behavior for an invalid id, but annotations already carry the safety profile so the added value is solid.

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?

Three tight sentences with the READ-ONLY marker and capability front-loaded. Slight redundancy between the 'READ-ONLY' prefix and the closing 'reads ... without mutating state', but nothing wasteful enough to penalize heavily.

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

Completeness5/5

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

Output schema exists so return values need no explanation, yet the description still enumerates the payload shape. Safety profile, sibling routing, and validation behavior are all covered for a simple 2-parameter read tool.

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 100%, so both roadmap_id format and event_limit clamping (1..100, default 50) are already documented. The description only echoes the id validation, adding little beyond the schema — baseline 3 applies.

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?

States a specific verb ('return one Roadmap outcome') plus the exact payload contents (linked task progress, wave projection, audit events), and explicitly contrasts with aiworkhub_dashboard_roadmap_list for browsing. An agent can pick this tool over its sibling without opening a schema.

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?

Explicit 'use this to inspect a specific Roadmap item's dependencies, linked tasks, and event log' followed by the selecting condition for the alternative ('use list to browse all'). Both when-to-use and the alternative are named.

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

aiworkhub_dashboard_roadmap_listA
Read-only

READ-ONLY: list bounded Roadmap outcomes joined with task-DAG progress and wave projection.

Use this to browse Roadmap items, status counts, and wave readiness; use aiworkhub_dashboard_roadmap_detail for one Roadmap item's full detail and audit events, or aiworkhub_dashboard_needfix_list for NeedFix items. Reads the Roadmap and task stores without mutating state.

NameRequiredDescriptionDefault
limitNoint (default 100, clamped to 1..200) maximum number of items to return.
offsetNoint (default 0, clamped to >=0) zero-based pagination offset applied to the filtered list.
statusNooptional str status filter (default None returns all non-archived statuses).
include_archivedNobool (default False); True includes archived Roadmap items.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and the description reinforces and extends it: 'Reads the Roadmap and task stores without mutating state' tells the agent which stores are touched and that state is untouched. It also signals the result is 'bounded' and contains joined DAG progress/wave projection, which the annotation does not convey. Missing only detail on the bounding rule and any read cost.

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, zero padding. The read-only guarantee and the primary purpose are front-loaded, and the sibling routing follows immediately.

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?

With a full input schema, a 100% description coverage, and an output schema present, the description does everything essential: scope, read-only guarantee, and alternative routing. The one loose thread is the unexplained 'bounded' limit behavior, but that is largely covered by the schema's clamp note.

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 100% — limit (clamped 1..200), offset, status filter, and include_archived are all documented with defaults and constraints. The description adds no parameter-level meaning, so the baseline 3 applies.

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?

States a specific verb and resource ('list bounded Roadmap outcomes') plus the enrichment it applies ('joined with task-DAG progress and wave projection'). This immediately separates it from aiworkhub_dashboard_roadmap_detail (single item) and aiworkhub_dashboard_needfix_list (different resource).

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?

Explicit 'Use this to browse Roadmap items, status counts, and wave readiness' and then names two alternatives with the conditions that select them (roadmap_detail for one item's full detail/audit events, needfix_list for NeedFix items). Nothing is left to inference.

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

aiworkhub_dashboard_sessionsA
Read-only

READ-ONLY: list the newest Session Manager transcript documents for the active repository.

Use this to inspect recent session continuity documents in the dashboard; use aiworkhub_dashboard_memory for durable AI Memory keys or aiworkhub_dashboard_kb for Knowledge Base articles. Opens the canonical transcript SQLite database read-only and never modifies session checkpoints or access state.

NameRequiredDescriptionDefault
limitNoint (default 100, clamped to 1..500) maximum number of newest transcript documents to return.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces this with concrete evidence of what is untouched ("never modifies session checkpoints or access state") and which store it reads (canonical transcript SQLite, opened read-only). Missing only secondary details like ordering guarantees or how the limit interacts with output, so not a 5.

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 short sentences, with the read-only constraint and scope front-loaded before the sibling routing guidance. Every sentence earns its place; nothing is repeated from the schema or annotations verbatim beyond a useful reinforcement of read-only behavior.

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?

An output schema exists and annotations cover the safety profile, so the description needn't explain return values; purpose, scope, and alternatives are all present. Slightly short of complete because it doesn't say anything about what a 'transcript document' contains or how results are ordered relative to the limit, which would help an agent interpret the call.

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?

The single 'limit' parameter is fully documented in the schema (default 100, clamped to 1..500, meaning of the value), so the schema carries the weight. The description says "newest" documents, which implicitly confirms ordering, but adds no further parameter meaning. Baseline 3 is appropriate at 100% coverage.

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?

States a specific verb and resource ("list the newest Session Manager transcript documents") plus scope ("for the active repository"). It also explicitly contrasts itself against aiworkhub_dashboard_memory and aiworkhub_dashboard_kb, so an agent can distinguish it from the nearest siblings without opening schemas.

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?

Gives both the positive trigger ("inspect recent session continuity documents") and the alternatives with their conditions (memory for durable keys, kb for Knowledge Base articles). No inference is required to route between the three dashboard read tools.

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

aiworkhub_dashboard_settingsA
Read-only

READ-ONLY: return repository feature switches, Source Graph policy, retention policy, and model routing policy.

Use this to inspect current settings and their revision numbers before calling aiworkhub_dashboard_settings_update, aiworkhub_dashboard_model_settings_update, or aiworkhub_dashboard_source_graph_settings_update. For queue state or task counts use aiworkhub_dashboard_snapshot instead. Reads repository configuration files and status views without mutating durable state or starting background services.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint annotation by stating it reads repository configuration files and status views 'without mutating durable state or starting background services' — a concrete behavioral guarantee about side effects that annotations alone do not convey.

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?

Front-loads the READ-ONLY marker, then purpose, then routing guidance, then side-effect guarantees — every sentence carries information. Slightly dense in the final sentence, but 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?

An output schema exists, so return values need no explanation here. The description covers purpose, sequencing relative to the update tools, sibling exclusions, and side effects — nearly complete for a zero-parameter read tool, with only minor detail (e.g. what a 'revision number' looks like) left implicit.

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 tool takes no parameters, so there is nothing for the description to disambiguate and the baseline is 4. No parameter noise is introduced, which is correct here.

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?

States a specific verb (return) and enumerates the exact configuration domains covered: repository feature switches, Source Graph policy, retention policy, and model routing policy. An agent can distinguish this settings-inspection tool from aiworkhub_dashboard_snapshot and the three settings_update siblings without opening any schema.

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?

Explicitly gives the when: inspect current settings and revision numbers before calling aiworkhub_dashboard_settings_update, aiworkhub_dashboard_model_settings_update, or aiworkhub_dashboard_source_graph_settings_update. It also names the exclusion and the correct alternative — 'For queue state or task counts use aiworkhub_dashboard_snapshot instead.'

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

aiworkhub_dashboard_settings_updateA

USER WRITE: atomically update repository-local feature switches with optimistic revision locking.

Use this to toggle top-level repository features such as source_graph or context_graph; use aiworkhub_dashboard_settings to inspect current switches and revision first, or aiworkhub_dashboard_source_graph_settings_update and aiworkhub_dashboard_model_settings_update for language or model routing switches. Atomically persists feature settings when expected_revision matches, starts or stops Source Graph when toggled, and initializes the context graph schema when enabled.

NameRequiredDescriptionDefault
changesYesnon-empty dict[str, bool] mapping valid feature keys to their desired boolean enabled state.
expected_revisionYesint current feature settings revision required for optimistic concurrency; mismatches fail closed.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it labels the tool as USER WRITE, describes optimistic revision locking, notes atomic persistence on revision match, and discloses side effects such as starting/stopping Source Graph and initializing the context graph schema. These are exactly the mutation and concurrency traits an agent needs beyond the schema.

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 front-loaded with the write/atomicity warning, then moves directly into routing guidance and behavioral effects. Every sentence adds actionable information, with no filler.

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

Completeness5/5

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

For a two-parameter mutation tool with full schema coverage and an output schema, the description supplies the missing operational context: concurrency expectations, atomicity, side effects, and sibling alternatives. Nothing essential for correct invocation is left out.

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 100%, so the baseline is 3. The description adds useful meaning by naming example feature keys (source_graph, context_graph) and tying them to observable side effects, though it does not enumerate all valid keys or explain the changes object beyond those examples.

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 precise verb and resource: atomically update repository-local feature switches. It explicitly distinguishes top-level feature switches from language/model routing switches and names the sibling tools to use instead, so an agent can route correctly.

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?

It gives direct usage guidance: use this tool to toggle top-level features like source_graph or context_graph, inspect current switches and revision with aiworkhub_dashboard_settings first, and use other update tools for language or model routing switches. The alternatives and selection conditions are explicit.

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

aiworkhub_dashboard_skillsA
Read-only

READ-ONLY: return measured skill lifecycle counts and selection or injection coverage for the active repository.

Use this to audit active skill reachability, selection receipts, and consecutive empty-injection streaks; use aiworkhub_dashboard_settings for feature switches or aiworkhub_dashboard_snapshot for task queue state. Reads the skill registry and receipt store without mutating state, and reports measured=False with an explicit reason when the store is absent or unreadable.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds real context beyond that: it names the data sources (skill registry and receipt store), restates non-mutation, and discloses the degraded-state contract of returning measured=False with an explicit reason when the store is absent or unreadable. That failure-mode disclosure is the valuable part, though it says nothing about result freshness or size.

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, front-loaded with the read-only guarantee and the core purpose, then routing guidance, then the degraded-state caveat. Every sentence carries distinct information and nothing is repeated from the annotations or schema.

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

Completeness5/5

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

With an output schema present the description needn't explain return values, and with zero parameters there is no schema gap to fill. The description covers purpose, routing, data sources, mutation safety, and the failure contract, which is everything an agent needs to call it 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 tool takes zero parameters, so the schema imposes nothing an agent must interpret and there is no parameter semantics to add. Baseline of 4 applies for a well-formed no-argument view.

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?

States a specific verb ('return') plus the exact resources reported (skill lifecycle counts, selection/injection coverage) and scopes it to the active repository. The READ-ONLY prefix and the explicit contrast with dashboard_settings (feature switches) and dashboard_snapshot (task queue state) let an agent distinguish it from siblings without opening the schema.

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?

Gives a concrete use case ('audit active skill reachability, selection receipts, and consecutive empty-injection streaks') and names two alternatives with the conditions that select them. No inference is required to route between this and the sibling dashboard views.

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

aiworkhub_dashboard_snapshotA
Read-only

READ-ONLY: build the canonical dashboard queue, health, and storage snapshot for the active repository.

Use the default compact mode for manager queue summaries and status counts, or full=True for the native Webview payload; use aiworkhub_dashboard_health for a cheap connection check or aiworkhub_dashboard_task_detail for one task card. Reads canonical SQLite state and cached storage telemetry without mutating tasks or launching processes.

NameRequiredDescriptionDefault
fullNobool (default False); True returns full task, process, and ledger collections, False returns the compact summary.
previousNooptional Mapping[str, Any] (default None) prior snapshot dict reused for incremental diffing.
previous_snapshotNooptional Mapping[str, Any] (default None) alias for previous when previous is omitted.
known_contract_sha256Nostr (default "") contract SHA-256 digest the caller already holds; compact mode omits the contract prose by default and re-sends it only when this digest differs from the current contract_sha256.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

The readOnlyHint annotation already signals safety, but the description adds useful behavioral context: it reads canonical SQLite state and cached storage telemetry, and it does not mutate tasks or launch processes. It does not discuss performance characteristics or caching behavior beyond the data sources, but the safety boundary is clearly reinforced.

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 front-loaded with the READ-ONLY constraint, then gives mode guidance and alternatives in three efficient sentences. Every sentence contributes either scope, routing, or behavioral context with no waste.

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

Completeness5/5

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

Given the available output schema, full parameter descriptions, and read-only annotation, the description supplies enough context to select and invoke the tool correctly. It covers purpose, mode selection, alternatives, data sources, and non-mutation behavior without needing to duplicate return-value details.

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 100%, so the baseline is 3. The description adds meaningful use-case semantics for the full parameter by contrasting compact manager summaries/status counts with the full native Webview payload, though it does not elaborate on the previous/previous_snapshot or known_contract_sha256 parameters beyond the schema.

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 and resource: it builds the canonical dashboard queue, health, and storage snapshot for the active repository. It also distinguishes itself from related tools like dashboard_health and dashboard_task_detail, so an agent can select it without inspecting the schema.

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?

It explicitly states when to use the default compact mode versus full=True, including the intended use case for each. It also names alternatives for a cheap connection check and for a single task card, making the routing decision clear.

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

aiworkhub_dashboard_source_graph_settings_updateA

USER WRITE: atomically update per-language Source Graph indexing switches for the active repository.

Use this to enable or disable individual languages in the Source Graph ignore policy; use aiworkhub_dashboard_settings to read the current policy and revision first, or aiworkhub_dashboard_settings_update to toggle the top-level source_graph feature switch. Enforces optimistic locking against expected_revision, atomically rewrites the ignore policy file, and triggers an immediate Source Graph refresh when the feature is enabled.

NameRequiredDescriptionDefault
language_changesYesnon-empty dict[str, bool] mapping registered language IDs to True (enabled) or False (disabled).
expected_revisionYesint revision from the current Source Graph policy view; mismatches fail closed.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/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 and does well: it discloses optimistic locking against expected_revision, atomic rewrite of the ignore policy file, and the side effect of triggering an immediate Source Graph refresh when the feature is enabled. It stops short of stating permission requirements or whether a failed revision check leaves the file untouched beyond 'fail closed' in the schema, so not quite exhaustive.

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?

Front-loads the verb and resource in the first line, then follows with usage routing and behavioral guarantees. Dense but every clause carries information; the single long final sentence with three comma-joined guarantees is slightly harder to scan than it could be.

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

Completeness5/5

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

Two required parameters at full schema coverage, an output schema handling return values, and a description that covers purpose, alternatives, locking semantics, and the refresh side effect. An agent has everything needed to call this 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?

Schema coverage is 100%, so baseline is 3; the description adds genuine meaning by framing expected_revision as an optimistic-locking guard and clarifying that language_changes targets the ignore policy. It doesn't add syntax detail for the language ID keys, which remains in the nested schema description.

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?

States a specific verb (atomically update), a specific resource (per-language Source Graph indexing switches), and scope (active repository). The 'USER WRITE' prefix immediately signals the operation class, and an agent can distinguish this from the settings/feature-switch siblings without opening any schema.

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?

Explicitly names when to use this ('enable or disable individual languages in the Source Graph ignore policy') and routes to the correct alternatives: aiworkhub_dashboard_settings to read the current policy and revision first, and aiworkhub_dashboard_settings_update to toggle the top-level feature switch. When-to-use, prerequisites, and alternatives are all covered.

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

aiworkhub_dashboard_storage_purgeA
Destructive

DESTRUCTIVE: permanently delete one expired worker-worktree quarantine batch from disk.

Inspect batches with aiworkhub_dashboard_storage_retention_preview first, or use aiworkhub_dashboard_storage_restore to recover a batch while its undo window is still active. Requires confirm=True and an authenticated batch whose restore deadline has passed, permanently removes the batch directory, records an audit event, and invalidates storage telemetry.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to permanently purge the batch.
batch_idYesstr identifier of the expired storage quarantine batch to permanently remove.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

Annotations declare destructiveHint=true, and the description goes well beyond them: it names the exact effects (removes the batch directory, records an audit event, invalidates storage telemetry), the confirm=True gate, and the auth/deadline requirement. Nothing about the write's blast radius is left 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?

Two sentences, both earning their place: the destructive warning and scope are front-loaded, then the prerequisite alternatives and side effects follow. No filler or repetition of the title.

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

Completeness5/5

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

For an irreversible mutation with an output schema already present, the description covers the safety profile, prerequisites, recovery path, and post-conditions. An agent has everything needed to call it correctly or avoid calling it.

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 100% and both parameters are documented in-schema, so the baseline is met. The description still adds meaningful state semantics — that the batch must be expired, authenticated, and past its restore deadline — which the schema's one-line param docs do not convey.

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?

States a specific verb ('permanently delete') and a precisely scoped resource ('one expired worker-worktree quarantine batch from disk'), distinguishing it from the sibling preview, restore, and quarantine tools by its irreversible nature.

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?

Explicitly routes the agent: inspect with aiworkhub_dashboard_storage_retention_preview first, or use aiworkhub_dashboard_storage_restore while the undo window is active. It also states the precondition that the restore deadline must have passed, making the use condition unambiguous.

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

aiworkhub_dashboard_storage_quarantineA

USER WRITE: move reclaimable worker worktrees matching a current preview into a reversible quarantine batch.

Call aiworkhub_dashboard_storage_retention_preview first to obtain preview_digest; use aiworkhub_dashboard_storage_restore to undo a batch or aiworkhub_dashboard_storage_purge to delete an expired batch. Requires confirm=True and an unchanged preview_digest, moves eligible worktree directories into a signed quarantine batch with an undo deadline, writes an audit entry, and invalidates cached storage telemetry.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to execute the quarantine move.
preview_digestYesstr SHA-256 digest from aiworkhub_dashboard_storage_retention_preview; stale digests fail closed.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does it well: it declares this is a write, that the move is reversible with an undo deadline, that a signed batch is created, that an audit entry is written, and that cached storage telemetry is invalidated. It also notes fail-closed behavior on a stale digest via the requirement for an unchanged preview_digest.

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?

Front-loads the operation and its reversibility, then the prerequisite and alternatives — good ordering. The 'USER WRITE:' prefix and dense second sentence pack several facts together, which is efficient but slightly compressed.

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

Completeness5/5

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

An output schema exists, so return values needn't be explained; what remains — preconditions, reversibility, side effects (audit entry, cache invalidation), and the recovery path — is all present. Nothing an agent needs in order to call it safely is missing.

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 100% and both parameters are already documented with defaults and the fail-closed stale-digest rule. The description's repetition of 'requires confirm=True and an unchanged preview_digest' restates the schema rather than adding new semantics, so baseline 3 applies.

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?

States a specific verb and resource ('move ... worktrees ... into a reversible quarantine batch') plus the scope constraint ('matching a current preview'). It is clearly distinguishable from the sibling preview/restore/purge tools and from the terminal-log and task quarantine variants.

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?

Explicitly names the prerequisite tool (storage_retention_preview to obtain preview_digest) and the alternative paths (restore to undo, purge to delete an expired batch). When-to-use and when-to-use-something-else are both spelled out.

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

aiworkhub_dashboard_storage_registration_pruneA

USER WRITE: prune stale AIWorkHub Git worktree registrations verified against a current preview digest.

Call aiworkhub_dashboard_storage_retention_preview first to obtain the registration preview_digest; use aiworkhub_dashboard_storage_quarantine to move physical worktree directories instead. Requires confirm=True, refuses when foreign stale registrations exist or the digest drifted, runs git worktree prune, records an audit entry, and invalidates storage telemetry.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to prune stale Git worktree registrations.
preview_digestYesstr registration preview digest from aiworkhub_dashboard_storage_retention_preview; stale digests fail closed.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses that the tool is a USER WRITE, refuses when foreign stale registrations exist or the digest drifted, runs git worktree prune, records an audit entry, and invalidates storage telemetry — exactly the behavioral context an agent needs for a mutating storage 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?

Two tight sentences, front-loaded with the action and scope, followed by prerequisites, alternatives, and refusal conditions. Every clause earns its place by adding an operational constraint or destination tool.

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

Completeness5/5

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

Given a mutating storage tool with no annotations but a full output schema, the description covers the required prerequisite, confirmation gate, refusal conditions, side effects, and alternative tool. It is complete enough for an agent to act safely without needing the output schema to explain returns.

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 100%, so the parameter semantics are already well documented in structured fields. The description reinforces that preview_digest comes from the preview tool and that confirm must be True, but it does not add syntax, format, or constraint details beyond what the schema already provides.

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?

States a specific verb and resource: pruning stale AIWorkHub Git worktree registrations. It adds the key qualifier that pruning is verified against a current preview digest, and explicitly distinguishes the action from physical directory quarantine.

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?

Explicitly instructs the agent to call aiworkhub_dashboard_storage_retention_preview first to obtain the digest, and names aiworkhub_dashboard_storage_quarantine as the alternative for moving physical worktree directories. It also states the confirm=True requirement, leaving little ambiguity about when and how to invoke it.

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

aiworkhub_dashboard_storage_restoreA

USER WRITE: restore a quarantined worker-worktree batch back to the repository worktree root.

Use this to roll back a quarantine batch listed by aiworkhub_dashboard_storage_retention_preview; use aiworkhub_dashboard_storage_purge to permanently delete an expired batch instead. Requires confirm=True, moves quarantined directories back without overwriting existing paths, reinstates Git worktree registrations when applicable, updates the batch manifest and audit log, and invalidates storage telemetry.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to execute the restore.
batch_idYesstr identifier of the storage quarantine batch to restore.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it declares the confirm=True gate, that existing paths are not overwritten, that Git worktree registrations are reinstated, that the batch manifest and audit log are updated, and that storage telemetry is invalidated. These are non-obvious side effects an agent could not infer from the schema.

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?

The lead sentence front-loads the operation, and the following sentence packs the routing rule and side effects without filler. The second sentence is dense with several clauses, but each clause carries information an agent needs.

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

Completeness5/5

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

An output schema exists, so return values need not be explained. Given the absence of annotations and the mutation's complexity, the description covers the safety gate, collision behavior, registration handling, and bookkeeping updates – enough for an agent to call it correctly.

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 100%, so both parameters are already documented in the schema. The description restates the confirm=True requirement and implies batch_id identifies the quarantine batch, adding no format, ID-shape, or sourcing detail beyond the structured fields – baseline 3 is appropriate.

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?

States a specific verb and resource with scope: 'restore a quarantined worker-worktree batch back to the repository worktree root'. It also distinguishes itself from the two nearest siblings, retention_preview and purge, by name.

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?

Explicitly says to use it 'to roll back a quarantine batch listed by aiworkhub_dashboard_storage_retention_preview' and to use 'aiworkhub_dashboard_storage_purge to permanently delete an expired batch instead'. Both the when and the when-not are given with the alternative named.

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

aiworkhub_dashboard_storage_retention_previewA
Read-only

READ-ONLY: preview reclaimable worker worktrees, stale Git registrations, and storage quarantine batches.

Use this first to obtain a fresh preview_digest before calling aiworkhub_dashboard_storage_quarantine or aiworkhub_dashboard_storage_registration_prune; use aiworkhub_dashboard_terminal_log_retention_preview or aiworkhub_dashboard_task_retention_preview for terminal logs or archived tasks. Scans worktree storage read-only without moving or deleting files.

NameRequiredDescriptionDefault
include_itemsNobool (default False); False folds lists to counts and top-ten candidates, True returns full candidate and batch lists.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces it by stating it scans without moving or deleting files, plus it discloses the side-effect-free preview_digest artifact expected by downstream tools. Return shape is covered by the output schema, so this is close to complete.

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, each earning its place: the first states scope and read-only nature, the second routes to correct downstream and alternative tools. Front-loaded with the key scoping constraint.

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

Completeness5/5

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

With annotations carrying the safety profile and an output schema covering return values, the description supplies the remaining needed context: what is scanned, that it is non-destructive, and how to sequence it before the mutation tools.

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?

Only one parameter with 100% schema description coverage, so the schema already fully documents include_items and the description adds nothing about it. Baseline 3 is appropriate.

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?

States a specific verb (preview) plus three concrete resources (worker worktrees, stale Git registrations, storage quarantine batches), and the READ-ONLY framing plus scoping distinguishes it clearly from sibling mutation tools like storage_quarantine and storage_registration_prune.

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?

Explicitly says to call this first to obtain a fresh preview_digest before the two downstream mutation tools, and names the alternative previews (terminal_log_retention_preview, task_retention_preview) for other resource types. Both when-to-use and when-not-to-use are covered.

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

aiworkhub_dashboard_task_archiveA

USER WRITE: archive one non-active task card in the canonical task store without deleting its evidence.

Use this to hide a finished, blocked, pending, or superseded task from the active queue; use aiworkhub_dashboard_task_restore to unarchive it or aiworkhub_dashboard_task_quarantine to move aged archived tasks into a retention batch. Requires confirm=True, refuses processing or review tasks, sets archived_at with an audit event, and invalidates storage telemetry.

NameRequiredDescriptionDefault
reasonNostr optional audit note (default "", truncated to 200 chars) recorded on the archive event.
confirmNobool (default False); must be True to archive the task.
task_idYesstr canonical task identifier to archive.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

No annotations exist, so the description carries full burden and does so: mutation semantics (archive, not delete, evidence retained), a confirm=True gate, refusal on processing/review tasks, side effects (sets archived_at, writes an audit event), and downstream impact (invalidates storage telemetry). That is precisely the behavioral context an agent needs before a write.

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, front-loaded with the write marker and the core action, and every clause carries distinct information. The second sentence is long and chains four separate traits, which could be bulleted, but nothing is wasted.

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

Completeness5/5

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

With an output schema present, return values needn't be explained, and the description covers purpose, prerequisites, refusals, state changes, and sibling routing. For a single-entity mutation with three fully documented params, nothing an agent needs is missing.

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 100%, so task_id, confirm, and reason are already documented in the schema, and the description's 'Requires confirm=True' duplicates that. The optional reason audit note is not mentioned in the description, so it adds no meaning beyond the structured fields. Baseline 3 applies.

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?

States a specific verb (archive) and resource (one non-active task card) in a named store, plus a scope qualifier ('without deleting its evidence'). The 'USER WRITE' prefix and 'non-active' constraint let an agent distinguish it from aiworkhub_task_archive and the manager/dashboard restore siblings without opening schemas.

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?

Gives an explicit when-to-use ('hide a finished, blocked, pending, or superseded task from the active queue') plus named alternatives with their conditions: task_restore for unarchiving and task_quarantine for aged archived tasks. It also states an exclusion ('refuses processing or review tasks'), covering when-not.

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

aiworkhub_dashboard_task_detailA
Read-only

READ-ONLY: return the canonical detail, events, and validation evidence for one task card.

Use this to inspect a specific task's contract, history, and attempt receipts; use aiworkhub_dashboard_snapshot for queue-wide status counts or aiworkhub_dashboard_task_live_output for live process stdout and stderr. Validates task_id format before querying read-only task storage and never mutates state.

NameRequiredDescriptionDefault
task_idYesstr canonical task identifier matching the repository task ID pattern.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

The readOnlyHint annotation already declares safety, but the description adds useful context: it validates task_id format before querying and never mutates state. It does not cover error behavior, but the annotations plus output schema reduce the burden on the description.

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 definition is short and front-loaded with the READ-ONLY guarantee. Every sentence contributes either purpose, routing guidance, or safety/validation context.

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

Completeness5/5

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

Given the single documented parameter, readOnly annotation, and existing output schema, the description provides enough information to select and invoke the tool correctly. It explains the returned content at a high level and routes users to alternatives when appropriate.

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 100% and the task_id parameter is already documented as a canonical identifier matching the repository pattern. The description adds that the format is validated before querying, but does not provide additional format details beyond the schema.

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 and resource: return canonical detail, events, and validation evidence for one task card. It also names the sibling tools for queue-wide status and live output, making the scope of this tool easy to distinguish.

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?

It explicitly says when to use this tool (inspecting one task's contract, history, attempt receipts) and when to use alternatives (snapshot for queue-wide counts, task_live_output for stdout/stderr). This gives clear routing guidance between related tools.

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

aiworkhub_dashboard_task_live_outputA
Read-only

READ-ONLY: read a bounded page of live stdout and stderr output for one task's active or latest worker run.

Use this to stream or page incremental worker process output from a byte cursor; use aiworkhub_dashboard_task_detail for the task contract and attempt history, or aiworkhub_dashboard_snapshot for queue-wide status. Validates task_id format and reads only that task's log files without mutating state.

NameRequiredDescriptionDefault
cursorNoint (default 0, clamped to >=0) byte offset from which to read the next output chunk.
task_idYesstr canonical task identifier whose worker output should be read.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description corroborates rather than contradicts by noting it reads only that task's log files without mutating state and validates task_id format. It falls short of disclosing end-of-stream behaviour, truncation, or rate/paging limits, so it is strong but not exhaustive.

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 dense sentences with the READ-ONLY guarantee front-loaded and the sibling routing in the second. No filler; every clause carries information.

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?

With an output schema present, the description needn't explain return values, and annotations cover the safety profile. Minor gaps remain around how a caller signals/paginates to completion, but nothing required to call it correctly is missing.

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 100% and the schema itself documents cursor clamping and default. The description still adds value by framing cursor as a byte offset for incremental paging and clarifying that task_id resolves to the active or latest worker run, which is not in the schema.

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?

States a specific verb (read), a specific resource (a bounded page of live stdout/stderr for one task's active or latest worker run), and scope (bounded page, single task). It also explicitly distinguishes itself from aiworkhub_dashboard_task_detail and aiworkhub_dashboard_snapshot by function.

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?

Gives explicit routing: use this for streaming/paging incremental worker output from a byte cursor, use task_detail for the task contract and attempt history, use snapshot for queue-wide status. An agent can select the right tool without inference.

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

aiworkhub_dashboard_task_quarantineA

USER WRITE: move aged archived task rows matching a current preview into a reversible retention batch.

Call aiworkhub_dashboard_task_retention_preview first with the same older_than_days cutoff to obtain preview_digest; use aiworkhub_dashboard_task_quarantine_restore to undo a batch or aiworkhub_dashboard_task_archive to archive one live task. Requires confirm=True and a matching preview_digest, records retired task outcomes in the roadmap store, moves task and event rows into task_retention_batches, and invalidates storage telemetry.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to quarantine the archived tasks.
preview_digestYesstr SHA-256 digest from aiworkhub_dashboard_task_retention_preview; mismatches fail closed.
older_than_daysNooptional int age cutoff in days (default None uses repository retention policy, valid range 7..3650).

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does: it discloses that confirm=True and a matching preview_digest are required, that the operation is reversible and undoable via quarantine_restore, and enumerates side effects (records retired outcomes in the roadmap store, moves task and event rows into task_retention_batches, invalidates storage telemetry). This is unusually complete 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.

Conciseness4/5

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

Front-loaded with the operation and its scope, then prerequisite, then alternatives, then side effects — a logical order. The final sentence packs four distinct effects into one long clause chain, which strains readability slightly, but no sentence is filler.

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

Completeness5/5

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

For a destructive-but-reversible mutation with no annotations and an output schema (so return values needn't be explained), the description covers prerequisites, safety requirements, reversibility path, downstream side effects, and sibling alternatives. Nothing an agent needs to call this correctly is missing.

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 100%, so the baseline is 3. The description adds genuine cross-parameter semantics not in the schema: older_than_days must match the cutoff used in the preview call, and confirm/preview_digest are jointly required. It does not restate the 7..3650 range or digest format, but the coupling constraint is the more valuable addition.

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+scope: 'move aged archived task rows matching a current preview into a reversible retention batch'. The 'USER WRITE' prefix and the qualifier 'reversible' immediately distinguish it from read-only sibling tools such as aiworkhub_dashboard_task_retention_preview.

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?

It states an explicit precondition — call aiworkhub_dashboard_task_retention_preview first with the same older_than_days cutoff to obtain preview_digest — and names the alternatives for the adjacent cases: quarantine_restore to undo a batch, task_archive to archive one live task. Both when-to-use and when-to-use-something-else are covered.

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

aiworkhub_dashboard_task_quarantine_purgeA
Destructive

DESTRUCTIVE: permanently delete one expired or already-restored archived-task quarantine batch.

Inspect batches with aiworkhub_dashboard_task_retention_preview first, or use aiworkhub_dashboard_task_quarantine_restore to recover tasks while the undo deadline is active. Requires confirm=True and an expired restore_deadline (unless already restored), deletes the batch payload from task_retention_batches, records a purged audit row, and invalidates storage telemetry.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to permanently purge the batch.
batch_idYesstr identifier of the task retention batch to permanently delete.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered; the description goes further by enumerating the concrete effects — payload deletion from task_retention_batches, a purged audit row, and invalidated storage telemetry — plus the precondition on restore_deadline. This is exactly the kind of beyond-annotation context that matters for an irreversible 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 'DESTRUCTIVE:' prefix is front-loaded before any procedural detail, and the two sentences are dense with preconditions, alternatives, and side effects without filler. Every clause earns its place.

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

Completeness5/5

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

With an output schema present, return values need not be explained. The description covers the irreversible nature, the required confirmation, the deadline precondition, alternatives for inspection and recovery, and the concrete downstream effects — everything an agent needs to invoke it safely.

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 100%, so both parameters are already documented, which sets a baseline of 3. The description adds real meaning on top: it clarifies that confirm=True is a hard requirement and that batch_id must reference a batch that is expired or already restored, a precondition absent from the schema.

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 and resource ('DESTRUCTIVE: permanently delete one expired or already-restored archived-task quarantine batch') and pins down scope to a single batch. An agent can distinguish this from the sibling quarantine, restore, and retention-preview tools without inspecting any schema.

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?

It names two concrete alternatives and the conditions that select them: inspect with aiworkhub_dashboard_task_retention_preview first, or recover with aiworkhub_dashboard_task_quarantine_restore while the undo deadline is active. It also states the gating prerequisites (confirm=True and an expired restore_deadline unless already restored), leaving nothing to inference.

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

aiworkhub_dashboard_task_quarantine_restoreA

USER WRITE: restore one archived-task retention batch back into the canonical task tables.

Use this to roll back a task retention batch listed by aiworkhub_dashboard_task_retention_preview; use aiworkhub_dashboard_task_restore instead to unarchive a single task that is still in the live tasks table. Requires confirm=True, checks for task_id collisions, reinserts tasks, task_events, and callback rows in one transaction, marks the batch restored, and invalidates storage telemetry.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to restore the batch.
batch_idYesstr identifier of the task retention quarantine batch to restore.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/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 and does well: it declares USER WRITE, requires confirm=True, mentions collision checks, transactional reinsertion of tasks/task_events/callback rows, batch restoration, and telemetry invalidation. It does not fully specify collision failure behavior or permission/auth requirements, so it falls short of a 5.

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 write-operation cue is front-loaded, followed by usage routing and then behavioral details. The description is dense but every clause adds relevant information, with 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?

Given full parameter schema coverage and an output schema, the description provides enough context to invoke the tool correctly: it covers prerequisites, transactional behavior, side effects, and alternatives. The main remaining gap is what happens when a task_id collision is detected.

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 100%, so both parameters are already well documented. The description reinforces that confirm=True is required and that batch_id identifies one quarantine batch, but adds little beyond the schema, making the baseline 3 appropriate.

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 and resource: restore one archived-task retention batch into canonical task tables. It also distinguishes the operation from single-task restore and from the retention preview, so an agent can identify the tool without inspecting siblings.

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?

It explicitly says to use this tool to roll back a batch listed by aiworkhub_dashboard_task_retention_preview, and directs the agent to aiworkhub_dashboard_task_restore instead for a single live task. The alternative and selection condition are both stated.

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

aiworkhub_dashboard_task_restartA

USER WRITE: recover one restartable task through its canonical state transition path and launch a worker.

Use this for operator-initiated retry and launch of a pending, blocked, or dead-processing task; use aiworkhub_dashboard_task_detail to inspect the card first. Requires confirm=True, refuses live processing or review/finished/archived/superseded tasks, reconciles dead claims or blocked state in the task store, spawns a worker via process_launcher, and invalidates storage telemetry.

NameRequiredDescriptionDefault
reasonNostr optional recovery note (default "" uses "owner manual restart", truncated to 200 chars).
confirmNobool (default False); must be True to recover and launch the task.
task_idYesstr canonical task identifier to recover and launch.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

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

With zero annotations the description carries the full burden and does so: it discloses the confirmation requirement (confirm=True), the write side effects (reconciles dead claims/blocked state in the task store, spawns a worker via process_launcher, invalidates storage telemetry), and the states it will refuse. That is exactly the mutation profile an agent needs before calling it.

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?

The opening sentence front-loads the action and side effect, and no clause is filler. The second sentence is a long run-on cramming prerequisite, refusals, store reconciliation, worker spawn, and telemetry invalidation into one chain, which is dense but still navigable.

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

Completeness5/5

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

For a complex three-parameter write tool with no annotations, the description covers prerequisites, eligible and ineligible states, side effects, and the recommended inspection step, while an output schema handles return values. Nothing essential to calling it correctly is missing.

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 100%, so the schema already documents task_id, confirm, and the reason note (including its 200-char truncation). The description only restates the confirm=True requirement and says nothing about the reason field, so it adds no meaning beyond structured data. Baseline 3 applies.

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?

It states a specific verb and resource ('recover one restartable task ... and launch a worker') plus the exact states it applies to (pending, blocked, dead-processing). The 'USER WRITE' prefix and the 'restartable task' framing let an agent separate it from read-only dashboard siblings without reading a schema.

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 gives explicit when-to-use conditions (operator-initiated retry of pending/blocked/dead-processing tasks) and when-not (refuses live processing, review/finished/archived/superseded), plus one named alternative, aiworkhub_dashboard_task_detail, for inspection first. It misses disambiguation from closely overlapping siblings such as aiworkhub_task_retry_terminal and aiworkhub_task_recover_blocked_rework, which is a real gap on a list this dense.

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

aiworkhub_dashboard_task_restoreA

USER WRITE: restore one archived task card in the canonical task store back to its prior status.

Use this to unarchive a single task archived via aiworkhub_dashboard_task_archive; use aiworkhub_dashboard_task_quarantine_restore instead if the task was already moved into a task-retention quarantine batch. Requires confirm=True, clears the archived overlay on the task row, records an audit event, and invalidates storage telemetry.

NameRequiredDescriptionDefault
reasonNostr optional audit note (default "", truncated to 200 chars) recorded on the restore event.
confirmNobool (default False); must be True to restore the archived task.
task_idYesstr canonical task identifier of the archived task to restore.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations at all, the description carries the full burden and does so: it labels this a USER WRITE, names the gating requirement (confirm=True), and enumerates side effects — clearing the archived overlay, writing an audit event, invalidating storage telemetry. Those are exactly the non-obvious consequences an agent needs before mutating state.

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, each earning its place: purpose first, routing/alternative second, side effects last. No filler or restatement of the tool name.

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

Completeness5/5

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

For a 3-parameter write tool, the description covers trigger, alternative, prerequisite, and downstream effects, and an output schema exists so return values need not be explained. An agent has everything needed to call it correctly.

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 100%, so task_id, confirm, and reason are already fully documented in the schema. The description only reiterates the confirm=True requirement and adds no format, identifier, or defaulting details beyond it; baseline 3 applies.

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?

States a specific verb and resource ('restore one archived task card in the canonical task store') plus the resulting state ('back to its prior status'). It is unmistakable against sibling aiworkhub_dashboard_task_quarantine_restore and the archive counterpart, which are named explicitly.

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?

Gives the positive trigger (unarchive a task archived via aiworkhub_dashboard_task_archive) and the explicit alternative with its distinguishing condition (use quarantine_restore if the task is already in a task-retention quarantine batch). Nothing is left to inference about when not to call it.

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

aiworkhub_dashboard_task_retention_previewA
Read-only

READ-ONLY: preview archived task rows eligible for retention quarantine and list existing undo batches.

Call this before aiworkhub_dashboard_task_quarantine to inspect candidate counts and obtain preview_digest; use aiworkhub_dashboard_task_archive to archive a single live task first. Opens the task database read-only, excludes archived tasks with pending or inflight callbacks, and never mutates task rows.

NameRequiredDescriptionDefault
older_than_daysNooptional int age cutoff in days (default None uses repository retention policy, valid range 7..3650).

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, and the description reinforces and extends that with concrete behavior: it opens the task database read-only, excludes archived tasks with pending or inflight callbacks, and never mutates task rows. It also discloses the preview_digest output, which an agent needs to chain into quarantine.

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?

Front-loads the READ-ONLY safety marker, then purpose, then prerequisites, in three short sentences with no filler. Each sentence carries distinct information (safety, ordering, exclusion semantics).

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

Completeness5/5

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

An output schema exists, so return values (including preview_digest) need no prose explanation, and the annotations cover the safety profile. For a zero-required-parameter preview tool, everything an agent needs to call it and then chain into quarantine is present.

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 100% and the single parameter already documents its default and the 7..3650 valid range, so baseline 3 applies. The description only implicitly conveys that the cutoff controls eligibility and adds no syntax or format detail beyond the schema.

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?

States a specific verb pair (preview / list) against a specific resource (archived task rows eligible for retention quarantine, plus existing undo batches), and names sibling tools it is not (quarantine, archive). An agent can distinguish it from aiworkhub_dashboard_task_quarantine and aiworkhub_dashboard_task_archive without opening any schema.

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?

Gives an explicit ordering rule: call this before aiworkhub_dashboard_task_quarantine to inspect candidate counts and obtain preview_digest. It also names an alternative path (aiworkhub_dashboard_task_archive) for the single-task case, so when-to-use and when-to-use-something-else are both stated.

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

aiworkhub_dashboard_terminal_log_purgeA
Destructive

DESTRUCTIVE: permanently delete one expired terminal-log quarantine batch from disk.

Inspect quarantine batches with aiworkhub_dashboard_terminal_log_retention_preview first, or use aiworkhub_dashboard_terminal_log_restore to recover files while the undo window is active. Requires confirm=True and an expired restore deadline on manual batches, permanently removes the batch directory, appends an audit record, and invalidates storage telemetry.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to permanently purge the batch.
batch_idYesstr identifier of the expired terminal-log quarantine batch to permanently delete.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the destructiveHint annotation by disclosing the confirm=True gate, the expired-restore-deadline precondition on manual batches, that the batch directory is removed, that an audit record is appended, and that storage telemetry is invalidated. These are real side effects an agent cannot infer from annotations.

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, front-loaded with the 'DESTRUCTIVE:' warning before any other detail, and every clause carries operative information (precondition, alternative, side effects). No filler.

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

Completeness5/5

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

An output schema exists so return values need no explanation, and the schema plus description together cover both parameters fully. For a two-parameter irreversible mutation, the agent has everything needed to decide and to call it 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?

Schema coverage is 100%, so the baseline is 3; the description adds a validity condition not in the schema — the batch must be expired and, for manual batches, past its restore deadline. It doesn't add anything for batch_id format beyond 'identifier', but the added precondition earns a step above baseline.

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?

States a specific verb and resource ('permanently delete one expired terminal-log quarantine batch from disk') with a scope limiter ('one expired batch'), so the agent knows exactly what unit of work it performs. It is clearly distinct from the sibling preview, restore, and quarantine tools.

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?

Explicitly routes the agent: inspect with aiworkhub_dashboard_terminal_log_retention_preview first, and use aiworkhub_dashboard_terminal_log_restore instead while the undo window is active. Both the alternative tool and the condition that selects it are named.

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

aiworkhub_dashboard_terminal_log_quarantineA

USER WRITE: move eligible terminal process log files matching a current preview into repo-local quarantine.

Call aiworkhub_dashboard_terminal_log_retention_preview first to obtain preview_digest, and run aiworkhub_dashboard_terminal_log_usage_backfill first if uncaptured usage receipts protect logs; use aiworkhub_dashboard_terminal_log_restore to undo. Requires confirm=True and a matching preview_digest, moves eligible log files into a quarantine batch with an undo window, records an audit event, and invalidates storage telemetry.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to move terminal log files to quarantine.
preview_digestYesstr SHA-256 digest from aiworkhub_dashboard_terminal_log_retention_preview; stale digests fail closed.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/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 does so well: it states confirm=True plus a matching preview_digest are required, that files go into a quarantine batch with an undo window (reversible), that an audit event is recorded, and that storage telemetry is invalidated. These are exactly the side-effect details an agent needs before a destructive-adjacent write.

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?

Front-loaded with the action and scope, then prerequisites, then effects — a sensible ordering. The second sentence is a long multi-clause run-on packing prerequisites and side effects together, which is efficient but slightly dense.

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

Completeness5/5

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

For a two-parameter write tool with an output schema and no annotations, the description covers prerequisites, required confirmation, reversibility/undo window, audit recording, and downstream telemetry invalidation. Nothing essential to correct invocation is missing.

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 100%, so both confirm and preview_digest are already explained in the schema, including stale-digest fail-closed behavior. The description restates the confirm=True and digest-matching requirements but adds no format or syntax detail beyond the structured fields, so the baseline of 3 applies.

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?

States a specific verb (move) and resource (terminal process log files matching a current preview) with explicit scope (repo-local quarantine). The 'USER WRITE' prefix and eligibility qualifier let an agent distinguish this from retention_preview, restore, and purge siblings without opening schemas.

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?

Gives explicit ordering prerequisites: call aiworkhub_dashboard_terminal_log_retention_preview first for preview_digest, and run usage_backfill first if uncaptured usage receipts protect logs. It also names the undo path (aiworkhub_dashboard_terminal_log_restore), leaving nothing to inference.

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

aiworkhub_dashboard_terminal_log_restoreA

USER WRITE: restore one terminal-log quarantine batch back into the repository process log directory.

Use this to recover quarantined log files from a batch listed in aiworkhub_dashboard_terminal_log_retention_preview; use aiworkhub_dashboard_terminal_log_purge to permanently delete an expired batch instead. Requires confirm=True, moves quarantined files back without overwriting existing files, updates the batch manifest and audit trail, and invalidates storage telemetry.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to restore the quarantined log files.
batch_idYesstr identifier of the terminal-log quarantine batch to restore.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/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 behavioral burden and does well: it discloses that this is a USER WRITE operation, requires confirm=True, restores files without overwriting existing ones, updates the batch manifest and audit trail, and invalidates storage telemetry. It does not explicitly discuss permissions or reversibility, but the key side effects are disclosed.

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 front-loaded with the operation type and purpose, followed by usage guidance and behavioral consequences. Every sentence contributes useful information without wasted repetition.

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?

Given that no annotations are present but an output schema exists, the description supplies the important behavioral context an agent needs: write scope, confirmation requirement, no-overwrite behavior, and audit/telemetry effects. It could be slightly more complete by mentioning authorization or error conditions, but it is largely sufficient.

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 100%, so both parameters are already well documented in the schema. The description reinforces the confirm=True requirement and ties batch_id to a batch listed in the retention preview, but adds little parameter syntax or format detail beyond the schema.

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 and resource: restore one terminal-log quarantine batch back into the repository process log directory. It clearly distinguishes this recovery action from permanent deletion by naming the purge tool as the alternative.

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?

It explicitly says when to use this tool: recover quarantined log files from a batch listed in aiworkhub_dashboard_terminal_log_retention_preview. It also names the contrasting alternative, aiworkhub_dashboard_terminal_log_purge, for permanent deletion of an expired batch.

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

aiworkhub_dashboard_terminal_log_retention_previewA
Read-only

READ-ONLY: preview reclaimable terminal process log files, protected logs, and terminal-log quarantine batches.

Call this before aiworkhub_dashboard_terminal_log_quarantine to inspect candidates and obtain preview_digest, or call aiworkhub_dashboard_terminal_log_usage_backfill when runs lack usage receipts; use aiworkhub_dashboard_storage_retention_preview for worktrees. Scans process logs read-only while excluding the canonical request ledger.

NameRequiredDescriptionDefault
limitNoint (default 50, clamped to 1..200) maximum number of candidate and protected entries returned per page.
cursorNoint (default 0, clamped to >=0) zero-based pagination offset into candidate and protected log lists.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful scope: it 'scans process logs read-only while excluding the canonical request ledger' and returns a 'preview_digest' for the subsequent quarantine step. It does not describe pagination behavior or return format, but with annotations and an output schema, that is a minor gap.

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, front-loaded with 'READ-ONLY' and the core purpose, then routing guidance. No filler; every clause contributes to correct selection.

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

Completeness5/5

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

Given the output schema exists and the schema fully documents parameters, the description covers everything an agent needs: purpose, safety, scope (excludes request ledger), and precise routing to alternatives. Nothing material is missing.

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 100%, so both parameters (limit, cursor) are fully documented with defaults, clamping, and semantics. The description adds no parameter-specific detail beyond what the schema provides, so the baseline of 3 applies.

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?

States a specific verb (preview) and resource (reclaimable terminal process log files, protected logs, terminal-log quarantine batches) and distinguishes itself from siblings by naming the quarantine and usage_backfill tools. An agent can tell exactly what this tool enumerates without opening the schema.

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?

Explicitly says when to call this tool ('before aiworkhub_dashboard_terminal_log_quarantine'), what it produces ('preview_digest'), and names two alternatives with their conditions ('usage_backfill when runs lack usage receipts', 'storage_retention_preview for worktrees'). This is near-complete routing guidance.

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

aiworkhub_dashboard_terminal_log_usage_backfillA

USER WRITE: idempotently backfill missing provider usage receipts from retained terminal stdout logs.

Use this before aiworkhub_dashboard_terminal_log_quarantine when terminal runs remain protected due to missing usage capture receipts; use aiworkhub_dashboard_terminal_log_retention_preview to inspect protected runs first. Requires confirm=True, parses retained worker stdout logs without estimating tokens or cost, appends canonical usage capture events to the task store, and leaves already-captured runs unchanged.

NameRequiredDescriptionDefault
confirmNobool (default False); must be True to scan terminal logs and append usage capture events.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/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 and does well: it declares the write is idempotent, that confirm=True is required, that it reads retained stdout without estimating tokens or cost, that it appends canonical usage capture events, and that already-captured runs are untouched. It stops short of failure modes (no logs present, partial scan) or any permission/rate context.

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 tight sentences with the operation class and idempotency front-loaded, then routing guidance, then side effects. No filler and nothing important buried.

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 mutating backfill tool with an output schema already covering return values, the description covers purpose, gate, side effects, and idempotency. Minor residual gap: what happens when no qualifying logs exist or how partial/failed backfills leave the task store.

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 100% for the single 'confirm' parameter, so baseline is 3; the description adds the consequence of the flag ('Requires confirm=True' gating a log scan plus event append), reinforcing what the parameter unlocks rather than just restating it.

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?

States a specific verb and resource ('idempotently backfill missing provider usage receipts from retained terminal stdout logs') and labels the operation class up front with 'USER WRITE'. An agent can distinguish it from quarantine/restore/purge siblings without opening the schema.

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?

Explicitly names the sibling it must precede ('Use this before aiworkhub_dashboard_terminal_log_quarantine when terminal runs remain protected due to missing usage capture receipts') and names the read-only alternative to inspect state first ('retention_preview'). The triggering condition is spelled out, not inferred.

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

aiworkhub_dispatcher_ensure_startedA

Idempotently ensure exactly one callback dispatcher is running for the active repository, bound to the currently-selected coordinator target (B857). Called by the VS Code extension after every MCP handshake (activation, tab-deserialization, reload) and after an explicit coordinator-target switch -- never starts a second thread and never marks an uninitialized repository as degraded.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and discloses key traits: idempotent, exactly one dispatcher, bound to the current coordinator target, never starts a second thread, and never marks an uninitialized repository as degraded. It still lacks failure-mode or permission details, but for a zero-parameter lifecycle tool this is substantial.

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?

The description is front-loaded with the core action and constraints, and every sentence contributes context about invocation or guarantees. The parenthetical '(B857)' and some caller-specific detail are slightly extraneous, but overall it is appropriately sized and structured.

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

Completeness5/5

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

For a zero-parameter lifecycle tool with an output schema, the description covers purpose, idempotency, binding, and caller conditions. Return values are handled by the output schema, so no critical information is missing for correct invocation.

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?

There are zero parameters, so the baseline is 4. The description adds no parameter semantics because none exist, and the empty schema fully covers the invocation surface.

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 ('ensure started') and resource ('callback dispatcher'), scoped to the active repository and coordinator target. It clearly distinguishes this lifecycle action from siblings like dispatcher_stop, dispatcher_health, and source_graph_ensure_started.

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 gives explicit when-to-use context: after every MCP handshake (activation, tab-deserialization, reload) and after a coordinator-target switch. It does not name alternatives or state when not to use it, but the usage conditions are clear enough for an agent to understand the trigger.

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

aiworkhub_dispatcher_healthA
Read-only

READ-ONLY: dispatcher running/stopped, selected coordinator target, repository identity, pending callback count, and last delivery/error.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, and the description reinforces this with an explicit READ-ONLY label. It also adds useful behavioral context by listing the health signals returned, including pending callback count and last error, rather than merely restating the annotation.

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 compact sentence with the READ-ONLY constraint front-loaded and the observable health signals listed immediately after. It contains no filler or redundant explanation.

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

Completeness5/5

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

With no input parameters, readOnlyHint=true, and an output schema present, the description provides everything needed for correct invocation: it is read-only, it reports dispatcher health, and it names the key status fields. No material calling context is missing.

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?

There are zero input parameters, so the baseline is 4. The description appropriately does not spend space explaining nonexistent parameters and instead focuses on what the health check reports.

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 this as a read-only dispatcher health/status tool and enumerates the specific status signals it exposes: running/stopped state, coordinator target, repository identity, pending callbacks, and last delivery/error. It is clear what the tool does, though it does not explicitly distinguish itself from sibling dispatcher tools such as ensure_started, stop, or watchdog.

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?

Usage is implied by the nature of a health/status tool and the READ-ONLY label, but the description does not explicitly say when to call this versus dispatcher_watchdog, dispatcher_ensure_started, or dispatcher_stop. An agent can infer it is for inspection rather than mutation, but the guidance is not explicit.

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

aiworkhub_dispatcher_stopA

Stop and unregister the active repository's callback dispatcher, if any. Called on workspace/repository switch and extension deactivation so no cross-repository read or delivery can happen afterward.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/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 usefully discloses idempotent behavior via 'if any' and the consequence ('no cross-repository read or delivery can happen afterward'), but says nothing about error modes or whether stopping an unstarted dispatcher errors versus no-ops.

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 short sentences, no filler; the action and its scope are front-loaded before the rationale. Every clause earns its place.

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?

An output schema exists, so return values need not be described, and the description covers action, scope, and effect. Only minor operational detail (idempotence edge cases, error behavior) is absent.

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?

Zero parameters, so the baseline is 4; there is no argument surface for the description to clarify, and it correctly implies a no-argument invocation.

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?

States a specific verb pair ('Stop and unregister') and a specific resource ('the active repository's callback dispatcher'), explicitly scoping to the active repo. It is clearly distinguishable from sibling aiworkhub_dispatcher_ensure_started and other dispatcher 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?

It names the triggering contexts ('workspace/repository switch and extension deactivation'), which tells the agent when this is invoked. It does not explicitly name the opposite tool (dispatcher_ensure_started) or state when not to call it, so it stops short of a full routing statement.

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

aiworkhub_dispatcher_watchdogA

Detect and auto-recover a down-but-expected callback dispatcher.

Intended for the VS Code extension's periodic refresh: when dispatch is expected for this process (extension-owned coordinator or verified Claude manager) but the dispatcher is unregistered/stopped, lost its repo_id, or reports a start error, this re-ensures it in place. A healthy dispatcher, a manager-inbox session, or a process where dispatch is not expected is left untouched. Accumulated durable-outbox callbacks replay automatically once the dispatcher is back.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/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; it discloses that the operation is mutating ('auto-recover', 're-ensures it in place'), defines the exact unhealthy states handled, and notes the downstream effect that durable-outbox callbacks replay after recovery. It does not cover permissions, idempotency, or failure modes, so it is strong but not exhaustive.

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?

Purpose is front-loaded in the first sentence, and each subsequent sentence adds a distinct behavioral or scoping detail without repetition. The length is appropriate for the recovery logic being described.

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

Completeness5/5

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

The tool takes no arguments and has an output schema, so the description only needs to explain the conditions, side effects, and intended caller context, all of which it does. No invocation-critical information is missing.

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?

There are zero parameters, so the schema already covers the invocation contract completely and the description has no parameter semantics to add. The baseline for a zero-param tool is 4.

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 first sentence gives a specific verb ('Detect and auto-recover') and resource ('down-but-expected callback dispatcher'). The remainder distinguishes this from a general dispatcher ensure/start operation by naming the exact expected-but-unhealthy states it acts on.

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 states the intended context ('VS Code extension's periodic refresh') and the conditions that trigger recovery versus the cases left untouched (healthy dispatcher, manager-inbox session, dispatch not expected). It does not name sibling alternatives such as aiworkhub_dispatcher_ensure_started or aiworkhub_dispatcher_health.

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

aiworkhub_environment_preflightA
Read-only

READ-ONLY: unified repository/policy/Source Graph/provider readiness.

Provider access is reported as observed only when an adapter-specific bridge or credential readiness source proves it; installed CLI binaries alone remain installed_unverified_access.

detail="summary" (default) folds Source Graph's refresh-job report to identity plus state, providers to a flat {adapter_id: status} map, provider_route_contracts.route_families to one {family, status, count} row each, policy to its verdict fields, worker_finalization to its state fields, and each of provider_summary's route/capability lists and its route_status_questions block to a count plus a short id preview (or identity); with adapter_id given, providers and provider_observability.adapters/providers are filtered to that adapter. detail="evidence" behaves like "full": both return repo_policy.build_preflight exactly.

NameRequiredDescriptionDefault
detailNosummary
adapter_idNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and the description agrees ('READ-ONLY'), so no contradiction. It adds real behavioral semantics beyond annotations: provider access is only 'observed' when an adapter bridge or credential source proves it, and bare installed binaries stay 'installed_unverified_access' — a trust/falsifiability rule an agent could not infer otherwise.

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

Conciseness2/5

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

The purpose and the unverified-access rule are front-loaded and earn their place, but the bulk is a single dense, backtick-laden sentence enumerating output folding that the tool already exposes via an output schema. It reads as implementation documentation rather than call guidance, making it hard to scan.

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?

With annotations covering safety, an output schema covering returns, and only two optional parameters, the description is close to sufficient for correct invocation. What it omits is the selection context — why an agent would call preflight rather than a specific subsystem health tool — and it spends its length re-describing returns instead.

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%, so the description must carry the load and largely does: it explains that 'summary' is the default, that it folds specific sub-blocks into counts/identity, and that 'evidence' is equivalent to 'full' and returns repo_policy.build_preflight unchanged. It also explains that passing adapter_id filters providers and provider_observability to that adapter. Only the handling of an unknown adapter_id is left unstated.

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 opening line names the resource set precisely: unified readiness for repository, policy, Source Graph, and providers. The 'preflight' framing plus 'READ-ONLY' makes the read/aggregate nature clear. It does not differentiate itself from nearby readiness siblings (dashboard_health, source_graph_health, cli_adapter_report_readonly), so it stops short of a 5.

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 usage through the default: use 'summary' unless you need the exact build_preflight payload, in which case use 'evidence'/'full'. There is no guidance on when to run this preflight versus the many per-subsystem health/report siblings, and no stated prerequisites or 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.

aiworkhub_eval_artifact_gateB
Read-only

READ-ONLY: recompute registered eval verdicts from retained rows.

A PASS over zero eligible rows or a summary/count/aggregate divergence is returned as blocking evidence. The tool never rewrites an artifact.

NameRequiredDescriptionDefault
changed_pathsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior4/5

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

Consistent with readOnlyHint=true and adds real context beyond the annotation: a PASS on zero eligible rows is treated as failing/blocking evidence, and the tool explicitly never rewrites an artifact. That subtle "empty result is not a pass" behavior is exactly the kind of thing annotations cannot express. It stops short of naming the recompute mechanism 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.

Conciseness4/5

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

Two tight sentences, with the READ-ONLY qualifier and the core action front-loaded. Minor waste from hard line breaks inside sentences and the somewhat redundant restatement that it never rewrites an artifact, but overall efficient.

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?

An output schema exists, so return values need not be explained. However, for a gate tool whose only input is undocumented, the description omits what "changed paths" does to the evaluation scope and what "retained rows" covers — enough gaps that an agent must guess at invocation semantics.

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 single parameter changed_paths has 0% schema description coverage, so the description carries the full burden — yet it never mentions the parameter at all. An agent cannot tell whether it is required (it's optional), what form paths take, or how null differs from a list.

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?

"Recompute registered eval verdicts from retained rows" gives a specific verb (recompute) and resource (eval verdicts), but the scope words ("registered", "retained rows") are internal jargon an agent cannot map to anything concrete. Nothing distinguishes it from nearby verification tools such as aiworkhub_source_graph_retrieval_eval or aiworkhub_quality_gate_ratchet.

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 never says when to call this tool versus the numerous other quality/eval siblings, nor what prerequisite state must exist (registered verdicts, retained rows). Only the post-condition of the call (blocking evidence on divergence) is implied, not the trigger for invoking it.

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

aiworkhub_known_bug_scanA
Read-only

READ-ONLY: scan bounded changed paths for known bug patterns.

Native and SARIF outputs preserve the same truth boundary: a static candidate is not reported as runtime-reproduced evidence.

NameRequiredDescriptionDefault
changed_pathsYes
output_formatNonative

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

The description reinforces the readOnlyHint annotation and adds genuine behavioral context beyond it: results are 'static candidates' never reported as 'runtime-reproduced evidence,' and that truth boundary holds across both output formats. That is a valuable semantic guarantee. It stops short of disclosing bounds (how many paths, size limits) or what pattern set is used.

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 tight sentences, front-loaded with the READ-ONLY marker and the action, so the key constraint lands first. The second sentence is dense but each clause adds real meaning; only the line wrapping adds noise.

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

Completeness5/5

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

An output schema exists, so return values need no prose. For a read-only, two-parameter scan fully covered by annotations, the only remaining gap is the exact meaning of 'bounded' — minor against a definition that already states the evidence-quality guarantee.

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 carries the burden, and it only partially compensates. It names the two output modes ('Native and SARIF') matching the output_format enum and hints at a limit via 'bounded changed paths,' but never explains what the bounding rule is or what form the path strings should take.

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 specific verb and resource: 'scan bounded changed paths for known bug patterns.' An agent can tell this is a static pattern scan over a supplied path list rather than a runtime test or full quality gate. It does not explicitly contrast with siblings like aiworkhub_quality_run_checks, but no sibling covers the same ground.

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?

There is no explicit statement of when to use this versus alternatives such as quality_run_checks or contract_consistency_check, nor any prerequisite or exclusion. The only contextual hint is 'changed paths,' which implies a diff-scoped workflow but leaves selection to inference.

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

aiworkhub_launch_queue_audit_summary_readonlyA
Read-only

READ-ONLY: summarize the append-only B119 launch-queue audit JSONL log.

Delegates to launch_queue_persist.read_persisted_log, which only reads the log file (plain open(..., "r"), and reports log_exists=False without creating it when absent) and never writes, never enables writes, never launches a process. Same shape as aiworkhub_task_audit_log_read: counts by decision/to_state plus the last N entries, and reports whether every persisted entry so far is blocked_launch_disabled -- the expected state while AIWORKHUB_ALLOW_LAUNCH / _ALLOW_WRITES stay unset (the default).

FROZEN READ-ONLY CONTRACT -- no write-gate toggle, no mutation parameters. Never mutates queue or audit state. Never launches agents or processes.

NameRequiredDescriptionDefault
max_entriesNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is partly pre-covered, yet the description adds genuinely new traits: it reads with plain open(...,'r'), reports log_exists=False without creating the file, and interprets whether all persisted entries are 'blocked_launch_disabled' as the expected steady state. The repeated 'never writes / never launches' clauses and internal module path add bulk but little extra behavior.

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 lead sentence is well front-loaded, but the body repeats the same no-write guarantee three times ('never writes', 'Never mutates queue or audit state', 'FROZEN READ-ONLY CONTRACT') and spends space on internal implementation details (launch_queue_persist.read_persisted_log) that do not help an agent decide or call.

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?

An output schema exists, so return values need not be spelled out, and the description still characterizes the summary shape and the expected-state flag. Combined with annotations covering read safety and only one optional param, the only missing piece is guidance on choosing this over its sibling readonly tools.

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% for the single optional parameter max_entries, so the description carries the burden. It only alludes to it obliquely via 'the last N entries' without explaining the default, bounds, or whether it truncates the summary counts. For one trivially tunable param a baseline 3 is fair, but the gap is real.

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 specific verb and resource: 'summarize the append-only B119 launch-queue audit JSONL log', and adds the actual output content (counts by decision/to_state plus last N entries). It does not name the closely related siblings (launch_queue_describe_readonly, launch_queue_evaluate_readonly), so the agent must infer the boundary from the word 'audit'.

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?

Usage context is implied rather than stated: the description explains what state is expected ('blocked_launch_disabled' while AIWORKHUB_ALLOW_LAUNCH is unset) which hints at its diagnostic purpose, but never says when to pick this over describe/evaluate or task_audit_log_read. The only routing aid is the shape analogy to aiworkhub_task_audit_log_read, which presupposes the agent knows that tool.

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

aiworkhub_launch_queue_describe_readonlyB
Read-only

READ-ONLY: describe a launch INTENT via the disabled B119 launch_queue_contract.

Builds a pure LaunchRequest (enqueue_intent) and returns describe_intent's dry-run intent + gate evaluation as data. describe_intent is always invoked with audit=False here (the only other value the contract accepts, True, raises LaunchDisabledError rather than writing anything -- this tool never passes it). launch_enabled() stays hardcoded False and LAUNCH_IMPLEMENTED stays False regardless of any env flag; no launcher exists in the code path this tool reaches, so it can never start a process.

FROZEN READ-ONLY CONTRACT -- no write-gate toggle, no audit parameter. Never mutates queue or audit state. Never launches agents or processes.

NameRequiredDescriptionDefault
topicYes
runnerYes
task_idYes
priorityNonormal
adapter_idYes
argv_templateNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description extensively discloses behavior: describe_intent is always invoked with audit=False, True raises LaunchDisabledError, launch_enabled() is hardcoded False, LAUNCH_IMPLEMENTED is False, and no launcher exists in the code path. It explicitly states the tool never mutates queue or audit state and never launches agents or processes, adding strong assurance beyond what annotations alone provide.

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 description is front-loaded with 'READ-ONLY' and structured into paragraphs, but it contains some repetition: the opening 'READ-ONLY' and the closing 'FROZEN READ-ONLY CONTRACT... Never mutates... Never launches...' restate the same safety facts. The middle paragraph is dense with internal implementation details that could be tightened.

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 and 0% schema coverage, the description should compensate by explaining parameter meanings, but it does not address them at all. The output schema covers return values and annotations cover read-only behavior, but the missing parameter guidance makes the definition incomplete for correctly invoking 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% for six parameters (task_id, runner, topic, adapter_id, priority, argv_template), and the description provides no parameter-level meaning or usage guidance. It mentions LaunchRequest and enqueue_intent in passing but never explains what any of the six parameters represent or how they should be supplied.

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: 'describe a launch INTENT via the disabled B119 launch_queue_contract' and explains it returns 'dry-run intent + gate evaluation as data.' However, it does not explicitly distinguish this tool from close siblings like aiworkhub_launch_queue_evaluate_readonly or aiworkhub_launch_queue_audit_summary_readonly.

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 says it is read-only and describes an intent, but gives no explicit guidance on when to use it versus alternatives. It never names the similar evaluate_readonly or audit_summary_readonly siblings or states selection conditions. The implied use case is a read-only intent description, but no exclusions or alternative routing are provided.

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

aiworkhub_launch_queue_evaluate_readonlyB
Read-only

READ-ONLY: evaluate a launch request via the disabled B119 launch_queue_contract.

Builds a pure LaunchRequest (enqueue_intent) and returns evaluate_launch's gate-evaluation decision. permitted is always False: this contract has no implemented launcher, so the request stays blocked_launch_disabled regardless of env gate state. Writes nothing: no persistence call is made and no process is launched.

FROZEN READ-ONLY CONTRACT -- no write-gate toggle, no mutation parameters. Never mutates queue or audit state. Never launches agents or processes.

NameRequiredDescriptionDefault
topicYes
runnerYes
task_idYes
priorityNonormal
adapter_idYes
argv_templateNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the readOnlyHint annotation: permitted is always False, the request stays blocked_launch_disabled regardless of environment gate state, no persistence is made, no process is launched, and neither queue nor audit state is mutated. This makes the tool's side-effect profile and fixed outcome very clear.

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?

The description is front-loaded and organized into short paragraphs, with the read-only nature and disabled outcome stated immediately. It is somewhat repetitive about being read-only, writing nothing, and never mutating state, but the repetition reinforces important safety behavior rather than obscuring it.

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 is complete on behavioral constraints and the fixed blocked outcome, and an output schema exists so return values need not be explained. But with six input parameters at 0% schema description coverage, the definition leaves a clear gap: an agent still lacks guidance on what the required inputs mean or how to supply them correctly.

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 input schema has six parameters and zero description coverage, and the description does not explain any parameter's meaning, expected format, or role. Mentioning that it builds a pure LaunchRequest is not enough to compensate for the missing semantics of task_id, runner, topic, adapter_id, priority, and argv_template.

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: evaluate a launch request via the disabled B119 launch_queue_contract. It also clarifies that this is read-only and never launches, which helps separate it from actual launch tools. However, it does not explicitly differentiate itself from sibling read-only launch queue tools such as aiworkhub_launch_queue_describe_readonly.

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 provides context that this is a frozen read-only contract with no implemented launcher, implying diagnostic use. But it gives no explicit when-to-use guidance, no alternatives, and no exclusions relative to the many sibling launch and queue tools.

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

aiworkhub_manager_ai_memory_getB
Read-only

MANAGER READ: exact active canonical AI Memory lookup.

NameRequiredDescriptionDefault
keyYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

The readOnlyHint annotation already declares the safety profile, so the description's burden is lighter. It does add meaningful scope ('active canonical') implying non-canonical or retired entries will not be returned, but it says nothing about miss behavior when the key is absent.

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?

A single front-loaded phrase with no filler; the 'MANAGER READ:' prefix signals role and safety at a glance. Slightly terse for the amount of behavior it leaves unstated, but nothing is wasted.

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?

An output schema exists, so return-value explanation is not required, and one-parameter scope keeps things simple. Still missing key format guidance and not-found behavior, both of which matter for a canonical-retrieval 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% for the single 'key' parameter, so the description must compensate and largely does not. 'exact' hints that the key is a literal match rather than a pattern, but no key format, namespace, or example is given.

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 specific operation on a specific resource: an exact-key lookup of an 'active canonical AI Memory' entry. The word 'exact' distinguishes it from the sibling search/related tools by implication, though it never names them explicitly.

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?

'exact ... lookup' implies the caller must already know the key and should use the search sibling otherwise, but this is left to inference. There is no explicit when-to-use, when-not-to-use, or named alternative despite three AI Memory siblings existing.

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

aiworkhub_manager_ai_memory_writeC

MANAGER WRITE: remember, update, supersede, or archive canonical memory.

NameRequiredDescriptionDefault
keyYes
tagsNo
scopeNoproject
valueNo
actionYes
provenanceYes
idempotency_keyYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/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 behavioral burden. 'MANAGER WRITE' implies mutation, but nothing is said about required permissions, reversibility, why idempotency_key and provenance are mandatory, or what supersede/archive do to existing entries. Large gaps for a mutation 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.

Conciseness4/5

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

A single front-loaded sentence with no wasted words and the operation set stated up front. It is concise, though the 'MANAGER WRITE:' prefix is a mild stylistic artifact rather than content.

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?

An output schema exists so return values need no explanation, but a 7-param mutation tool with no annotations and 0% schema coverage requires far more than this one-liner: no scope defaults, no idempotency semantics, no destructive-action warnings, and no action-selection guidance.

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 both schema and description leave all 7 parameters undocumented. The description echoes the action enum values but adds nothing about key, value, tags, scope, provenance, or idempotency_key semantics, failing to compensate for the coverage gap.

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 specific verb+resource ('WRITE... canonical memory') and enumerates the four operations, which distinguishes it from read siblings like ai_memory_search and ai_memory_get. It's clear what the tool does, though it never explicitly names the read-side counterparts.

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?

Lists the four actions but gives no guidance on when to choose remember vs update vs supersede vs archive, no prerequisites, and no exclusions. An agent must infer the routing logic entirely from the enum.

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

aiworkhub_manager_bootstrapB

CALL FIRST: mandatory repository manager contract and callback workflow.

The identity block -- role, verified route, repository and storage readiness, task health, the last hygiene pass and the Claude-route dispatcher state -- is on every reply, so repository_current and task_health need no call of their own. The contract prose is delivered once per verified session and then suppressed with its sha; pass include_contract=true to re-read it, or known_contract_sha256 to prove you already hold it.

A reply that suppresses the contract (contract_delivered=false) is the steady-state one, and it was measured at up to 11 KB -- most of it the last hygiene pass's per-task detail and the reconciler's own internals, which no caller gates on (NF-2026-01447). Those bodies are dropped from task_hygiene/task_health and replaced by the names omitted plus the block's sha256/bytes, so nothing silently disappears; the verdicts and counts beside them stay exact. include_diagnostics=true keeps them.

NameRequiredDescriptionDefault
include_contractNo
include_diagnosticsNo
known_contract_sha256No

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description bears the full transparency burden. It discloses that contract prose is delivered once per session and then suppressed with its sha, and that steady-state replies drop detailed bodies from task_hygiene/task_health, replacing them with names and hashes. But it omits auth requirements, error handling, and whether the tool mutates any 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 description is long and somewhat rambling, with a dense second paragraph about data suppression that could be tightened. It is front-loaded with the imperative 'CALL FIRST', but the structure is not optimally concise and includes redundant phrasing.

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 and the existence of an output schema, the description need not detail return values but should clarify the contract, callback workflow, and identity block. It covers the suppression mechanics but leaves the nature of the 'contract' and 'callback workflow' unexplained, making it incomplete for a mandatory first-call tool.

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%, so the description must compensate. It meaningfully explains all three parameters: include_contract=true re-reads the contract, known_contract_sha256 proves prior receipt, and include_diagnostics=true restores dropped details. While it does not cover formats or defaults in depth, it adds clear semantic value beyond the schema's bare names.

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 delivers a 'mandatory repository manager contract and callback workflow' and is the 'CALL FIRST' tool, but it does not clearly define what the tool actually returns or does beyond contract delivery. The inclusion of identity-block elements and the suppression mechanism adds detail, yet the core purpose remains abstract and jargon-heavy.

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?

It explicitly says 'CALL FIRST' and describes when to use include_contract and known_contract_sha256, implying it is the initial call. However, it provides no guidance on when NOT to use it, no alternatives for other bootstrap-like actions, and no prerequisites or failure scenarios.

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

aiworkhub_manager_context_graph_event_writeC

MANAGER WRITE: append one exact current-thread conversation event.

NameRequiredDescriptionDefault
roleYes
contentYes
task_idNo
metadataNo
event_typeYes
source_refYes
idempotency_keyYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/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 of behavioral disclosure. It discloses that this is an append/write operation and scopes it to the current thread, but does not explain idempotency behavior, required permissions, error conditions, or whether appends are reversible or deduplicated.

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?

The description is a single front-loaded sentence with no filler, which is structurally efficient. However, the phrase 'one exact current-thread conversation event' is slightly terse/cryptic and could be clearer without becoming verbose.

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 mutation tool with 7 parameters, 0% schema description coverage, and no annotations, the description is far too sparse. It conveys the core action and current-thread scope, and an output schema exists so return values need not be described, but it omits parameter guidance and critical behavioral context needed to invoke the tool safely.

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% across 7 parameters, with 5 required fields including role, event_type, content, source_ref, and idempotency_key. The description mentions no parameter names or meanings, so it fails to compensate for the undocumented schema and leaves the agent without required input 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?

States a specific verb, resource, and scope: 'append one exact current-thread conversation event.' An agent can tell it is a write operation for conversation events, but the description does not differentiate it from sibling write tools such as context_write_intents or session_write.

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?

Provides no explicit when-to-use guidance, no when-not-to-use conditions, and no named alternatives. The 'MANAGER WRITE' prefix implies a manager-level write, but does not tell the agent when this tool is appropriate versus other context or memory write tools.

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

aiworkhub_manager_context_graph_rangeA
Read-only

MANAGER READ: retrieve an exact bounded transcript range around one event.

NameRequiredDescriptionDefault
afterNo
beforeNo
thread_idYes
around_event_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

readOnlyHint=true is already in annotations, so the safety profile is covered; the description adds value beyond that by declaring the access tier ('MANAGER READ') and that the result is an exact, bounded window rather than a heuristically ranked set. It does not say what happens at thread boundaries or when the anchor event is missing, which keeps it from a 5.

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?

A single front-loaded sentence with the access tier first and the operation second; nothing is wasted. It is arguably too compressed for a four-parameter tool, but as a conciseness/structure measure it is clean.

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?

An output schema exists, so return shape needn't be described, and annotations cover read-only safety. The remaining gap is parameter semantics: with 0% schema coverage, an agent still cannot tell what units before/after take, what the defaults mean, or how the range is clamped, so the definition is only minimally sufficient.

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 all four parameters carry only titles; the description does establish the roles of around_event_id (the anchor) and before/after (the bound) and thread_id (the transcript scope). It still omits that before/after are counts defaulting to 5, and whether they are event counts or something else, so it only partially compensates for the coverage gap.

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 specific verb (retrieve) and resource (bounded transcript range around one event), which distinguishes it functionally from the search/related/event_write siblings. It doesn't name a sibling explicitly, but 'exact bounded ... around one event' is precise enough to tell it apart from a fuzzy search or a graph rebuild.

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?

'MANAGER READ' and 'around one event' imply the context (manager-scoped inspection anchored on a known event id), so a reader can infer when to reach for it. However, there is no explicit statement of when to prefer context_graph_search or context_graph_related instead, and no stated prerequisites beyond the manager gate.

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

aiworkhub_manager_context_graph_rebuildB

MANAGER WRITE: rebuild derived graph state from the immutable ledger.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

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 must carry the full behavioral burden. It usefully discloses that this is a write operation that rebuilds derived state from an immutable ledger, but it omits permissions, idempotency, destructiveness, concurrency behavior, and whether existing derived state is replaced.

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?

A single front-loaded sentence with no wasted words. The 'MANAGER WRITE' prefix immediately signals the operation class before the specific action.

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?

For a zero-parameter write tool with an output schema, the description covers the core action but leaves gaps around invocation safety, permissions, and expected side effects. Given the absence of annotations, it is minimally adequate rather than complete.

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 tool takes zero parameters, so there is no parameter semantics to document. The schema is necessarily complete, and the description adds no parameter information because none is needed.

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 names a specific verb ('rebuild') and resource ('derived graph state') and clarifies its relationship to the immutable ledger. It is distinguishable from read-oriented context-graph siblings, but does not explicitly name an alternative tool or condition to differentiate further.

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 when-to-use guidance, prerequisites, or alternatives are provided. The 'MANAGER WRITE' prefix implies a manager context, but an agent gets no rule for choosing this over related context-graph or reconcile tools.

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

aiworkhub_manager_context_importC

MANAGER: dry-run, apply or rollback one explicit repo-local legacy context store.

NameRequiredDescriptionDefault
limitNo
componentYes
import_idNo
operationYes
provenanceNo
source_pathNo
idempotency_keyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it says nothing about permission requirements, destructive effects, reversibility, idempotency behavior (despite an idempotency_key parameter), or what 'legacy context store' mutation entails. It only signals that three operations exist, which is minimal context.

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?

The definition is a single, front-loaded sentence with no filler. It is concise, though its brevity comes at the cost of completeness.

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 complex mutation/import tool with seven parameters, no annotations, and an output schema present, the description is far too thin. It does not cover required auth, safety of dry-run versus apply versus rollback, idempotency, or the meaning of source_path and component.

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%, so the description must compensate for all seven parameters. It only repeats the operation enum values (dry-run, apply, rollback) and provides no meaning for component, source_path, provenance, limit, import_id, or idempotency_key, leaving nearly all parameter semantics 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 states a specific resource ('one explicit repo-local legacy context store') and enumerates the three operations (dry-run, apply, rollback), which is more than a tautology. It does not explicitly name 'import' as the verb, relying on the tool name, and does not directly distinguish itself from the many other context-related siblings.

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 guidance is given about when to choose this tool versus alternatives, nor are any prerequisites or exclusions mentioned. The description only lists operations, leaving the agent to infer the use case entirely.

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

aiworkhub_manager_context_write_intent_disposeC

MANAGER WRITE: explicitly accept or reject one worker proposal.

NameRequiredDescriptionDefault
reasonYes
decisionYes
intent_idYes
request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/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. 'MANAGER WRITE' conveys that this mutates state, but nothing is said about whether the decision is reversible, what happens to the proposal after acceptance/rejection, or what authority is required. Given an output schema exists, return values need not be described, but the mutation semantics remain undisclosed.

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?

A single front-loaded sentence with no filler; the 'MANAGER WRITE' marker lands first so an agent immediately sees the operation class. It borders on under-specification rather than verbosity, which is penalized under other dimensions rather than here.

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 four-parameter, fully-required mutation tool with no annotations, one sentence is not enough. The agent knows what action to take but not which ids to supply, why a reason is mandatory, or what the effect on the proposal is.

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% across four required parameters, and the description mentions none of them by name. 'Accept or reject' loosely maps to the decision enum and 'one worker proposal' hints at intent_id, but request_id and reason are entirely unexplained in both schema and 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?

States a specific verb pair (accept/reject) and a specific resource (one worker proposal), plus a 'MANAGER WRITE' prefix that flags a mutation. It does not name the sibling aiworkhub_manager_context_write_intents, which appears to be the read/list counterpart, so the agent must infer the relationship rather than being told.

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 word 'explicitly' hints that this is a deliberate adjudication step, but there is no statement of when to call it, what state the proposal must be in, or which alternative to use for viewing proposals (context_write_intents). No prerequisites or exclusions are given.

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

aiworkhub_manager_context_write_intentsC
Read-only

MANAGER READ: inspect authenticated worker context-write proposals.

NameRequiredDescriptionDefault
request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes the safety profile, so the description's burden is lower. It adds the useful nuance that these are 'authenticated worker' proposals viewed from a manager role, but says nothing about scoping, volume, or whether inspection affects lifecycle.

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?

A single front-loaded line with no waste, but it is under-specified rather than concise; the brevity leaves essential context unstated.

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 output schema covers return values, but with a completely undocumented required parameter and no lifecycle context relative to the paired dispose tool, an agent cannot confidently construct a call from this definition alone.

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% for the single required request_id parameter, so the description must compensate and does not. It never explains whether request_id identifies a proposal batch, a task, or a manager request handle.

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 verb 'inspect' and the resource 'context-write proposals' are present, and the 'MANAGER READ' prefix signals a read-only manager gate. But what a 'context-write proposal' actually is and what 'inspect' returns is left vague, and the sibling aiworkhub_manager_context_write_intent_dispose is never named or contrasted.

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 when-to-use guidance is given: nothing says to call this before disposing via aiworkhub_manager_context_write_intent_dispose, or how it relates to aiworkhub_manager_context_graph_event_write. The agent must infer usage entirely from the name.

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

aiworkhub_manager_kb_getB
Read-only

MANAGER READ: exact canonical KB entry lookup.

NameRequiredDescriptionDefault
keyYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes the safety profile, and the description adds the useful scope constraint that the lookup is exact and canonical. It does not disclose behavior for missing keys, but with a read-only annotation and an output schema, the added context is enough for a mid-range score.

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?

The description is a single front-loaded phrase with no filler. The 'MANAGER READ:' prefix is somewhat redundant given the readOnlyHint annotation, but the statement is otherwise appropriately concise.

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?

For a simple one-parameter read tool, the annotations and output schema cover safety and return values, so the description does not need to explain those. However, it leaves the key parameter's semantics undefined despite 0% schema coverage, which is a clear remaining 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?

The sole parameter, key, has 0% schema description coverage and the description does not explain what a canonical key is or what format it expects. The phrase 'exact canonical KB entry lookup' hints that key is a canonical identifier, but it does not compensate for the missing schema documentation.

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 resource and operation: an exact canonical KB entry lookup. The word 'exact' usefully distinguishes it from a fuzzy search sibling such as aiworkhub_manager_kb_search, though the sibling is not named explicitly.

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?

There is no explicit guidance on when to use this tool versus kb_search, kb_related, or kb_write. The reader can infer that it is for exact lookups, but the description does not state that condition or any exclusions.

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

aiworkhub_manager_kb_writeC

MANAGER WRITE: upsert, ingest, supersede, or archive canonical KB data.

NameRequiredDescriptionDefault
keyYes
bodyNo
tagsNo
titleNo
actionYes
categoryNo
provenanceYes
source_refsNo
idempotency_keyYes
replacement_keyNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/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 behavioral burden. 'MANAGER WRITE' signals mutation, and supersede/archive imply replacement or removal, but the description omits permissions, idempotency semantics, provenance requirements, reversibility, and side effects on existing KB entries.

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?

It is a single front-loaded sentence with no filler, and the action list is compact. The colon-list structure is slightly terse and label-like, but it does not waste words.

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 10-parameter write tool with no annotations and 0% parameter description coverage, the one-sentence description is far too thin. Output schema may cover return values, but input semantics, action distinctions, and side effects are not adequately addressed.

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% across 10 parameters, and the description only names the action enum values, which are already in the schema. It fails to explain key, idempotency_key, provenance, replacement_key, body, tags, title, category, or source_refs.

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 ('WRITE') and resource ('canonical KB data'), and enumerates the four write actions (upsert, ingest, supersede, archive). It implicitly contrasts with read-oriented siblings such as aiworkhub_manager_kb_get and aiworkhub_manager_kb_search, though it never explicitly names an alternative.

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 only repeats the action enum values already present in the schema. It gives no guidance on when to choose upsert vs ingest vs supersede vs archive, no prerequisites such as idempotency_key or provenance requirements, and no 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.

aiworkhub_manager_learning_commitA

MANAGER WRITE: persist and project one verified Learning Commit.

SHORT FORM -- the one to use: task_id, request_id and the lesson. Everything mechanical is resolved server-side from the card's OWN decision event: outcome is read from the adjudication (never asserted), repo_area from the paths that decision was taken over, evidence_ids from the sealed FIXED_AND_VERIFIED acceptance reference, and idempotency_key/provenance are the deterministic strings the learning_commit_owed payload in your accept/reject reply already carried. failure_category is always derived server-side from the card's structured terminal evidence and is never caller-suppliable. repo_area omitted is derived from the decision's paths; any explicitly supplied value is normalized and honored, while an empty or whitespace value is refused with learning_commit_repo_area_invalid:empty.

Add your own references with extra_evidence_ids. An evidence id must carry an allowed scheme -- file:, http: or https:. A sha256: receipt id is refused, and any refusal here returns allowed_evidence_id_schemes.

outcome is accepted, rejected or inconclusive; only the first two may promote, and each promotion needs what its store demands (a lesson for AI Memory, an invariant for KB, an edge plus an acceptance for Context Graph).

LONG FORM (compatibility): supply repo_area, outcome, evidence_ids, idempotency_key and provenance yourself and nothing is resolved. The lesson text is always the caller's; nothing is written without this call.

NameRequiredDescriptionDefault
outcomeNo
task_idYes
repo_areaNo
promote_kbNo
provenanceNo
request_idYes
evidence_idsNo
edge_candidatesNo
idempotency_keyNo
lesson_candidateNo
promote_ai_memoryNo
extra_evidence_idsNo
invariant_candidateNo
root_cause_candidateNo
promote_context_graphNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it states that outcome, repo_area, evidence_ids, idempotency_key, provenance, and failure_category are server-derived rather than caller-asserted. It also discloses evidence-scheme rules, refusal behavior, and that nothing is written without this call.

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?

The description is front-loaded with the recommended short form and then structured into short-form, evidence, outcome, and long-form sections. It is long but dense and mostly earns its space, though it could be tightened around repeated derivation details.

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?

This is a complex write tool with 15 parameters, no annotations, and no schema descriptions, so the description needs to carry substantial context. It covers core behavior, derivation rules, error handling, and promotion requirements, and an output schema exists; remaining gaps are secondary parameter semantics rather than missing core behavior.

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 description coverage is 0% across 15 parameters, so the description must compensate. It explains most important parameters and derivation rules, including task_id, request_id, lesson, outcome, repo_area, evidence_ids, extra_evidence_ids, idempotency_key, and provenance, but it leaves some parameters such as root_cause_candidate and the promote_* booleans less explicitly defined.

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 and resource: persist and project one verified Learning Commit. It also clarifies the short-form usage and distinguishes it from the long-form compatibility path, so an agent can understand the operation without opening the schema.

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 the short form is the one to use and long form is for compatibility, and it lists prerequisites for promotion to AI Memory, KB, and Context Graph. It does not explicitly compare this tool against sibling write tools, but the usage context is clear.

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

aiworkhub_manager_loop_closeB

MANAGER WRITE: release the backend and lock at shutdown, without a model turn.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/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 burden. It does disclose that this is a write operation, releases a backend and lock, and does not involve a model turn, which is useful context. However, it does not describe failure behavior, idempotency, or side effects beyond the terse shutdown phrase.

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?

The description is a single front-loaded sentence with no wasted words, and the 'MANAGER WRITE' prefix immediately signals the operation class. It is concise, though the internal shorthand limits clarity rather than structure.

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?

Because the tool has no parameters and an output schema exists, return format need not be explained. The remaining gap is contextual routing: among many loop lifecycle siblings, the description does not clarify when close should be used instead of stop, discard, or restore.

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 tool has zero parameters and the schema description coverage is 100%, so there are no parameter semantics to compensate for. The baseline of 4 applies because the description neither needs nor provides parameter details.

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 names an action ('release the backend and lock at shutdown') and clarifies it happens 'without a model turn,' but it relies on internal jargon rather than plainly saying it closes the manager loop. It does not distinguish this tool from siblings such as loop_stop, loop_discard, or loop_restore.

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 phrase 'at shutdown' implies a timing context, but there is no explicit guidance on when to use this tool versus loop_stop, loop_discard, or other loop lifecycle siblings. No alternatives or preconditions are named.

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

aiworkhub_manager_loop_continueA

MANAGER WRITE: continue one saved manager conversation.

Synchronous and provider-free. The chosen record becomes the active session and the persisted selection. A picked backend_id/model is authorized and pinned on it without starting it; the pick renews the manager seat. Refused while a turn is running.

NameRequiredDescriptionDefault
modelNo
backend_idNo
session_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/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 and does well: it discloses that the operation is synchronous and provider-free, changes the active session and persisted selection, authorizes and pins a backend/model without starting it, renews the manager seat, and refuses while a turn is running. It does not fully discuss permission/auth requirements beyond the 'MANAGER WRITE' label.

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 front-loaded with the core action and then uses short sentences to add only relevant behavioral context. Each sentence contributes useful information without repetition.

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 manager write operation with no annotations and an output schema, the description gives substantial side-effect and constraint context. It is complete enough for selection and invocation, though the lack of explicit sibling routing and fuller parameter semantics leaves a minor gap.

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. It names backend_id and model and explains their pinning/authorization behavior, and implies session_id through 'the chosen record,' but it does not explicitly explain the required session_id or clarify expected formats/defaults.

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: continue one saved manager conversation. It clarifies that the chosen record becomes the active session, which distinguishes it from adjacent loop operations like new or send, though it does not explicitly name those siblings.

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?

Usage is implied by 'continue one saved manager conversation,' and there is one explicit guardrail: 'Refused while a turn is running.' However, it does not explicitly say when to choose this over loop_new, loop_send, loop_rotate, or similar siblings.

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

aiworkhub_manager_loop_discardB
Destructive

MANAGER WRITE: delete one saved manager conversation.

NameRequiredDescriptionDefault
session_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the danger profile is conveyed structurally. The description reinforces that a conversation is deleted but adds nothing beyond the annotations: no statement of reversibility, no confirmation that the deletion is permanent, and no note about what happens to associated messages or events.

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?

A single short sentence with a leading category tag ('MANAGER WRITE') that front-loads the mutation intent. No filler, though the terseness is partly achieved by omitting useful detail.

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?

An output schema exists and annotations cover the safety profile, so return values and risk are handled elsewhere. Still, for a destructive single-object deletion the description is thin: it doesn't clarify what a 'saved manager conversation' is or what session_id refers to, leaving gaps an agent might need to resolve.

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% and the description never mentions the single required parameter session_id, so it fails to compensate for the gap. With only one parameter the burden is small, keeping this at a minimum-viable 3 rather than lower.

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 specific verb ('delete') and resource ('one saved manager conversation'), making the operation clear. However, it does not distinguish 'discard' from related siblings like loop_close, loop_stop, or loop_rename, leaving a small ambiguity about which deletion-ish tool to pick.

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 'MANAGER WRITE' prefix hints at write context, but there is no explicit when-to-use guidance nor any statement about when NOT to use this versus loop_close, loop_stop, or loop_archive-style siblings. The agent must infer selection from the name alone.

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

aiworkhub_manager_loop_ensureA

MANAGER WRITE: attach to the repository's one passive manager conversation.

Synchronous and provider-free: no backend is built and no model is called. Takes the launching gate like start because it persists the conversation record. The panel calls this on open instead of Start; the first send then pins the policy route and runs the turn.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With zero annotations the description carries the full burden and does well: it discloses the write nature ('MANAGER WRITE'), idempotent single-conversation scope ('the repository's one'), synchronous/provider-free execution, the absence of backend/model side effects, and the launching-gate prerequisite. It leaves out failure behavior when the record already exists and any concurrency implications of 'ensure'.

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?

Front-loaded with the operation class and core purpose, then progressively finer detail; every sentence adds information (what it isn't, what it costs, who calls it, what follows). It is dense with internal jargon ('launching gate', 'policy route', 'pins') that will not parse for an uninitiated agent, which costs it a point.

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 zero-parameter tool with an output schema, the description covers purpose, lifecycle position, side effects, and prerequisites — enough to call it correctly. The remaining gap is the ensure/idempotency contract (what happens on repeat calls) and the meaning of the 'launching gate' failure.

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 tool takes no parameters, so the baseline is 4 and there is nothing for the description to compensate for. It correctly describes the implicit input — the repository and launching gate — rather than inventing parameter detail.

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?

Opens with a specific verb+resource ('attach to the repository's one passive manager conversation') and immediately contrasts it with `start` ('no backend is built and no model is called'). An agent can tell it apart from `loop_start`/`loop_new` without opening the schema, though the word 'ensure' itself is never unpacked into its create-if-missing semantics.

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?

States the triggering context plainly ('The panel calls this on open instead of Start') and names the alternative it replaces, plus the follow-on step ('the first ``send`` then pins the policy route'). It stops short of explicit exclusion conditions, e.g. what to call if a conversation already exists or if start was already run.

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

aiworkhub_manager_loop_eventsA
Read-only

MANAGER READ: bounded session events, for incremental client polling.

Events with seq greater than after_seq, bounded to limit, and partial: the running turn's streamed, unfinished text for this session, or null. The partial is display only; it is never persisted or sent to a model.

NameRequiredDescriptionDefault
limitNo
after_seqNo
session_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

readOnlyHint=true already declares it is safe, but the description adds real behavioral detail: seq > after_seq filtering, limit-bounded results, and the important caveat that `partial` is display-only and never persisted or sent to a model. It does not explain ordering or what signals end-of-stream, which keeps it from a 5.

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 short sentences, front-loaded with the read scope and the filter semantics. Every sentence carries information (bounded read, seq filter, partial semantics) and the caveat is stated compactly.

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?

An output schema exists, so return shape need not be explained. The description covers the key non-obvious behavior (after_seq filtering, bounding, display-only partial) but leaves cursor exhaustion/ordering unspecified, a minor gap for a polling tool.

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. It explains after_seq ('seq greater than after_seq') and limit ('bounded to limit'), and session_id is self-evident from the name, but it gives no defaults or bounds for limit/after_seq, so the compensation is partial.

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 specific verb and resource ('bounded session events') and the access mode ('MANAGER READ'), plus the intended consumer pattern ('incremental client polling'). It is distinguishable from sibling loop_status/loop_continue, though it never names an alternative directly.

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?

'For incremental client polling' implies the use case, but there is no explicit when-to-use vs loop_status, loop_restore, or dashboard session tools, and no stated exclusions or preconditions. Usage has to be inferred from the polling hint.

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

aiworkhub_manager_loop_newA

MANAGER WRITE: close the current conversation and open a fresh passive one.

Synchronous and provider-free. The displaced record gets a mechanical handoff. Refused while a turn is running.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

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 carries the full burden and does well: it discloses synchronous execution, provider-free behavior, that the displaced record gets a mechanical handoff, and that calls are refused during an active turn. It omits whether the operation is idempotent and what permissions or caller identity are required.

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?

Four short sentences, no filler, with the action and the mutation class ("MANAGER WRITE") front-loaded. The refusal condition is placed last where a constraint belongs.

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?

An output schema exists, so return values need no explanation, and the zero-parameter schema needs no documentation. For a mutation tool with no annotations the description covers safety-relevant behavior adequately, though a note on reversibility or what the fresh passive conversation preserves would close the remaining gap.

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 tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The narration about the displaced record's handoff is behavioral context, not parameter 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 gives a concrete verb pair (close the current conversation, open a fresh passive one), which is clearly distinct from siblings like loop_continue and loop_send. It does not name the sibling alternatives explicitly, so the differentiation is inferential rather than stated.

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 states an explicit precondition for refusal ("Refused while a turn is running"), which is genuine when-not guidance. It stops short of naming which sibling to use instead when a turn is running, e.g. loop_continue or loop_rotate.

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

aiworkhub_manager_loop_renameC

MANAGER WRITE: rename one saved manager conversation.

NameRequiredDescriptionDefault
titleYes
session_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/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 behavioral burden. 'MANAGER WRITE' discloses that this mutates state, but there is no mention of permissions, whether the rename is reversible, whether it affects an active loop, or any side effects on the conversation.

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?

A single front-loaded sentence with the operation class ('MANAGER WRITE') first and no wasted words. It is tight, though the brevity comes at the cost of the missing details noted elsewhere.

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?

An output schema exists, so return values need not be explained. However, with zero annotation coverage and 0% parameter description coverage, a bare one-line description leaves the agent without enough behavioral or parameter context to invoke a write tool confidently.

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% for both required parameters, so the description must compensate. It only implies that session_id identifies the conversation and title is the new name, which is inferable from the parameter names alone and adds no format, constraint, or length guidance.

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 specific verb (rename) and resource (one saved manager conversation), and the 'MANAGER WRITE' prefix signals a mutating operation. It is distinguishable from the many loop_* siblings, though it never names which one (e.g. loop_new vs loop_send) it differs from.

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?

There is no when-to-use, when-not-to-use, or alternative routing guidance. The phrase 'saved manager conversation' implies an existing session, but nothing tells the agent how this differs from loop_new, loop_restore, or loop_rotate in the same family.

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

aiworkhub_manager_loop_restoreA

MANAGER WRITE: load the last manager conversation. Does not create one.

Synchronous and provider-free. The panel calls this on open. The first send on a selected model opens the first session when none exists.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations present, the description carries the load and does disclose real traits: it is synchronous, provider-free (no model call, no cost/latency surprise), and non-creating. It stops short of saying what happens when no prior conversation exists (empty result vs. error) or whether restore mutates any stored state, which is the one behavioral gap given the 'MANAGER WRITE' prefix.

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?

Front-loaded with the key distinction in sentence one, and every remaining sentence adds information (synchronous, provider-free, call site, empty-session behavior). Minor deduction for the stray markdown fence and line breaks around 'send', which fragment otherwise tight prose.

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?

An output schema exists, so return shape needn't be explained, and with zero params the surface is small. The description covers sync/provider-free/no-create, leaving only the empty-state response behavior unstated — a modest gap, not a blocking one.

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?

Zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The absence of any dims/limit/model selector is consistent with the 'last conversation' wording.

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?

Specific verb+resource ('load the last manager conversation') plus an explicit negative scope ('Does not create one') that cleanly separates it from loop_new / loop_ensure / loop_start, which are the obvious confusable siblings. An agent can pick the right tool without opening any schema.

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?

It gives situational context ('The panel calls this on open') and a boundary case ('the first send on a selected model opens the first session when none exists'), which implies when it applies. But it never names an alternative to use instead (loop_new, loop_ensure, loop_start), so the routing is only implied rather than stated.

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

aiworkhub_manager_loop_rotateB

MANAGER WRITE: close the session with a handoff, in the background.

Returns at once with state: "running"; a call while a turn is already running is refused with manager_turn_in_progress and nothing is queued. The next aiworkhub_manager_loop_start opens a successor rehydrated from the handoff.

NameRequiredDescriptionDefault
reasonYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations, the description does meaningful work: it declares the write nature, the asynchronous return (state: 'running'), the exact refusal error code, the no-queue semantics, and the handoff rehydration behavior. It omits authorization requirements and what 'reason' is recorded for, keeping it below 5.

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?

Three tight sentences, front-loaded with a 'MANAGER WRITE:' mode marker before the behavioral detail. No padding, though the state/error reference could be slightly more compact.

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?

An output schema exists, so return values are partly covered, and the description usefully explains the async contract anyway. However, for a mutation tool with no annotations, the missing when-to-use-vs-siblings guidance and the completely undocumented 'reason' parameter leave real gaps.

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% for the single required 'reason' parameter, so the description must compensate and does not — the word 'reason' never appears in the description. An agent has no guidance on format, expected content, or whether it is free-form narrative versus a code.

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 specific verb and resource ('close the session with a handoff, in the background') and names the successor mechanism via aiworkhub_manager_loop_start. It never distinguishes itself explicitly from loop_close, loop_new, or loop_restore, which are close siblings, so it stops short of a 5.

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?

Provides a real usage condition — the call is refused with manager_turn_in_progress while a turn is running, and nothing is queued — plus the follow-up dependency on loop_start. But it never says when to pick rotate over loop_close, loop_new, or loop_restore, so the alternative-selection guidance is only implied.

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

aiworkhub_manager_loop_sendA

MANAGER WRITE: run one manager turn in the background.

Returns at once with state: "running". A call while a turn is already running is queued (queued: true with its position; at most 8, in memory only) and runs before the next callback wake; an unrunnable route is refused at once. Poll aiworkhub_manager_loop_status (its send_queue) or aiworkhub_manager_loop_events for the outcome.

backend_id/model carry the panel picker selection: the turn binds to that exact route (same route is a no-op, a switch re-opens with a mechanical handoff). Blank means "no selection" and keeps the legacy policy-default pin behavior. reasoning is the owner's depth choice. images attaches up to 4 png/jpeg/gif/webp images, each {"name": ..., "data": <base64>} within 5 MiB; claude_cli and codex_cli read them, other backends refuse them as the turn's error.

NameRequiredDescriptionDefault
textYes
modelNo
imagesNo
reasoningNo
backend_idNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

No annotations exist, so the description carries the whole burden and does it well: call returns at once with state 'running', a concurrent call is queued with a position (max 8, in-memory only), unrunnable routes are refused immediately, and per-route no-op vs. re-open handoff semantics are stated. Attachment size/type limits and which backends accept images are also disclosed.

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?

Front-loads the essential fact (one background turn, returns immediately), then handles the queue edge case and parameter notes in order. It is dense but a bit long; parentheticals like 'a switch re-opens with a mechanical handoff' earn their place but could be tightened.

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

Completeness5/5

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

For an async, 5-parameter write tool with an output schema present, the description covers timing, queueing, refusal, route binding, attachment constraints, and the polling path for results. Nothing an agent needs to invoke it correctly and follow up is missing.

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 description coverage is 0%, so the description must compensate, and it largely does: backend_id/model route-binding semantics (blank = policy default, same route = no-op, switch = handoff), reasoning as depth choice, and images shape/size/backend support. Gaps remain – 'text' is undocumented and 'reasoning' gives no allowed 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?

States a specific verb and resource – 'run one manager turn in the background' – and the 'MANAGER WRITE' tag plus async framing distinguishes it from the loop lifecycle siblings (loop_new/loop_start/loop_continue/loop_status). An agent knows exactly what this does without opening the schema.

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?

Explains the immediate-return behavior and defines what to do next: poll aiworkhub_manager_loop_status (send_queue) or aiworkhub_manager_loop_events for the outcome. It does not explicitly contrast with loop_continue or loop_start, leaving the agent to infer which entrypoint to use for the first vs. subsequent turns.

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

aiworkhub_manager_loop_startC

MANAGER WRITE: open the repository's one manager agent loop session.

NameRequiredDescriptionDefault
modelYes
backend_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/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, but it only labels the call as 'MANAGER WRITE' and says it opens one loop session. It does not disclose permissions, idempotency, error behavior if a session already exists, or any other side effects.

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?

The description is a single front-loaded sentence with no wasted words. It is structurally efficient, though its brevity contributes to the missing details elsewhere.

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?

An output schema exists, so return values need not be explained, but the description still omits required parameter meanings, usage context, and behavioral details for a write operation. Given no annotations and 0% schema coverage, it is not complete enough for reliable 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 description coverage is 0% and the description never mentions the two required parameters, backend_id and model. It adds no meaning beyond the bare schema, leaving both parameters semantically 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 states a specific verb and resource: 'open the repository's one manager agent loop session.' It is clear that this creates/opens a manager loop session, but it does not distinguish itself from sibling loop tools such as loop_new, loop_ensure, or loop_restore.

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 guidance is given on when to use this tool instead of alternatives. There is no mention of prerequisites, when-not-to-use conditions, or how it relates to loop_ensure, loop_new, or loop_continue.

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

aiworkhub_manager_loop_statusA
Read-only

MANAGER READ: the active session, whether a turn is running, queued owner sends, and the last turn's outcome.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds real behavioral value by disclosing exactly which state dimensions are reported (turn-running flag, queued sends, last outcome), which tells the agent this is a point-in-time snapshot rather than an event stream.

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?

One compact sentence, front-loaded with the read-only framing, followed immediately by the concrete payload contents. No filler or redundant restatement of the name.

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?

With annotations covering safety and an output schema covering the return shape, the description only needs to orient the agent, which it does. A note about behavior when no loop/session exists (error vs. empty status) would close the remaining gap.

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 tool takes zero parameters, so the baseline is 4. Nothing in the schema needs explanation and the description correctly implies no arguments are required.

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 names a specific resource (the loop's current status) and enumerates the exact fields reported: active session, whether a turn is running, queued owner sends, and last turn outcome. That distinguishes it implicitly from loop_events (history) and loop_continue/send (actions), though no sibling is named explicitly.

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 'MANAGER READ:' prefix hints that this is a read-side operation for the manager agent, but there is no statement of when to call it versus loop_events, session_current_state, or supervisor_loop_status. The agent must infer the polling/checkpoint use case.

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

aiworkhub_manager_loop_stopB

MANAGER WRITE: end a running turn's CLI process now, without waiting for it.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

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 burden. It does disclose two useful traits: this is a write operation, and it is non-blocking ('without waiting for it'). It does not say whether termination is graceful or forced, what happens to the turn's state or queued work, or whether the turn can be resumed afterward.

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?

One sentence, front-loaded with the mutation class and the action, with the non-blocking qualifier attached where it matters. No filler.

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?

An output schema exists, so return values need no explanation, and there are no parameters to document. However, for a mutation with no annotations, the description leaves the effect on the loop/turn lifecycle and the gracefulness of the process kill unspecified.

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 tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description cannot add parameter meaning that does not exist.

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 specific verb and resource: 'end a running turn's CLI process now.' The 'MANAGER WRITE' prefix signals the mutation class. It does not, however, distinguish itself from nearby siblings such as loop_close, loop_discard, or loop_continue, so an agent must infer which termination semantics apply.

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?

There is no explicit when-to-use guidance and no alternative named. The description says what the tool does but never tells the agent when to choose it over loop_close, loop_discard, or loop_rotate, all of which plausibly affect a running turn.

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

aiworkhub_manager_needfix_draftA
Read-only

READ-ONLY: draft the NeedFixes one request's own review evidence justifies.

A NeedFix could not be drafted from the evidence that justifies it, so it was retyped. Measured 2026-09-08: of 204 manual filings, 76 had an accept/ reject/status/collect result within the previous 15 calls, 43 carried a 32-hex request id, and 355 of 540 typed identifiers (66%) appeared verbatim in the previous 15 tool results; 453 of 557 stored rows carry a hand-typed evidence dict at p50 549 B. Meanwhile 589 accepted-shape reviewer findings and 1,623 failed-gate payloads became a NeedFix only if someone retyped them, and reviewer cards are archived (1,796 so far), taking every unconverted finding with them.

Everything returned is mechanical: title from the failing check id or the finding summary, kind and severity from the finding category through a fixed map, scope_files from the card's changed paths, evidence from terminal_review.evidence (error, returncode, declared command) plus the finding's own path/line/check_id, evidence_refs from the attempt -artifact manifest reference and this request id, and provenance {origin: server_draft, request_id, verified: false}.

The DESCRIPTION is deliberately empty -- it is your judgement about what to do, not a fact on the card, and this never invents one. Writes nothing: file a candidate with needfix_add once you have written that description. finding_id / check_id narrow the draft to exactly one finding or one failing check.

NameRequiredDescriptionDefault
check_idNo
finding_idNo
request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint by disclosing that every returned field is mechanically derived (title from check id/summary, kind/severity from a fixed map, scope_files from changed paths, evidence from terminal_review.evidence, evidence_refs from the attempt-artifact manifest). It also states the description field is deliberately empty and that provenance is {origin: server_draft, verified: false}, so the agent knows exactly what is asserted vs. inferred. No contradiction with readOnlyHint=true.

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

Conciseness2/5

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

The operational content is a strong opening and a strong closing sentence, but the middle is a long block of filing statistics (204 manual filings, 76 with accept results, 355 of 540 identifiers, p50 549 B, 1,796 archived cards). That evidence motivates the feature but does not help an agent select or invoke the tool, and it buries the 'file with needfix_add' instruction at the very end.

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?

An output schema exists and readOnlyHint covers the safety profile, so the description's extra field-derivation detail is surplus rather than necessary. It is complete for a 3-parameter read-only draft tool. It does not cover the case where no evidence justifies any draft (empty result handling), which is the one behavioral question left open.

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%, so the description has to carry the parameter burden — and it does: request_id delimits 'one request's own review evidence', while finding_id/check_id narrow to exactly one finding or one failing check. It does not state precedence or mutual exclusivity between finding_id and check_id, a minor remaining gap.

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?

Opens with a specific verb+resource+scope: 'draft the NeedFixes one request's own review evidence justifies', and labels it READ-ONLY. It also separates itself from the write path by naming needfix_add. The differentiation is present but diluted by long statistical justification rather than a crisp 'this vs that' statement.

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?

Gives a concrete workflow: draft here, then 'file a candidate with needfix_add once you have written that description', and explains that finding_id/check_id narrow the draft to exactly one finding or check. It does not set exclusions against the other NeedFix creation siblings (needfix_convert, needfix_preview_convert), so it is clear context without explicit when-not rules.

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

aiworkhub_manager_needfix_markdown_commitC

MANAGER WRITE: commit an exact Markdown preview as captured items only.

NameRequiredDescriptionDefault
preview_idYes
follow_linksNo
source_pathsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/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 behavioral burden. "MANAGER WRITE" hints at mutation, but the description does not disclose side effects (does it create needfix items? is it idempotent? what happens on a stale preview_id?), and it is silent on permissions or reversibility for a write operation.

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?

A single short sentence with the mutation classification front-loaded via the MANAGER WRITE prefix. It is efficient and non-redundant, though its brevity comes at the cost of the missing detail noted elsewhere.

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?

An output schema exists so return values need not be described, but for an unannotated mutation tool with three undocumented parameters and an unclear relationship to its preview sibling, the description leaves too much for the agent to infer before calling it 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% across 3 parameters. The word "preview" weakly hints that preview_id references a prior preview, but follow_links and source_paths are entirely unexplained, and "captured items only" does not map to any parameter. The description fails to compensate for the coverage gap.

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 names a verb ("commit") and a resource ("an exact Markdown preview"), and the MANAGER WRITE prefix signals mutation. However, "as captured items only" is cryptic and does not clarify what actually gets created, and the tool is not distinguished from its obvious sibling aiworkhub_manager_needfix_markdown_preview.

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?

There is no statement of when to use this versus the markdown_preview sibling, no prerequisite that a preview_id must first be produced by the preview tool, and no guidance on the follow_links/source_paths options. The agent must infer the workflow entirely.

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

aiworkhub_manager_needfix_markdown_previewC
Read-only

MANAGER READ: preview bounded captured NeedFix candidates from Markdown.

NameRequiredDescriptionDefault
follow_linksNo
source_pathsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.2/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=true, so the description's 'MANAGER READ' adds no new safety context. It does not explain what 'bounded captured' means, how source_paths or follow_links affect behavior, or what the preview output contains.

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 description is a single front-loaded sentence with no wasted words, but its brevity creates ambiguity rather than clarity. It is concise but under-specified for an agent to act on confidently.

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?

An output schema and readOnly annotation exist, but the description leaves substantial gaps: no parameter semantics, no usage context, and no explanation of the Markdown source or bounding behavior. An agent would likely need to inspect schemas or guess.

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 either parameter. follow_links and source_paths are completely undocumented, leaving the agent unable to infer their expected types or effects.

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?

It states a specific verb ('preview') and resource ('NeedFix candidates from Markdown'), but modifiers like 'bounded captured' are opaque and do not clearly differentiate it from siblings such as needfix_preview_convert or aiworkhub_manager_needfix_markdown_commit.

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 gives no guidance on when to use this preview versus alternatives like needfix_preview_convert, needfix_convert, or needfix_list. The 'MANAGER READ' prefix implies a read-only preview but does not explicitly route the agent.

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

aiworkhub_manager_recipe_listB
Read-only

MANAGER READ: bounded identity/contract listing of persisted recipes.

Returns each manifest's identity, digest, purpose, risk, capabilities and parameter signature -- never its argv template. An empty store is a legitimate repository state and returns registry_count zero.

NameRequiredDescriptionDefault
limitNo
offsetNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, so safety is covered; the description adds genuinely non-obvious behavior: the argv template is deliberately withheld while identity/digest/risk/capabilities are returned, and an empty store is a valid state returning registry_count zero. It does not mention ordering or pagination behavior.

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?

Three short sentences with the scope and the key caveats front-loaded; no filler. Minor noise from reStructuredText markup (``registry_count``) and a slightly unusual line break mid-sentence.

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?

An output schema exists, so return values needn't be spelled out, and the description covers the empty-store edge case. The gap is pagination: for a bounded listing tool with two undocumented params, the description leaves how to page through a large registry unexplained.

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 never mentions limit or offset, their defaults, or how paging interacts with "bounded" listing. An agent has to read the bare schema properties and guess at pagination 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?

"bounded identity/contract listing of persisted recipes" names a specific verb (listing) and resource (recipes) and scopes the payload to manifest metadata. It implicitly separates itself from sibling recipe_show/recipe_run/recipe_register, but never names them explicitly.

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 MANAGER READ prefix and "listing" imply a read/enumeration use case, but there is no explicit statement of when to call this versus recipe_show (single recipe detail) or recipe_usage. Usage is inferable, not stated.

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

aiworkhub_manager_recipe_registerA

MANAGER WRITE: register and persist one caller-defined tool recipe.

manifest is the caller's complete recipe payload -- the exact shape aiworkhub_manager_recipe_show returns -- and no field of it is inferred or generated. An invalid manifest is refused with the tool_recipes module's own stable reason_code before any write, and a (id, version) that is already stored is refused without touching the stored row: a recipe version is immutable.

This registers a DESCRIPTION of an invocation. It never runs one.

NameRequiredDescriptionDefault
manifestYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses pre-write validation with a stable reason_code, duplicate (id, version) refusal that leaves the stored row untouched, and version immutability. These are exactly the failure modes and side effects an agent needs before performing an irreversible write.

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?

Front-loaded 'MANAGER WRITE' marker, then the payload contract, then failure semantics, then a one-line scope disclaimer. Four short units, each carrying distinct information, with no restatement of the name or schema.

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 an unannotated mutation tool with a nested free-form parameter, the description covers the important unknowns: validation order, immutability, duplicate handling, and the no-execution boundary; the output schema covers return values. It omits authorization/prerequisite requirements, the only notable remaining unknown for a write tool.

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% and the single `manifest` parameter is a free-form object with additionalProperties, so the description must compensate. It does meaningfully: manifest is declared to be the caller's complete recipe payload, identical in shape to what recipe_show returns, with no field inferred or generated. It stops short of enumerating fields, delegating that to the sibling tool.

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?

Starts with a specific verb+resource ('register and persist one caller-defined tool recipe') and explicitly scopes out execution ('This registers a DESCRIPTION of an invocation. It never runs one.'), which separates it from aiworkhub_manager_recipe_run. It also names aiworkhub_manager_recipe_show as the canonical shape source, so the agent knows how register relates to at least two siblings.

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?

Clear context for when this applies: you have a complete manifest that must be persisted as an immutable version. The 'never runs one' clause implicitly routes execution to recipe_run. It does not, however, disambiguate against the seed tools (recipe_seed_canonical, recipe_seed_plan), which is a remaining gap rather than an error.

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

aiworkhub_manager_recipe_runA

MANAGER EXECUTE: run one PERSISTED recipe and return a bounded digest.

What runs is the immutable stored manifest resolved from the registry, not a mapping typed at call time: argv[0] is a manifest literal, the vector is built from typed slots, and it is spawned as an execve list with no shell. Read-only by default -- tool_recipes.validate_invocation refuses a recipe whose declared capabilities grant_capabilities does not name, and a write/network recipe additionally requires the repository write gate to be open.

A non-zero exit is a RESULT, not an error: the digest carries the return code, the duration, stdout/stderr tails capped at 4096 characters with explicit truncation flags, and the path plus SHA-256 of the full output file, so the whole stream stays retrievable without being carried here. Every run persists a tool_recipes invocation receipt.

NameRequiredDescriptionDefault
paramsNo
versionNo
recipe_idYes
grant_capabilitiesNo

Output Schema

NameRequiredDescription

No output parameters

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 and does well: immutable stored manifest, no shell, read-only default, capability validation, write/network gate requirement, non-zero exit treated as a result, and a persisted invocation receipt. What it doesn't say is what happens to partial runs or how truncation flags are set beyond the cap.

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?

Front-loaded with the verb+resource, then progressive detail. Some density (backticked identifiers, long sentence on the digest) but every sentence adds signal; 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 mutation-shaped execute tool with no annotations, the safety semantics, return digest contents, and error-as-result convention are covered. Gaps remain around parameter payload semantics and any re-run/idempotency behavior.

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?

At 0% schema coverage the description should explain all four params. It clarifies recipe_id (resolved manifest), version (registry-resolved version), and grant_capabilities (declared capabilities authorized for the run), but the `params` object, which is the actual payload for the typed slots, is never explained.

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?

States a specific verb (run) and specific resource (one PERSISTED recipe) plus the return shape (bounded digest). Clear scope and distinguishes it from sibling recipe_register/recipe_show/recipe_list tools, which inspect or create rather than execute.

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?

Implies when it can run via the capability validation and write-gate rules, but never states when to use this versus inspecting a recipe first (recipe_show) or registering one (recipe_register). Usage conditions are described but alternatives are not named.

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

aiworkhub_manager_recipe_seed_canonicalA

MANAGER WRITE: install the catalogue of this repository's own invocations.

Each entry of manager_recipe_tools.CANONICAL_RECIPES describes an argv vector AIWorkHub genuinely builds (the card validation commands, the worker worktree provisioning sequence, the finalization Git probes), naming its call site in its purpose. Idempotent: an entry already stored is reported as already_registered and its row is left untouched.

Per-project, not a fixed list. The universal entries -- the git workspace/finalization/diff probes and the packaged aiworkhub.recipes.* operator modules -- install everywhere. The entries that depend on a toolchain or on paths that must exist in THIS project install only when toolchain_authority measures them present, so a project without Node never receives validation.node_test. withheld names every skipped entry with its measured reason.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/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 idempotency ('already_registered', row left untouched), selective installation based on toolchain_authority, and reporting of 'withheld' entries with reasons. It stops short of permission/auth requirements and error behavior.

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?

The response is front-loaded with 'MANAGER WRITE: install...' and each subsequent paragraph adds behavioral detail rather than repeating metadata. It is slightly dense but appropriately sized for a manager write operation.

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?

With no parameters, an output schema present, and no annotations, the description supplies the necessary behavioral context for selection and idempotency. It does not need to explain return values because an output schema exists.

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?

Zero parameters are defined and schema description coverage is 100%. Baseline 4 applies because there are no parameters for the description to explain.

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 specific verb ('install') and resource ('catalogue of this repository's own invocations'), and lists the concrete entry types it covers. It does not explicitly differentiate itself from sibling tools such as recipe_register or recipe_seed_plan, so sibling discrimination is left implicit.

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 provides idempotency and per-project conditional behavior, but gives no explicit when-to-use guidance and names no alternatives such as recipe_seed_plan for preview or recipe_register for individual entries. Usage is implied rather than directed.

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

aiworkhub_manager_recipe_seed_planA
Read-only

MANAGER READ: which catalogue entries THIS project would be seeded.

The same per-project decision aiworkhub_manager_recipe_seed_canonical makes, measured without making it: every eligible entry, every withheld one with the reason it was withheld, and the toolchain evidence behind both. Use it when onboarding a repository to see what it will get before anything is written.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

readOnlyHint=true already establishes the safety profile, so the description's real contribution is the output shape: eligible entries, withheld entries with reasons, and toolchain evidence, plus the guarantee that nothing is written. It adds meaningful context beyond the annotation but says nothing about cost, latency, or whether the preview can drift from what the real seed would do.

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?

It is front-loaded with the one-line answer before any elaboration, and every sentence contributes. The middle sentence ('The same per-project decision ... makes, measured without making it') is a little rhetorical and restates what the comparison to seed_canonical already conveyed, which keeps it off a 5.

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

Completeness5/5

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

With a rich output schema present, the description need not spell out return fields, and it still summarizes them; with zero parameters there is no input contract to explain. What remains — what it does, when to reach for it, and that it is the non-mutating twin of seed_canonical — is all covered.

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 tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a param-free tool is 4. The description does note the scope is the current project, which is useful framing given no parameter carries that information.

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 lead line names a specific verb and resource ('which catalogue entries THIS project would be seeded') and explicitly positions itself against the sibling aiworkhub_manager_recipe_seed_canonical, which it names outright. An agent can pick this one over the mutating variant without opening either schema.

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?

It states both the alternative ('the same per-project decision seed_canonical makes') and the discriminator ('measured without making it'), then gives the concrete trigger: 'Use it when onboarding a repository to see what it will get before anything is written.' The only minor omission is an explicit decoy list of when not to use it, but the safe/unsafe split is fully derivable.

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

aiworkhub_manager_recipe_showA
Read-only

MANAGER READ: one persisted recipe in its exact canonical manifest form.

With version omitted the highest stored version wins, ordered by the registry's own version key. The returned manifest is exactly the payload the recipe digest hashes, so the reported digest is independently checkable.

NameRequiredDescriptionDefault
versionNo
recipe_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

readOnlyHint=true is consistent with the 'READ' framing. Beyond the annotation, the description discloses real behavior: version omission resolves to the highest stored version using the registry's own version key, and the returned manifest is exactly the payload the digest hashes, which makes the digest independently verifiable.

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?

Three sentences, front-loaded with the identifying clause and the version-default rule in the second. No filler, though 'MANAGER READ' and 'canonical manifest form' lean on project jargon an outside agent may not parse.

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?

An output schema exists, so return values need not be enumerated; the description still adds the manifest-to-digest linkage, which is the key semantic. For a two-parameter read-only fetch, nothing critical is missing.

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%, so the description must carry parameter meaning. It explains the non-obvious default resolution for `version` (highest stored, ordered by the registry's version key), but says nothing about `recipe_id`, which is at least self-describing by name.

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 opens with a specific verb+resource+scope: 'MANAGER READ: one persisted recipe in its exact canonical manifest form.' The word 'one' implicitly distinguishes it from the plural listing sibling, though no sibling (recipe_list, recipe_run, recipe_usage) is named explicitly.

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 'MANAGER READ' prefix gives context and the single-recipe framing implies a fetch-by-id use case, but there is no explicit statement of when to prefer this over recipe_list or recipe_run, nor any precondition for the version argument.

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

aiworkhub_manager_recipe_usageA
Read-only

MANAGER READ: which registered recipes are actually used, and by whom.

aiworkhub_manager_recipe_list answers how many recipes EXIST. This answers whether anything uses them: every registered recipe appears with its run count, how many DISTINCT verified actors ran it, its first and last run, its exit-code distribution and the bytes those runs returned -- and a recipe with no runs appears with used false rather than being omitted, because "registered and never run" is the actionable state.

The actor on every receipt is derived by the server from the verified route, never from a caller-supplied string, so distinct_actors cannot be inflated by typing a new name. Runs recorded before actors existed are reported as unattributed_runs rather than credited to anyone.

since is an ISO-8601 UTC timestamp bounding the evidence window; registered_count still covers every stored manifest, and window_only marks the asymmetry.

NameRequiredDescriptionDefault
limitNo
sinceNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Goes well beyond the readOnlyHint annotation: never-run recipes are included with used=false rather than omitted, actors are server-derived from the verified route so counts cannot be inflated, and pre-actor runs surface as unattributed_runs. The remaining gap is output behavior around limit/truncation, which is not addressed.

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?

Front-loaded with the core answer and organized into scoping, provenance, and parameter paragraphs. Slightly verbose in places (the 'actionable state' rationale), but nearly every sentence carries distinct information.

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?

With an output schema present, the description needn't enumerate return fields, yet it still explains the notable ones (exit-code distribution, bytes, distinct_actors). Only the pagination/limit dimension is left uncovered for a tool that defaults to 100 rows.

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. It fully explains `since` (ISO-8601 UTC bound on the evidence window, with registered_count and window_only describing the asymmetry) but says nothing about `limit`, including what truncation means for a partial result set.

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?

Opens with a specific verb-and-resource statement: 'which registered recipes are actually used, and by whom.' It explicitly contrasts with aiworkhub_manager_recipe_list ('answers how many recipes EXIST'), so an agent can distinguish the two without opening either schema.

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?

Names the alternative sibling directly and states the exact condition that selects it: existence-count questions go to recipe_list, usage questions come here. It also signals the tool is for manager-read analysis, not mutation.

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

aiworkhub_manager_reconcile_dead_processingC

MANAGER WRITE: reconcile one exact authenticated dead blocked claim.

NameRequiredDescriptionDefault
task_idYes
request_idYes
claim_epochYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/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 behavioral burden. 'WRITE' and 'reconcile' imply a mutation, and 'exact authenticated' hints that precise matching credentials/identifiers are required, but the description does not state what state is changed, whether it is idempotent or reversible, or what authorization is needed. For a zero-annotation mutation tool this is a significant gap.

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?

It is a single short sentence with no padding, and the write-nature is front-loaded via the MANAGER WRITE prefix. But the terseness is achieved through under-specification rather than efficient density, so it is minimally viable rather than 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?

An output schema exists, so return values need not be explained. However, for a zero-annotation mutation tool with three required, entirely undocumented parameters, the description omits nearly everything an agent needs to invoke it safely and correctly.

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 all three parameters (task_id, request_id, claim_epoch) are required, so the schema supplies no semantics at all. The description only vaguely gestures at 'exact' and 'claim', giving no hint that claim_epoch is an epoch/version guard or how request_id relates to a claim. It does not compensate for the coverage gap.

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 gives a verb (reconcile) and a target (an exact authenticated dead blocked claim) plus a MANAGER WRITE marker, so the general intent is inferable. However, 'dead blocked claim' and 'reconcile' are domain jargon that is not defined, and nothing distinguishes this from siblings such as aiworkhub_task_recover_blocked_rework or aiworkhub_task_stale_recovery_recommend. An agent cannot tell precisely what state change this performs.

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?

There is no guidance on when to use this tool versus the numerous other blocked/stale-recovery siblings, and no prerequisites or trigger conditions are stated. The 'MANAGER WRITE' prefix hints at a privileged mutation path but does not define the scenario that calls for it.

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

aiworkhub_manager_review_finding_disposeA

MANAGER WRITE: record one audited disposition of one reviewer finding.

dismissed needs non-empty counter_evidence and lifts only that LOW/MEDIUM finding's refinement_required blocker at accept; a high/critical finding cannot be disposed. The receipt is append-only and bound server-side to the verified reviewer receipt and the candidate digest. It never edits the reviewer report and never accepts the target.

NameRequiredDescriptionDefault
reasonNo
task_idYes
finding_idYes
request_idYes
dispositionYes
counter_evidenceNo
reviewer_request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the load well: it discloses that the receipt is append-only, server-side bound to the verified reviewer receipt and candidate digest, never edits the reviewer report, and never accepts the target. That is genuinely useful behavioral context beyond the name; the remaining gap is auth/permission and error semantics.

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?

The write nature and the core constraint are front-loaded, and each sentence adds information. Slight density but no filler.

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?

An output schema exists, so return details needn't be described, and the behavioral story is strong. However, for a 5-required-param mutation with 0% schema coverage and no annotations, the missing parameter and permission detail leaves the agent under-equipped to call it correctly.

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% across 7 params, so the description must compensate and only partly does: it explains the disposition enum semantics and the counter_evidence conditional requirement (value the schema doesn't carry). Four params (task_id, request_id, reviewer_request_id, reason) remain wholly undocumented in both places.

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?

A specific verb and resource — 'record one audited disposition of one reviewer finding' — immediately tells the agent this is the write path for reviewer findings. It doesn't explicitly contrast with siblings like aiworkhub_manager_review_hold_resolve or aiworkhub_task_reject_review, so it falls short of a 5.

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?

It gives a concrete condition — 'dismissed' needs non-empty counter_evidence and can only lift LOW/MEDIUM findings, while high/critical cannot be disposed — which is real usage guidance. But it never states when an agent should reach for this tool instead of the hold-resolve or review-reject siblings, so selection guidance is only implied.

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

aiworkhub_manager_review_hold_resolveB

MANAGER WRITE: resolve one exact durable reviewer-route hold.

Every chain, candidate and retired-attempt identity is mandatory. The action can only expose an already-recorded callback, authorize the one bounded distinct-route successor, or re-arm the exact pre-provider reviewer attempt after its operational blocker was repaired. It never accepts the target and never relaunches its implementation worker.

NameRequiredDescriptionDefault
lensYes
decisionYes
claim_epochYes
attempt_indexYes
target_task_idYes
candidate_sha256Yes
reviewer_task_idYes
target_request_idYes
reviewer_request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does disclose that this is a MANAGER WRITE, requires all identities, and is limited to three actions (expose callback, authorize successor, re-arm attempt) and never accepts/relaunches. It does not state permissions or reversibility, but the behavioral boundaries are clearly conveyed.

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?

The description is front-loaded with a clear label and purpose, then uses three sentences to cover requirements, allowed actions, and guardrails. It is dense but efficient; no sentence is wasted, though the jargon may hinder quick parsing.

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?

For a 9-parameter mutation with no annotations and an output schema, the description covers purpose and high-level behavior but omits parameter-level guidance and explicit usage comparisons. An agent would still need to infer the meaning of several identifiers and the selection criteria for each decision.

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%, and the description only asserts that chain, candidate, and retired-attempt identities are mandatory, without explaining what each of the 9 parameters represents or how to choose among the decision enum values. This is insufficient compensation for the lack of schema descriptions.

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 ('resolve') and resource ('durable reviewer-route hold'), and distinguishes the action from acceptance/relaunch. However, it does not explicitly name sibling tools or contrast with them, leaving some ambiguity despite the detailed scope.

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?

It implies use when a durable reviewer-route hold exists, but offers no explicit when/when-not guidance or alternative tools. The exclusion ('never accepts the target') is useful but not framed as a routing rule.

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

aiworkhub_manager_sdlc_case_createC

Create one repository-bound SDLC case under verified manager authority.

NameRequiredDescriptionDefault
linksNo
case_idYes
request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/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 behavioral burden. It discloses a permission gate ('verified manager authority'), but omits mutation semantics such as idempotency, duplicate case_id behavior, whether request_id acts as an idempotency key, and side effects.

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?

A single front-loaded sentence with no wasted words. It leads with the action verb and packs scope and authority into a compact structure.

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?

Although an output schema exists, the tool is a 3-parameter mutation with no annotations and no parameter descriptions. The one-sentence description gives purpose and an authority condition, but omits parameter semantics and key behavioral details needed for a create operation.

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% for all three parameters, and the description provides no explanation of case_id, request_id, or links. It does not compensate for the missing schema documentation, leaving parameter meaning entirely unspecified.

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 names a specific verb (Create) and resource (SDLC case), and adds scope and authority qualifiers (repository-bound, verified manager authority). It does not explicitly differentiate from siblings like case_create_for_task, so it stops short of a 5.

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?

There is no guidance on when to use this tool versus alternatives such as case_create_for_task or case_get. The authority condition is a prerequisite, not a usage-selection guideline.

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

aiworkhub_manager_sdlc_case_create_for_taskC

Create the SDLC case bound to one canonical task under verified manager authority.

NameRequiredDescriptionDefault
task_idYes
request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/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, and it does disclose one real behavioral trait: creation happens only 'under verified manager authority', an authorization precondition absent from the schema. It says nothing about duplicate handling (what happens if a case already exists for the task), idempotency, or side effects, which is a meaningful gap for a write tool.

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?

A single tight sentence with the object of creation and its binding constraint front-loaded and no filler. Brevity is well executed, though it is arguably too terse for the gaps it leaves.

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?

Output schema exists, so return values need not be described. But for a no-annotation mutation tool with 0% parameter documentation, the description leaves request_id semantics, duplicate-case behavior, and the meaning of 'verified manager authority' unresolved.

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% across both required parameters. The description implies task_id via 'bound to one canonical task' but never explains request_id, which is presumably an idempotency/correlation key. Half the parameters remain semantically opaque.

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 gives a specific verb (Create) plus resource (SDLC case) and adds a scoping qualifier (bound to one canonical task) that distinguishes it from the generic aiworkhub_manager_sdlc_case_create. It does not explicitly name the sibling it is not, so it stops short of a 5.

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?

There is no when-to-use or when-not-to-use guidance. The agent is not told how this differs operationally from aiworkhub_manager_sdlc_case_create or aiworkhub_manager_sdlc_case_for_task, nor what precondition (an existing canonical task) must already hold. Usage is only inferable from the name.

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

aiworkhub_manager_sdlc_case_for_taskC
Read-only

READ-ONLY: bounded case packet bound to one canonical task, or a typed unknown.

NameRequiredDescriptionDefault
task_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, so 'READ-ONLY:' is redundant. However, 'or a typed unknown' adds genuine behavioral information: missing data is returned as a typed sentinel rather than raised as an error. 'Bounded' also signals the payload is size-limited, though no bound is quantified.

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?

One short, front-loaded clause with no filler. The only cost is that its terseness comes partly from undefined jargon rather than from efficient compression.

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?

An output schema exists so return values needn't be explained, but the description is still inadequate for a tool sitting among several near-identical SDLC packet tools: no usage context, no differentiation, and no parameter format guidance despite 0% schema coverage.

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?

The single task_id parameter has 0% schema description coverage, so the description must carry the semantics. 'Bound to one canonical task' implies task_id is a canonical task identifier (not a case id), which is useful, but it never states the accepted format or where canonical task ids come from.

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 phrase 'bounded case packet bound to one canonical task' identifies the resource and its scoping, but there is no verb ('reads'/'fetches') and the terminology ('bounded case packet', 'typed unknown') is project jargon. It does not distinguish this from the very similar siblings aiworkhub_manager_sdlc_case_get or aiworkhub_manager_sdlc_stage_packet, so an agent must infer the difference.

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?

There is no when-to-use guidance, no prerequisites, and no naming of alternatives. With at least four sibling SDLC case/packet tools (case_get, case_create, case_create_for_task, stage_packet), the absence of any disambiguation is a real gap.

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

aiworkhub_manager_sdlc_case_getC
Read-only

READ-ONLY: bounded repository-bound case packet.

NameRequiredDescriptionDefault
case_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, and the description restates read-only consistently rather than contradicting it. 'Bounded repository-bound' adds a modest signal that results are scoped to the current repository and have limits, but it does not explain what those bounds are or what happens when a case is missing or out of scope.

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?

It is certainly compact and puts the read-only constraint first. But at four words it is under-specified rather than economical — there is no sentence that earns its place beyond the safety hint, and the core noun phrase is opaque.

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?

An output schema exists, so return-value detail is not required. Still, for a tool taking an undocumented case_id and returning an undefined 'case packet,' the description omits what an agent needs to call it correctly and to know whether the result is what it wants.

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 single required parameter case_id has 0% schema description coverage, and the description says nothing about its format, provenance, or what identifiers are valid. Unlike a zero-parameter tool, the description is the only place this could be clarified, and it is not.

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 name plus 'READ-ONLY' establishes this as a retrieval of an SDLC case, and 'bounded repository-bound case packet' hints at scope limits. However, 'case packet' is never defined, so an agent cannot tell what the returned artifact actually is or how it differs from sibling reads like aiworkhub_manager_sdlc_stage_packet or aiworkhub_manager_sdlc_case_for_task.

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 when-to-use guidance is given. The 'READ-ONLY' token signals a read but does not say when to prefer this over aiworkhub_manager_sdlc_case_for_task, the stage packet, or outcome metrics, all of which appear to access related case data.

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

aiworkhub_manager_sdlc_outcome_metricsC
Read-only

READ-ONLY: bounded outcome metrics from canonical task/review events.

NameRequiredDescriptionDefault
limitNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, and 'READ-ONLY:' merely restates it. The only genuine additions are 'bounded' (implying a capped result set) and the provenance of the events, but neither is explained — no cap value, no aggregation window, no auth or cost context.

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?

One front-loaded sentence with zero filler; nothing is redundant. Its compactness is appropriate for a one-parameter tool, though brevity here shades into under-specification rather than crispness.

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?

An output schema exists, so return shape need not be explained, but the description still never says which outcome metrics are returned or over what window, which is the central question for an analytics tool. The single undocumented parameter is also unaddressed, leaving the definition thin.

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% for the single `limit` parameter and the description never mentions it; 'bounded' hints that a cap exists but gives no default, max, or effect. With low coverage the description was expected to compensate and does not.

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?

States a verb-like outcome ('bounded outcome metrics') and a data source ('canonical task/review events'), so the general intent is graspable. But 'outcome metrics' is undefined — no list of metrics or dimensions — and nothing distinguishes it from sibling analytics tools like aiworkhub_task_usage_report or aiworkhub_task_cost_ledger.

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 when-to-use guidance, no exclusions, and no named alternative. The agent must infer from the tool name alone whether this or a sibling report answers its question.

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

aiworkhub_manager_sdlc_stage_packetD
Read-only

READ-ONLY: one bounded repository-bound stage packet.

NameRequiredDescriptionDefault
stageYes
case_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

D1.9/5.0
Behavior2/5

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

The readOnlyHint annotation already declares safety, and the description mostly repeats 'READ-ONLY'. It adds only 'bounded' and 'repository-bound' without explaining what is bounded, what permissions are required, or how the packet is composed.

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

Conciseness2/5

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

The single sentence is front-loaded with the read-only constraint and contains no filler, but it is under-specified rather than appropriately concise. It omits the semantics needed to understand and invoke the tool.

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?

An output schema exists, so return values need not be explained. However, for a tool with two required and undocumented parameters, the definition leaves purpose and input semantics too opaque for an agent to call it confidently.

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 never explains the required case_id or stage parameters. It provides no format, allowed values, or meaning for either input, so it does not compensate for the schema gap.

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

Purpose2/5

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

Names a resource ('stage packet') and asserts it is read-only and repository-bound, but gives no verb and never defines what a 'stage packet' is. An agent cannot tell whether this fetches, compiles, or summarizes data, making it only marginally better than a tautology.

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 when-to-use, prerequisites, or alternatives are stated. The only context is 'READ-ONLY', which is a constraint rather than guidance on choosing this tool over siblings such as sdlc_case_get or sdlc_stage_record.

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

aiworkhub_manager_sdlc_stage_recordC

Append one bounded stage receipt under verified manager authority.

NameRequiredDescriptionDefault
stageYes
stateYes
case_idYes
payloadYes
request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/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, and it does disclose two real traits: append-only immutability ("Append one bounded") and an authority precondition ("verified manager authority"). It still omits idempotency/duplicate-request_id behavior, failure modes when authority is not verified, and what "bounded" actually limits — significant gaps 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?

A single front-loaded sentence with zero filler, which is structurally clean. But the brevity here reflects under-specification rather than discipline; the sentence earns its place yet leaves most operational questions unanswered.

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?

An output schema exists, so return values need no explanation, but the tool is a five-required-parameter mutation with zero annotation coverage and zero schema descriptions. An agent has no way to know valid stage/state values, payload shape, or idempotency expectations from either the schema or the description.

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?

All five parameters are required, schema description coverage is 0%, and one is a free-form nested object (payload). The description adds no meaning for case_id, stage, state, payload, or request_id — not even that request_id is likely an idempotency key or that stage/state are constrained values.

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?

States a verb ("Append") and a resource ("stage receipt"), which is more specific than a tautology, and the SDLC/manager framing places it in the same family as aiworkhub_manager_sdlc_stage_packet and aiworkhub_manager_sdlc_case_create. However, "bounded stage receipt" is undefined domain jargon; an agent cannot tell what a receipt contains or how it differs from the sibling stage_packet without opening the schema.

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?

There is a precondition ("under verified manager authority") but no statement of when to call this versus aiworkhub_manager_sdlc_stage_packet, aiworkhub_manager_sdlc_case_get, or aiworkhub_manager_sdlc_outcome_metrics. No exclusions, no sequencing guidance, nothing that routes the agent among the many SDLC siblings.

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

aiworkhub_manager_semantic_edit_applyA

MANAGER EDIT: replace exactly one prepared, hash-bound range.

new replaces the WHOLE prepared range; re-emit every line you keep. allow_escape_level_change: true only for an intentional regex/escape fix.

NameRequiredDescriptionDefault
newYes
target_idYes
idempotency_keyYes
allow_escape_level_changeNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description does real work by warning that `new` replaces the WHOLE prepared range and that every kept line must be re-emitted — the single most important failure mode for this tool. It does not disclose what happens on a stale/mismatched hash, nor how idempotency_key affects retries.

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?

Three short lines, front-loaded with the destructive-scope warning before the parameter notes. Terse but every sentence carries information; 'hash-bound' and 'escape level' remain unexplained jargon.

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?

For a mutation tool with zero annotations, an output schema present, and 3 required params, the description covers the main hazard but omits the prepare prerequisite, hash-mismatch behavior, and idempotency semantics — all things an agent needs before invoking it correctly.

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%, so the description must compensate: it explains `new` (full-range replacement semantics) and `allow_escape_level_change` (only for intentional regex/escape fixes). `target_id` and, more importantly, `idempotency_key` receive no explanation at all, leaving half the required inputs opaque.

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 specific verb (replace) and resource (exactly one prepared, hash-bound range), with a scope quantifier that pins down the blast radius. It does not name the sibling aiworkhub_manager_semantic_edit_prepare explicitly, so the pairing is only inferable from the word 'prepared'.

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?

Usage is implied rather than stated: 'prepared, hash-bound range' suggests this only applies to a range created by the prepare sibling, and the escape-level line gives a conditional for one parameter. There is no explicit when-to-use/when-not statement and no named alternative.

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

aiworkhub_manager_semantic_edit_prepareC

MANAGER EDIT: bind one verified file range before changing it.

NameRequiredDescriptionDefault
end_lineYes
file_pathYes
start_lineYes
include_fragmentNo
expected_last_lineNo
expected_first_lineNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/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 full behavioral burden. It hints at verification ('verified') and preparation ('MANAGER EDIT'), but does not disclose whether the file is actually modified, what verification means, what happens on failure, or any permission/session requirements.

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?

A single front-loaded sentence with no wasted words, though it is arguably too terse for a tool with six parameters and no annotations. The structure is clear and the key sequence ('before changing it') appears early.

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 six parameters, no annotations, and 0% schema description coverage, the description is incomplete. An output schema exists so return values need not be explained, but input semantics and the verification/binding behavior remain largely undocumented.

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%, with 6 parameters. The description only implies a file range via 'one verified file range,' which loosely maps to file_path, start_line, and end_line, but it adds no meaning for expected_first_line, expected_last_line, or include_fragment.

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 a verb (bind) and resource (one verified file range) and implies a preparatory step before editing. However, 'bind' is opaque and the description does not explicitly distinguish this from the sibling aiworkhub_manager_semantic_edit_apply, leaving the exact action vague.

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 'before changing it' gives implied sequencing: use this tool before modifying the file range. There are no explicit alternatives, exclusions, or prerequisites, and no mention of the apply step by name.

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

aiworkhub_manager_session_current_stateC
Read-only

MANAGER READ: bounded canonical Session Manager current state.

NameRequiredDescriptionDefault
limitNo
topicNomanagement

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

readOnlyHint=true already tells the agent this is a safe read, so the description needs to add context beyond that. "bounded" hints that output is capped but never says how (the limit param), what "canonical" means, or how the two params shape the result.

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?

It is a single short fragment with no filler, which is good, but it is under-specified rather than concise — the brevity comes from omitting information, not from efficient phrasing.

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?

An output schema exists, so return format need not be described, and the tool is low complexity with only two optional params. Still, with 0% param coverage and no usage context, an agent has to open the schema and guess at intent to call it correctly.

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, and it does not: neither "limit" nor "topic" is mentioned, and their defaults (12, "management") are unexplained. Only the vague word "bounded" gestures at the limit parameter.

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?

"MANAGER READ: bounded canonical Session Manager current state" does pair a verb (READ) with a resource (Session Manager current state), and the READ prefix distinguishes it from the sibling aiworkhub_manager_session_write. However, qualifiers like "bounded" and "canonical" are undefined jargon, so an agent cannot tell precisely what state is returned.

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?

There is no statement of when to call this versus alternatives such as aiworkhub_manager_session_write or the various loop_status/dashboard_sessions tools. The only implicit cue is the READ prefix, which is not real guidance.

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

aiworkhub_manager_session_writeA

MANAGER WRITE: append one audited canonical Session Manager event, or edit one existing event.

Append actions: start, event, checkpoint, state, handoff, close (no document_id). Edit actions: amend rewrites the content of one exact existing document (FTS rebuilt, audit row recorded, context-graph mirror rewritten); redact deletes that document, its FTS row and its graph mirror (audit keeps the fact of the redaction, never the content). Both require document_id and leave the document count/id audit trail truthful.

NameRequiredDescriptionDefault
topicYes
actionYes
contentYes
provenanceYes
document_idNo
idempotency_keyYes

Output Schema

NameRequiredDescription

No output parameters

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 and does well: it discloses that amend rebuilds FTS and rewrites the context-graph mirror, that redact deletes the document, its FTS row and its graph mirror, and that the audit record preserves only the fact of redaction, never the content. Remaining gaps are the semantics of the required idempotency_key (retry behavior) and any authorization or failure conditions.

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?

The two-mode structure is front-loaded and the action names are formatted code-style so they scan quickly against the enum. It is dense but nearly every clause conveys a distinct behavior; the only mild redundancy is restating that both edit actions require document_id after already listing them as a group.

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

Completeness5/5

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

For a 6-parameter mutation tool with an output schema, the description covers the destructive/rewrite consequences, the append-vs-edit branch, and the audit guarantees, which is what an agent needs before committing a write. Return values are handled by the output schema, so the only omissions (idempotency and provenance semantics) are peripheral to correct invocation.

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, and it explains action, document_id (required for amend/redact, implicitly null for appends) and what happens to content under amend. It says nothing about three required parameters — topic, provenance and idempotency_key — leaving their meaning entirely to bare titles.

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 opening line gives a specific verb and resource ('append one audited canonical Session Manager event, or edit one existing event') and splits the tool into two clearly named sub-modes. It does not name a sibling to route against (e.g. aiworkhub_manager_session_current_state for reads, aiworkhub_manager_context_graph_event_write for graph events), so sibling differentiation is only implicit via the 'Session Manager' resource label.

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 append/edit split is made actionable by enumerating which actions belong to each group (start, event, checkpoint, state, handoff, close vs amend, redact) and stating that the edit actions require document_id. It stops short of when-not-to-use guidance — nothing tells the agent when to prefer a related write tool or what to do if the topic does not yet exist.

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

aiworkhub_manager_skill_activateB

MANAGER WRITE: activate a proposed skill, evidence-gated and fail-closed.

The registry's activation threshold is enforced unchanged; when it is unmet the registry's own reason is returned and the stored record is left as it was.

NameRequiredDescriptionDefault
versionYes
identityYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/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 and does well: it discloses fail-closed semantics, that the threshold is enforced unchanged, and precisely what happens on failure (registry reason returned, stored record untouched). It omits what state changes on success, permissions required, and idempotency.

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 tight sentences, front-loaded with the operation class and verb, followed by the relevant behavioral guarantee. Little waste, though the second sentence is dense enough that a slight trim would not hurt.

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?

An output schema exists so return values need no explanation, and the failure path is well covered. The remaining hole is parameter meaning for a mutation tool with two undocumented required inputs, which is material for correct invocation.

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?

Both parameters (identity, version) have 0% schema description coverage and the description says nothing about them. An agent must guess whether 'identity' is a skill key, slug, or ID, and what 'version' refers to; the description fails to compensate for the coverage gap.

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 specific verb and resource ('activate a proposed skill') and scopes it as a MANAGER WRITE operation. Alongside siblings like skill_propose and skill_add_evidence, the lifecycle position is inferable, though no sibling is named explicitly.

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 evidence-gating condition implies when activation will succeed, which is useful usage context. However, it never states the alternative path (e.g. add more evidence via skill_add_evidence and retry) when the threshold is unmet, leaving the agent to infer next steps.

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

aiworkhub_manager_skill_add_evidenceA

MANAGER WRITE: append one MANAGER evidence entry to a skill version.

CLOSED VOCABULARIES -- a guess is refused before a turn is spent: outcome accepted | negative actor_id ^[a-z][a-z0-9_.-]{0,127}$, and it may NOT contain the reserved role tokens worker, reviewer, coordinator, agent or owner. Those name a DERIVED identity read off a task card's own runner and can never be typed here.

Two spellings of one manager are ONE actor: identities are compared in their canonical form, so manager.claude.7e and claude_manager_7e do not make an activation independent. Genuinely independent evidence comes from a card: it is appended automatically when a decision is recorded on a card the skill was injected into, and can be filed for one card at a time through the task-derived path.

When resolve_negative_source is set, no row is appended: the one unresolved negative row with that source is marked resolved instead, with note as the REQUIRED reason (source and outcome are ignored).

NameRequiredDescriptionDefault
noteNo
sourceYes
outcomeYes
versionYes
actor_idYes
identityYes
resolve_negative_sourceNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/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 and does state the mutation shape (a row is appended), that invalid vocabulary is refused before a turn is spent, and the one mode where nothing is written. It omits permissions/auth prerequisites, idempotency (what happens on duplicate evidence), and whether the skill version must already exist.

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?

Front-loaded with the core action, then organized into vocabulary and identity sections. The canonical-form spelling example (manager.claude.7e vs claude_manager_7e) earns its place by preventing double-counted activations, but the prose is dense and slightly over-explained for an append operation.

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?

Output schema exists so return values needn't be explained, and the description covers the trickiest semantics (closed vocabularies, canonical identity equivalence, resolve mode). For an unannotated mutation tool it is nearly complete, missing only prerequisites and duplicate-append behavior.

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% across 7 params, so the description must compensate, and it does for the critical ones: the outcome vocabulary (accepted|negative), the actor_id regex and reserved role tokens, note as the required reason in resolve mode, and that source/outcome are ignored there. It leaves identity, version, and source's own format/meaning largely 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?

States a specific verb and resource ('append one MANAGER evidence entry to a skill version') with the added scope qualifier MANAGER WRITE. It distinguishes conceptually from card-derived evidence, but does not name a specific sibling tool (e.g. evidence_sweep or the task-derived path tool), so differentiation is only partial.

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?

Explicitly routes the agent: independent evidence comes from a card and is filed via the task-derived path, while this tool is for manager-filed entries. It also names the condition that switches behavior entirely ('When resolve_negative_source is set, no row is appended...'), which is exactly the kind of when/when-not guidance that prevents a wrong invocation.

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

aiworkhub_manager_skill_evidence_sweepA

MANAGER WRITE: backfill learning-commit evidence for every recorded commit.

Bounded and resumable like every other sweep here: pass back next_cursor to continue past a ledger larger than limit. Reports skipped_by_reason (why a window's commit produced no row -- rejected, no selection vocabulary, and so on) and activated (every identity/version this window's evidence pushed across the registry's own two-actor activation gate). A second sweep over an unchanged window records nothing new and activates nothing twice.

NameRequiredDescriptionDefault
limitNo
cursorNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/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 burden and does so well: it discloses the write nature (MANAGER WRITE), idempotency (a second sweep records nothing new and activates nothing twice), resumability, and what gets reported (skipped_by_reason, activated). It does not mention required permissions, but the mutation and repeat-safety profile is clear.

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?

Front-loads the operation type and purpose, then layers in pagination, reporting, and idempotency notes. The parentheticals earn their place, though it runs slightly long for a two-parameter tool.

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?

An output schema exists, so return explanation is a bonus rather than required, yet it still names the key report fields. Combined with coverage of resumability and idempotency, the only material gap is the absence of guidance on choosing this sweep over its per-record siblings.

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%, so the description must compensate. It explains the cursor parameter's role for continuation, but names it "next_cursor" while the schema field is "cursor," creating a mild mismatch, and it never clarifies the limit parameter's meaning or default of 200.

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 specific verb and resource: "backfill learning-commit evidence for every recorded commit," tagged MANAGER WRITE. It sets scope (bulk sweep over every commit) that implicitly differs from per-record siblings like skill_add_evidence, though it never names an alternative explicitly.

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?

Explains how to operate it (pass next_cursor to continue past a ledger larger than limit) and that re-running an unchanged window is a no-op. But it gives no guidance on when to choose this bulk sweep versus the single-record skill_add_evidence or skill_mine siblings.

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

aiworkhub_manager_skill_mineA
Read-only

MANAGER READ: mine the correction record into gated skill PROPOSALS.

Clusters every stored rejection instruction and adjudicated invariant by the RULE it asserts -- instance vocabulary (paths, identifiers, ids, digits) is deleted before anything is compared -- then promotes only families that recurred across at least min_cards distinct cards in min_files distinct files. Each candidate carries the exact card ids and request ids where the rule was violated, plus a proposal draft whose closed-vocabulary selection dimensions are left blank for the manager to fill in.

Read-only. It produces proposals, never activations: the returned draft reaches the store only if a manager passes it to aiworkhub_manager_skill_propose, and activation remains gated on evidence from two distinct actor identities.

NameRequiredDescriptionDefault
min_cardsNo
min_filesNo
thresholdNo
include_sensitivityNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true and the description reinforces it ('Read-only'), then adds behavior the annotations cannot convey: vocabulary normalization before comparison, recurrence gating across distinct cards/files, what each candidate carries (card ids, request ids, partially blank draft), and the downstream two-actor activation gate. This is real context beyond the structured fields.

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?

Front-loaded with the verb and the read-only framing before any mechanics, and each subsequent sentence adds distinct information (clustering rule, promotion gate, output contents, downstream handoff). It is longer than typical but dense with usable detail rather than padding.

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?

An output schema exists, so return shape needn't be spelled out, and the description still sketches what a candidate contains and why the draft is incomplete (closed-vocabulary dimensions left blank for the manager). Read-only safety and downstream gating are covered; the only real gap is the unexplained threshold and include_sensitivity knobs.

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 carry parameter meaning, and it explains only two of four: min_cards ('recurred across at least min_cards distinct cards') and min_files ('in min_files distinct files'). 'threshold' and 'include_sensitivity' are never mentioned, and threshold's default 0.22 gives no hint of what it measures (presumably a similarity or clustering cutoff).

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?

States a specific verb and resource ('mine the correction record into gated skill PROPOSALS') and explains the mechanism: clustering by asserted rule with instance vocabulary stripped, then promotion by recurrence thresholds. It also explicitly distinguishes itself from aiworkhub_manager_skill_propose and aiworkhub_manager_skill_activate, so an agent knows this is the read/analysis step, not the write step.

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?

Clear routing: it says the returned draft reaches the store only if handed to aiworkhub_manager_skill_propose, and that activation is separately gated — which tells the agent this tool cannot complete the workflow alone. It does not state explicit preconditions (e.g. how much correction history must exist before mining is worthwhile) or when-not-to-run, so it falls short of a full 5.

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

aiworkhub_manager_skill_proposeA

MANAGER WRITE: register and persist one proposed skill.

Give candidate_id from aiworkhub_manager_skill_mine and the MECHANICAL dimensions are copied server-side from that candidate's measured draft -- identity, version, scope, path_or_symbol, risk, stage. You then supply only the judgement: task_family, triggers, applicability, confidence, procedure_steps, avoid_rules. Passing a mechanical field that disagrees with the candidate is refused, never silently overridden. Without a candidate_id every field is required from the caller.

CLOSED VOCABULARIES -- a value outside these is refused before any write: scope repository | global risk low | medium | high | critical stage orientation | implementation | validation | review | rework task_family analysis | bugfix | data_ml | docs | implementation | performance | refactor | replay | security | test triggers authority_boundary | code_change | combined_change | concurrency | destructive_change | missing_validation | public_api | release | schema_migration | security_sensitive | clean_verdict_without_input_check | silently_bounded_population | single_bucket_aggregate | swallowed_exception_default | unknown_or_empty_result applicability aggregation_reader | observability_surface | quality_gate | readiness_preflight | authority_boundary_surface | concurrency_surface | public_api_surface | release_surface | security_surface | storage_schema_surface version semver MAJOR.MINOR.PATCH with optional -prerelease/+build identity ^[a-z][a-z0-9_.-]{0,127}$ confidence a finite float in [0, 1] path_or_symbol a repository-RELATIVE path or symbol; absolute paths and .. are refused

The proposal is evidence-free and a duplicate identity/version is refused without overwriting the stored record. It is never ACTIVE on creation: activation needs accepted evidence from two DISTINCT actor identities and stays a separate manager decision.

NameRequiredDescriptionDefault
riskNo
scopeNo
stageNo
versionNo
identityNo
triggersNo
confidenceNo
avoid_rulesNo
task_familyNo
candidate_idNo
applicabilityNo
path_or_symbolNo
preferred_toolsNo
procedure_stepsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly: mechanical fields are copied server-side, disagreeing mechanical inputs are refused (never silently overridden), out-of-vocabulary values are rejected before any write, duplicate identity/version is refused without overwriting, and the record is never ACTIVE on creation (activation needs evidence from two distinct actors). This is exactly the kind of write semantics an agent cannot infer from schema alone.

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?

Long, but front-loaded with the core action and the candidate_id workflow before the vocabulary block, and the closed-vocabulary listing is genuinely useful content rather than filler. Slight cost: the enum dump is dense prose that could be compressed, but nothing is redundant.

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

Completeness5/5

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

An output schema exists, so return values needn't be explained, and the description covers everything else an agent needs: input sourcing, server-side vs caller-supplied field split, validation/refusal behavior, and post-write state (never ACTIVE). Nothing material is missing for correct invocation.

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%, so the description must compensate, and it documents most of the 14 params with closed vocabularies, regexes for identity, semver form for version, relative-path constraint for path_or_symbol, and the [0,1] float range for confidence. The notable gap is preferred_tools, which is never mentioned, and procedure_steps/avoid_rules are named but not described beyond being judgement fields.

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?

States a specific verb and resource ("register and persist one proposed skill") and immediately scopes it as a MANAGER WRITE, which separates it from read-side siblings like skill_mine and from skill_activate. An agent can tell which skill-lifecycle stage this tool owns without opening the schema.

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?

Explicitly routes the caller to aiworkhub_manager_skill_mine to obtain candidate_id and states the branch condition (with candidate_id only judgement fields are needed; without it every field is required). It also clarifies that activation is a separate decision, so the agent knows this tool is not the activation step. It does not state when proposing is inappropriate, but the workflow context is clear.

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

aiworkhub_manager_skill_retirement_reportA
Read-only

MANAGER READ: measure every stored skill against its own failure class.

Reports, per skill, whether it is injectable at all, the cards its evidence anchors to, and the adjudicated outcome of those cards. It also reports whether the injection denominator exists in this repository -- and when it does not, says so with both counts instead of computing a rate against a zero denominator. Verdicts are recommendations; retirement stays manager-gated and this never writes.

Summary mode (default) folds each skill's evidence_anchors list to {count, sha256} (digest of its canonical JSON); full=true returns the anchor-card lists unchanged.

NameRequiredDescriptionDefault
fullNo
min_anchorsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Beyond the readOnlyHint annotation, it clarifies that verdicts are recommendations, retirement is manager-gated, it 'never writes,' and it declines to compute rates against a zero denominator (reporting both counts instead). That is meaningful context the annotation does not carry.

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?

Front-loaded with the core purpose, then behavior, then the mode split. Dense but each sentence carries information; the denominator sentence is verbose but discloses real behavior.

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?

An output schema exists so return values need not be explained, and the mode behavior is covered. However, with 0% schema coverage the undocumented `min_anchors` parameter leaves a real gap for an agent deciding how to call it.

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 carry parameter meaning. It explains `full` well (summary folding vs unchanged anchor lists) but says nothing about `min_anchors`, leaving one of two params documented nowhere.

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?

'measure every stored skill against its own failure class' plus 'Reports, per skill, whether it is injectable at all' gives a specific verb and resource. It is reasonably distinguishable from siblings like skill_usage or skill_evidence_sweep by the retirement/failure-class framing, though the phrasing is jargon-heavy.

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 this is the retirement-assessment read ('Verdicts are recommendations; retirement stays manager-gated') but never states when to call it versus skill_usage, skill_evidence_sweep, or skill_activate. Usage is inferable rather than explicit.

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

aiworkhub_manager_skill_usageA
Read-only

MANAGER READ: per-skill usage statistics, measured from the stored record.

For every stored skill version: how many versions of that identity are proposed, its evidence rows split by outcome (accepted/negative), the number of CANONICAL independent actor identities its accepted evidence rests on (not the raw strings -- two spellings of one manager count once), the cards it was injected into according to the persisted selection receipts, whether it is injectable at all, and when it is not, the exact named reason:

lifecycle_state_is_retired unresolved_negative_evidence activation_evidence_below_two_distinct_actors lifecycle_state_is_proposed_not_active

Read-only. It never activates, retires or evidences anything.

NameRequiredDescriptionDefault
min_accepted_evidenceNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces the boundary with 'Read-only. It never activates, retires or evidences anything.' It also adds real context beyond annotations: the figures are derived from persisted selection receipts and from canonicalized actor identities ('two spellings of one manager count once'), and the exact named gate reasons are disclosed. It stops short of describing cost, ordering, or behavior when no skills exist.

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?

The purpose is front-loaded in one line, followed by a single dense enumeration and a closing scope disclaimer; each element earns its place, and the reason-code list is formatted for scanning. The mid-sentence indentation of the four codes is slightly awkward but not wasteful.

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?

With an output schema present, the description need not explain return values, and it still covers what is measured, the basis of measurement, and injectability semantics. The only substantive hole is the undocumented min_accepted_evidence parameter, which leaves a caller unable to reason about filtering.

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 one parameter, min_accepted_evidence, has 0% schema description coverage and is never mentioned in the description, so an agent must guess that it is a threshold filter over accepted evidence rows and how it interacts with the reported metrics. The phrase 'activation_evidence_below_two_distinct_actors' faintly mirrors the default of 2 but does not document the parameter itself.

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 opening line gives a specific verb and resource ('per-skill usage statistics, measured from the stored record') and the enumeration that follows pins down exactly which metrics are returned (version counts, evidence rows by outcome, canonical actor counts, injection receipts, injectability). That detail effectively separates it from neighbours like skill_retirement_report or recipe_usage, but no sibling is ever named, so differentiation is inferred rather than stated.

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?

Usage is only implied: an agent can infer this is the diagnostic to consult before proposing, activating or retiring a skill, since the description lists the exact blocking reasons. There is no explicit when-to-use / when-not statement and no pointer to an alternative tool for the adjacent questions (retirement reporting, recipe usage).

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

aiworkhub_manager_source_graph_queryC

MANAGER CODE DISCOVERY: use first and continuously before built-in file search.

NameRequiredDescriptionDefault
modeYes
queryYes
budgetNo
cursorNo
targetNo
bundle_typeNoexplore
workflow_stageNounspecified
continuation_cursorNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.2/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 behavioral burden. 'query' weakly implies a read-only operation and 'use continuously' hints at repeatability, but there is no disclosure of cost, rate limits, cursor/pagination behavior, or side effects for an 8-parameter tool.

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

Conciseness2/5

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

The description is front-loaded and technically brief, but this is under-specification rather than conciseness: two fragments for a 37-mode tool is far too little. The all-caps 'MANAGER CODE DISCOVERY' label is filler that consumes half the text without conveying capability.

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?

Although an output schema exists (so return values needn't be explained), the description is grossly inadequate for the tool's complexity: 37 undocumented modes, 8 parameters with 0% coverage, and no annotations. An agent cannot reliably invoke this correctly from the given text.

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% across 8 parameters, and the 37-value 'mode' enum plus 'budget', 'cursor', 'target', 'bundle_type', 'workflow_stage', and 'continuation_cursor' are completely undocumented. The description adds zero meaning beyond the schema, leaving the most important selection decision (which mode) to guesswork.

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 heading 'MANAGER CODE DISCOVERY' identifies the domain and the routing sentence implies a source-graph based code lookup, but the description never states the actual verb+resource ('query the source graph'). With 37 enum modes ranging from 'impact' to 'crashes', an agent gets no sense of the tool's real breadth from the text alone.

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?

'use first and continuously before built-in file search' gives genuine ordering guidance, telling the agent to prefer this over built-in search. However it offers no when-not conditions, does not mention the sibling aiworkhub_manager_context_graph_search or any of the 37 modes, so mode selection is left entirely to inference.

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

aiworkhub_manager_task_archiveA

MANAGER WRITE: archive non-processing cards without deleting audit history.

Targets: one task_id, task_ids (<= 200), or a selector (status/topic/older_than_hours/task_id_prefix, conjunctive). dry_run=True previews the exact ids (and the processing cards that would be refused) without writing. Same write gate and verified manager actor per item, one audit event per task, per-id receipts {task_id, ok, status_after, error?}.

NameRequiredDescriptionDefault
topicNo
reasonNo
statusNo
dry_runNo
task_idNo
task_idsNo
task_id_prefixNo
older_than_hoursNo

Output Schema

NameRequiredDescription

No output parameters

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 carries the burden and does well: it discloses the refusal rule (processing cards are skipped, shown in dry-run), that audit history is preserved, the write gate plus verified manager actor per item, one audit event per task, and per-id receipt shape. It omits reversibility/restore path and idempotency behavior on re-archiving, which keeps it short of a 5.

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?

Front-loaded with the mode and the key safety property, then targets, then preview, then guarantees and return shape – no sentence is filler. The dense telegraphic style is justified for an 8-parameter destructive tool.

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?

An output schema exists, so the receipt shape is only summarized rather than fully documented, which is appropriate. For a no-annotation write tool with 8 undocumented parameters it covers targeting, safety, and outcomes well, but the missing 'reason' semantics and selector value formats leave a small residual gap.

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%, so the description must compensate, and it does for most parameters: it explains task_id vs task_ids (with the <= 200 cap, which is not in the schema), the four selector fields and their conjunctive semantics, and dry_run's preview behavior including refused ids. The 'reason' parameter and the accepted 'status' values are never mentioned, leaving two real gaps.

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 specific verb+resource (archive cards) with an explicit scope qualifier (non-processing only, audit history preserved) and a 'MANAGER WRITE' prefix that signals the manager-tier variant. It does not explicitly name the sibling alternatives (aiworkhub_task_archive, aiworkhub_dashboard_task_archive), so the differentiation is implied by tier naming rather than stated.

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?

Gives the three modes of targeting (single id, id list <= 200, or a conjunctive selector) and recommends dry_run=True to preview before writing, which is actionable routing guidance. It never states when to pick this tool over the adjacent task_archive/dashboard_task_archive siblings, so the agent must infer the manager-only context from the header.

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

aiworkhub_manager_task_decomposition_previewA
Read-only

MANAGER READ: validate a Source Graph-grounded child-DAG proposal.

This operation never creates or launches tasks. The returned digest is an advisory proposal that requires a separate explicit manager decision.

NameRequiredDescriptionDefault
childrenYes
objectiveYes
parent_task_idYes
source_graph_receiptYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

readOnlyHint=true already declares the safety profile, and the description reinforces it with 'never creates or launches tasks' while adding genuinely new information: the result is an advisory digest that is not self-executing. That downstream-decision requirement is exactly the behavioral context annotations cannot express. It does not mention whether previews are persisted or repeatable, so not a 5.

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 short lines, front-loaded with the operation and its read-only nature, then the constraint and the consequence. No filler, and the most consequential fact (never creates tasks) is placed early.

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 existence of an output schema means return values need not be explained, and the non-mutation guarantee is covered. But for a 4-required-parameter tool with nested objects and 0% schema descriptions, the description leaves the agent unable to construct valid arguments without opening the schema and guessing at shapes.

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% with 4 required parameters including two nested objects (source_graph_receipt, children), so the description carries full burden and adds almost nothing. 'Source Graph-grounded' hints that source_graph_receipt is evidence linkage, but parent_task_id, objective, and the expected child object shape remain completely undefined in both schema and 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?

States a specific verb and resource: 'validate a Source Graph-grounded child-DAG proposal'. The 'MANAGER READ' prefix and DAG/decomposition vocabulary separate it from the many loop, roadmap, and task-mutation siblings. It stops short of naming a specific alternative tool, so it does not earn a 5.

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?

'MANAGER READ' plus 'requires a separate explicit manager decision' implies this is a pre-decision, non-committal step, which is useful routing context. However, no sibling is named, no prerequisites are stated (e.g. that a source-graph receipt must already exist), and there is no explicit when-not-to-use guidance among the ~180 siblings.

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

aiworkhub_manager_task_supersedeC

MANAGER WRITE: supersede an orphaned active card while preserving audit history.

NameRequiredDescriptionDefault
reasonNo
task_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/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 usefully discloses two traits beyond the schema: this is a manager-level write operation and audit history is preserved. It omits reversibility, required authority, and side effects on the superseded card's relationships.

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?

One compact sentence, correctly front-loaded with the MANAGER WRITE signal and the core action. It earns its words but is arguably terse to the point of under-specification rather than maximally 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?

For a write tool with zero annotation coverage and 0% parameter coverage, the definition is too thin. The output schema covers return values, but prerequisites, the reason parameter, and the orphaned-card precondition are all left unexplained.

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% for two parameters. The description hints that task_id refers to an orphaned active card, but never explains the reason field or what a valid supersede target looks like, so it does not compensate for the coverage gap.

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 specific verb+resource ("supersede an orphaned active card") and the MANAGER WRITE prefix identifies the actor class. It is clear what the tool does, but it never distinguishes itself from the sibling aiworkhub_task_supersede, forcing the agent to infer the difference.

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 word "orphaned" implies a precondition, but it is never defined and no alternatives (aiworkhub_task_supersede, aiworkhub_manager_task_archive) are named or contrasted. There is no explicit when-to-use or 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.

aiworkhub_manager_workforce_catalogA
Read-only

MANAGER READ: configured models joined to observed canonical outcomes.

full=True returns the complete payload exactly as before: every worker field plus outcome history. The default keeps every top-level key that is not the worker list verbatim (summary, revision, manager envelope, ...) and folds the per-worker list to one compact row per worker -- worker_id, adapter_id, model, enabled, launch_eligible (build_routing_catalog's launchability key) and the row's outcomes sample_count and accepted_rate (read only from worker["outcomes"], omitted when absent, never invented) -- beside detail_omitted (bytes/sha256 of the canonical JSON of the full worker list) and a detail_request naming the full call (NF-2026-01566). An error result passes through untouched.

NameRequiredDescriptionDefault
fullNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

Annotations cover only readOnlyHint, but the description discloses a lot beyond them: default mode folds the worker list to compact rows, preserves non-worker top-level keys verbatim, emits detail_omitted with bytes/sha256 of the canonical full JSON plus a detail_request naming the full call, never fabricates outcome fields, and passes errors through untouched. That is exactly the behavioral contract an agent needs.

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 default-mode sentence is a single multi-clause construction with nested parentheticals and a ticket reference, which is hard to parse on first read. Nothing is padded for its own sake, but the front-loading is undermined by the run-on structure.

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?

An output schema exists, so return values needn't be fully spelled out, yet the description still characterizes the compact row shape and the truncation markers well. The main gap is no routing guidance against the sibling workforce tools.

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

Parameters5/5

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

Schema coverage is 0% for the single `full` parameter, so the description must carry the meaning and it does: full=True returns the complete payload as before, while the default returns a folded per-worker row with named fields. The compensation for a bare schema is thorough.

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 opening line gives a specific verb (READ) and resource (configured models joined to observed canonical outcomes), so an agent knows this returns the workforce catalog. It does not name or differentiate from the closest sibling, aiworkhub_manager_workforce_rank, so a 4 rather than a 5.

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 spends its space on the full=True vs default tradeoff, which is genuine in-tool usage guidance for payload size. It gives no when-to-use/when-not guidance relative to alternatives (workforce_rank, workforce_upsert) and states no prerequisites.

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

aiworkhub_manager_workforce_rankC
Read-only

MANAGER READ: explainable cheapest-capable routing from current evidence.

detail="summary" (default) keeps every top-level selection field (selected_*, economic_advisory, etc.) exact; the selected compatible candidate and the next two keep their full row, every other compatible candidate is reduced to worker_id/adapter_id/model/score; excluded candidates are reduced to a count per exclusion reason plus the first 10 as worker_id/adapter_id/model. detail="evidence" behaves like "full": both return today's payload exactly.

NameRequiredDescriptionDefault
riskNomedium
kindsYes
detailNosummary
task_idYes
tool_needsNo
quality_floorNo
context_tokensNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered, and the description adds real behavioral value: it specifies that summary keeps top-level selection fields exact, retains full rows for the selected candidate plus the next two, truncates remaining compatible candidates to id fields, and collapses excluded candidates into per-reason counts plus the first 10. That truncation behavior is exactly the kind of thing an agent needs to know before trusting the payload. It stops short of explaining what "current evidence" means or whether the ranking is advisory only.

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 one-line purpose is properly front-loaded, but the remaining paragraph is a dense, hard-to-parse run-on that spends its entire budget on a single parameter while omitting the six that actually gate the call. The clause describing `detail="evidence"` ("behaves like `full`: both return today's payload exactly") is ambiguous about what "today's payload" refers to. Not bloated, but misallocated.

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?

An output schema exists, so return values need not be re-explained — yet most of the description is spent on return-shape detail, leaving the input contract unexplained. Missing prerequisites (does the task need existing evidence?), the meaning of the required `task_id`/`kinds`, and whether the result is advisory or authoritative. For a 7-parameter routing tool this is under-specified.

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% across 7 parameters, so the description must compensate and it largely does not. It documents only the `detail` parameter's output shape, while `task_id`, `kinds`, `risk`, `tool_needs`, `quality_floor`, and `context_tokens` are never mentioned — the agent gets no guidance on what a "kind", a risk level, or a quality floor means here. One of seven params covered is well below what a zero-coverage schema demands.

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?

"MANAGER READ: explainable cheapest-capable routing from current evidence" conveys that the tool produces a ranked/routing recommendation, but it does so in dense internal jargon rather than naming the resource plainly (e.g., "rank worker candidates for a task"). It never explicitly contrasts with the sibling aiworkhub_manager_workforce_catalog, so the agent has to infer the boundary. The sentence is closer to vague-but-directional than to a crisp verb+object statement.

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?

There is no when-to-use statement: nothing says to call this before launching a task, after evidence changes, or instead of the workforce catalog. The only choice offered is which detail level to request, which is a response-shaping decision rather than a routing decision. An agent cannot determine from this text when this tool is the right one.

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

aiworkhub_manager_workforce_upsertC

MANAGER WRITE: audited bounded upsert of one repository worker model.

NameRequiredDescriptionDefault
modelYes
toolsNo
enabledNo
max_riskNomedium
providerYes
supportsYes
worker_idYes
adapter_idYes
quality_ceilingNo
max_context_tokensNo
manager_score_adjustmentNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/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 behavioral burden. 'Audited bounded' hints that the operation is logged and scope-constrained, which is genuine added context, but it never explains conflict/semantics of the upsert, required permissions, whether partial updates are allowed, or what the response contains.

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?

A single front-loaded sentence with the operation class first and zero filler. It is efficient, though the extreme terseness borders on under-specification for an 11-parameter mutation.

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 write tool with 11 undocumented parameters, no annotations, and no sibling routing, this description is far too thin. Although an output schema exists (so return values needn't be explained), the input side and usage conditions are almost entirely unaddressed.

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% across 11 parameters, and the description adds nothing about any of them. Terms like 'worker model' are too vague to convey the meaning of worker_id, adapter_id, supports, max_risk, or quality_ceiling, leaving all parameters 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?

States a specific verb (upsert) and resource (one repository worker model), with a 'MANAGER WRITE' prefix that signals the operation class. It implicitly distinguishes itself from read-only siblings like workforce_catalog and workforce_rank, though it never names them explicitly.

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 when-to-use, when-not-to-use, prerequisites, or named alternatives are given. The 'upsert' verb hints that it handles both create and update, but the agent gets no condition telling it when this is the right tool versus workforce_catalog or workforce_rank.

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

aiworkhub_prompt_bundle_ab_reportB
Read-only

READ-ONLY: evaluate preregistered matched A/B provider-usage rows.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

The description's leading 'READ-ONLY' merely restates readOnlyHint=true, so it earns no credit. What it does add beyond annotations is the 'preregistered matched' constraint, implying rows must already be paired before evaluation, but it says nothing about behavior when pairs are missing or unmatched.

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?

A single short clause with no filler, though the leading 'READ-ONLY:' tag consumes the front-loaded position with information already present in annotations. The substantive content is packed into one dense phrase, which is efficient but borders on terse.

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?

With zero parameters, an output schema, and readOnlyHint, the structured fields cover most of the burden, so the description needn't explain returns. However, terms like 'prompt bundle' (from the name) and 'matched' are never unpacked, leaving the agent unclear on what a report over these rows actually represents.

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 tool takes zero parameters, which is the baseline-4 case. No parameter meaning needs to be conveyed, and the description correctly implies the scope is fully determined internally rather than by caller input.

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 concrete verb (evaluate) and a concrete resource (preregistered matched A/B provider-usage rows), which is far more specific than a tautology. It does not differentiate from nearby read-only reporting siblings such as aiworkhub_task_usage_report or aiworkhub_cli_adapter_report_readonly, so an agent must still guess which reporting tool applies.

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?

There is no statement of when to use this tool, when not to, or which sibling to pick instead. The only scoping comes from the adjective 'preregistered', which hints at a precondition but never says who preregisters rows or what to do if none exist.

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

aiworkhub_quality_calibration_reportC
Read-only

READ-ONLY: run the deterministic positive/negative gate matrix.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

The 'READ-ONLY' prefix merely restates readOnlyHint=true from the annotations, earning no credit. The only additional trait is 'deterministic', which is genuinely useful, but nothing is said about what the gate matrix evaluates, how results are produced, or any preconditions.

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?

A single front-loaded sentence with no filler and no redundancy. It is as compact as a description can be.

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?

Although an output schema exists and no parameters need explaining, the description is too thin for a tool sitting among many quality/eval siblings. It does not say what the gate matrix checks, when to run it instead of aiworkhub_quality_run_checks, or what a 'calibration report' is.

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 tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify about inputs, and the empty schema is consistent with the definition.

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 names an action (run) and an object (deterministic positive/negative gate matrix), but 'gate matrix' is opaque jargon and the definition offers no differentiation from close siblings such as aiworkhub_quality_run_checks or aiworkhub_eval_artifact_gate. An agent can infer it is a quality check but not what distinguishes it.

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?

There is no when-to-use or when-not-to-use guidance and no named alternative. With roughly a dozen quality-related siblings in the list, the agent is left to guess which one to call.

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

aiworkhub_quality_evidence_packetB
Read-only

READ-ONLY: full canonical evidence packet -- profile, declared checks, risk-based optional-gate policy metadata (not_available != passed), and the cross-provider read-only quality_reviewer contract.

NameRequiredDescriptionDefault
changed_pathsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, and the description adds useful behavioral context by detailing what the packet contains and clarifying that 'not_available != passed' in gate policy metadata. It does not cover error handling or auth, but against a lower bar with annotations, this is solid added value.

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?

The description is a single dense sentence that front-loads 'READ-ONLY' and the core resource name. Every listed element (profile, checks, gate policy, reviewer contract) earns its place, though a clearer verb would improve readability slightly.

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 output schema exists, so return values need not be explained, and the description gives a good content overview. However, it completely omits the optional changed_paths parameter and offers no usage guidance, leaving meaningful gaps for an agent deciding whether to call this 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?

The only parameter, changed_paths, has zero schema description coverage and is not mentioned anywhere in the description. With schema coverage at 0%, the description must compensate, but it provides no information about what the parameter does or how it affects the result.

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 specifies the exact contents of the evidence packet (profile, declared checks, risk-based optional-gate policy metadata, and quality_reviewer contract), which distinguishes it from siblings like aiworkhub_quality_profile and aiworkhub_review_packet. It lacks an explicit verb ('returns'/'fetches') and does not name a sibling to differentiate from, but the content enumeration makes 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 Guidelines2/5

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

The description states 'READ-ONLY' but provides no guidance on when to use this tool versus alternatives such as aiworkhub_quality_profile, aiworkhub_quality_run_checks, or aiworkhub_review_packet. There are no prerequisites or exclusions mentioned.

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

aiworkhub_quality_gate_ratchetC
Read-only

READ-ONLY: report new quality identities and no-net-growth overflow.

NameRequiredDescriptionDefault
violationsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.1/5.0
Behavior2/5

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

The description restates readOnlyHint=true ('READ-ONLY') without adding context, which earns no credit. It does not disclose whether the 'ratchet' compares against persisted baseline state, what 'overflow' means, or what the report contains beyond what the output schema presumably covers.

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?

One short sentence with no filler, but the space is spent on a redundant 'READ-ONLY' prefix rather than on the concept the agent actually needs. Front-loading is technically correct but the payload is thin.

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?

An output schema exists so return values needn't be described, but for a tool whose entire premise is a 'ratchet' baseline comparison over caller-supplied violations, the description leaves the core semantic model and the parameter contract unexplained.

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% for the single optional 'violations' parameter (array of untyped objects), so the description must compensate, and it does not. It never explains what a violation record should contain or what 'quality identity' means in that payload.

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

Purpose2/5

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

The verb 'report' is present, but the resources 'quality identities' and 'no-net-growth overflow' are undefined internal jargon that an agent cannot map to a concrete operation. Nothing distinguishes it from siblings like aiworkhub_quality_run_checks, aiworkhub_eval_artifact_gate, or aiworkhub_quality_profile.

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 indication of when this tool should be called, what precedes it (e.g., a check run producing violations), or which sibling to use instead. The only signal is the 'READ-ONLY' prefix, which merely implies it is safe, not when it is appropriate.

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

aiworkhub_quality_profileC
Read-only

READ-ONLY: zero-config detected languages/declared/installed tools.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

The readOnlyHint annotation already declares the safety profile, so 'READ-ONLY' in the description is redundant. 'Zero-config' adds a small amount of context, but the description gives no deeper behavioral detail such as data sources, scope, or what the zero-config detection actually covers.

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 definition is short and front-loads the READ-ONLY constraint, which is efficient. However, the compressed phrase 'detected languages/declared/installed tools' is under-structured and reads more like notes than a clear tool summary.

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?

Although the tool is low-complexity, has an output schema, and carries a readOnlyHint, the description still leaves the core purpose ambiguous. An agent cannot confidently tell what a 'quality profile' is or why it would call this tool instead of the many sibling quality/profile tools.

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 tool has zero parameters, so there is no parameter documentation gap for the description to fill. The empty schema is self-explanatory and the description does not need to explain parameters.

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

Purpose2/5

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

The description is a cryptic fragment: 'READ-ONLY: zero-config detected languages/declared/installed tools.' It hints at a profile of detected languages and tools but never states a clear verb or what a 'quality profile' actually returns. It also does not distinguish this tool from nearby profile/quality siblings such as aiworkhub_suite_profile or aiworkhub_quality_run_checks.

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?

There is no when-to-use guidance, no prerequisites, and no alternatives named. The 'READ-ONLY' prefix signals a safe read operation, but nothing tells an agent when to choose this over other profile or quality tools.

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

aiworkhub_quality_reviewer_launchC

DUAL-GATED: launch one independent anti-anchored quality reviewer.

timeout_seconds is retained only as non-enforcing compatibility metadata; this API never installs a reviewer wall-clock deadline.

NameRequiredDescriptionDefault
lensYes
modelNo
runnerYes
adapter_idYes
target_task_idYes
timeout_secondsNo
reviewer_task_idYes
target_request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.8/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 behavioral burden. It does disclose one useful trait: timeout_seconds is non-enforcing compatibility metadata and no wall-clock deadline is installed. However, it does not explain what 'DUAL-GATED' actually gates, what side effects launching a reviewer has, permission requirements, or whether the reviewer runs synchronously or asynchronously.

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-loads the tool's purpose, and has no wasted language. The second sentence is an important compatibility caveat that directly earns its place by preventing misinterpretation of timeout_seconds.

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 eight parameters, six of them required, no annotations, and zero schema description coverage. Although an output schema exists, the description is far too sparse to cover input semantics, gating behavior, or invocation context, making correct use difficult without additional documentation.

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% across eight parameters, so the description must compensate. It adds meaning only for timeout_seconds; the six required parameters and the model parameter remain undocumented, and even the enum-bearing lens parameter gets no semantic explanation beyond its name.

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 gives a specific verb and resource: 'launch one independent anti-anchored quality reviewer.' That is more than a tautology and tells the agent what operation is performed, but it does not explicitly distinguish this tool from nearby review/quality siblings such as aiworkhub_quality_run_checks, aiworkhub_review_packet, or aiworkhub_task_review_queue.

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?

There is no explicit guidance on when to use this tool versus alternatives, nor on prerequisites or when not to use it. The 'DUAL-GATED' label hints at a gating condition, but it is never defined, leaving the agent to infer usage context.

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

aiworkhub_quality_run_checksA

Run repo-declared .aiworkhub/quality.json build/test/lint/typecheck commands (argv arrays only, shell=False). Fails closed on malformed config. Diff/new-code-first: pass changed_paths to scope evidence.

NameRequiredDescriptionDefault
changed_pathsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/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 and does disclose real behavioral traits: commands run as argv arrays with shell=False (no shell interpolation) and the tool fails closed on malformed config. It does not state side effects on repo state, permissions, timeouts, or how failures surface, so important context for a command-executing tool is missing.

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?

Three compact sentences, front-loaded with the core action and then the two most important behavioral notes. Dense with jargon (.aiworkhub/quality.json, argv arrays, shell=False) but no wasted text.

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?

An output schema exists, so return values need not be explained. Combined with the action, security model, failure mode, and the sole parameter's purpose, the definition is nearly complete; missing only side-effect/permission context for a command runner.

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 description coverage is 0%, so the schema adds nothing about changed_paths. The description compensates by explaining the parameter's purpose (scoping evidence, diff/new-code-first), which is exactly the meaning an agent needs, though it omits expected format/semantics of the paths.

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 specific verb (Run) and resource (repo-declared .aiworkhub/quality.json build/test/lint/typecheck commands), which is concrete enough to distinguish it from siblings like aiworkhub_quality_profile or aiworkhub_quality_gate_ratchet. It does not, however, explicitly name an alternative or contrast itself with those related quality tools.

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 'Diff/new-code-first: pass changed_paths to scope evidence' line gives an implicit when-to-use cue for scoping, but there is no explicit when/when-not guidance or named alternative among the many quality/review siblings. Usage is implied rather than stated.

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

aiworkhub_repo_currentB
Read-only

READ-ONLY: exact current repository, binding source, and manager route.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description echoes READ-ONLY (consistent, not contradictory). It adds useful scope information (exact current repo, binding source, manager route), but nothing about resolution behavior or what 'binding source' means.

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?

A single front-loaded sentence fragment with no filler, and the read-only constraint leads. It is terse to the point of using undefined internal terms, but nothing is wasted.

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 is simple (0 params, output schema present, read-only) so the description needn't explain returns. The main gap is that an agent landing here without reading the name carefully cannot tell how this differs from the repo_list and repo_switch siblings in the same family.

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?

Zero parameters, so there is no schema semantics to explain; the description correctly does not invent any parameter discussion. Baseline for a 0-param tool applies.

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 the resource it retrieves (current repository, binding source, manager route) which is specific enough that an agent knows what comes back. It does not contrast with sibling aiworkhub_repo_list or aiworkhub_repo_switch, and 'binding source'/'manager route' are internal jargon, so it falls short of a 5.

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 when-to-use guidance and no mention of alternatives such as aiworkhub_repo_list (listing repositories) or aiworkhub_repo_switch (changing selection). The agent must infer that this is the 'no-arg, get the active one' variant purely from the tool name.

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

aiworkhub_repo_listC
Read-only

READ-ONLY: bounded live repository identities available to this manager.

NameRequiredDescriptionDefault
limitNo
include_inactiveNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, so the description's 'READ-ONLY' label is mostly redundant. It adds useful scope with 'bounded live' and 'available to this manager', but does not explain what 'bounded' means, how limit affects results, or how include_inactive changes 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 front-loaded sentence with no wasted text. 'READ-ONLY' is placed first, and the remaining clause states the resource and scope 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?

The output schema reduces the need to explain return values, but for a two-parameter list tool the description is too sparse. It omits parameter semantics and any selection guidance against closely related repository tools.

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?

There are two parameters with 0% schema description coverage, and the description never mentions limit or include_inactive. It adds no meaning beyond the bare parameter names and defaults.

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 identifies the resource clearly as repository identities available to this manager, with a read-only scope. It is specific enough to distinguish listing from switching or current-repo retrieval, though it does not explicitly name those siblings.

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?

It states READ-ONLY but gives no guidance on when to use this tool versus repo_current, repo_switch, or router_known_repositories. The agent is left to infer the choice from the name and surrounding context.

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

aiworkhub_repo_switchB

MANAGER OPERATION: atomically switch to one live manager-owned repo_id.

NameRequiredDescriptionDefault
repo_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/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 behavioral burden. It usefully discloses atomicity and that only a live manager-owned repo can be selected, but it omits permissions, persistence/reversibility, concurrency effects, and what state the switch actually mutates.

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?

A single front-loaded sentence with no filler, and the operation class and key constraints are stated immediately. It is appropriately terse, though the brevity borders on under-specification for a state-changing tool.

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 a simple one-parameter mutation with no annotations and an available output schema, the description covers the core action and atomicity constraint. It still leaves prerequisites, authorization expectations, side effects, and when to prefer this over repo_current/repo_list unexplained.

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 the undocumented repo_id parameter. It adds a real semantic constraint by saying the value must be one live manager-owned repo_id, but provides no format, source, or example values, so compensation is only partial.

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 specific verb and resource: an atomic switch to a manager-owned repo_id. The 'MANAGER OPERATION' qualifier and the live/manager-owned constraint distinguish it from read-only siblings such as repo_list and repo_current, though no sibling is named explicitly.

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 'MANAGER OPERATION' prefix implies manager-context usage and rules out read-only listing, but there is no explicit when-to-use, when-not-to-use, or alternative selection guidance. An agent can infer some context but must still guess the triggering condition relative to repo_current/repo_list.

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

aiworkhub_review_packetA
Read-only

READ-ONLY: ONE bounded review packet for a review_ready candidate.

Every fact a manager needs to decide a candidate is already persisted -- validation rows with their declared commands and output tails, the quality gate's checks and blockers, the worker MCP gate and its receipt-conformance verdict, required outputs, destructive-diff checks, the effective tier and its per-lens status, the deduped reviewer findings, the reachability observation -- spread across six nested objects on one card. This returns them together, under a measured byte bound.

Measured over all 419 real cards carrying a quality gate: min 1,662 B, p50 6,387 B, p90 8,813 B, max 13,799 B, 0 needing truncation. It replaces per candidate 10 task-scoped calls at p50 (p90 21) and, session-wide, 1,688 hand-written Bash re-derivations (pytest 611, attempt-artifact reads 242, task_queue.sqlite scripts 250, log tails 113, git diff 155) totalling 1.45 MB.

Nothing here is a verdict: every status was decided by the gate that recorded it, and accepting still runs the whole fold in accept_review. The one live computation is accept_preview -- itself read-only -- which completion_inbox cannot call because it holds no launch authority, so it is computed here and passed in.

NameRequiredDescriptionDefault
task_idNo
max_bytesNo
request_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

With readOnlyHint already declared, the description still adds real behavioral context: output is byte-bounded (default and p50/p90/max figures, zero truncation in the measured population), it is a snapshot of persisted facts and 'nothing here is a verdict', accepting still re-runs the fold via `accept_review`, and `accept_preview` is the one live computation and is inlined because `completion_inbox` lacks launch authority. That is meaningful disclosure beyond annotations, though the volume/usage statistics lean toward sales copy.

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?

Front-loaded with READ-ONLY and the core purpose, which is good, but the middle is padded with call-count and Bash-re-derivation breakdowns that inform tooling economics more than tool use. The 'nothing here is a verdict' and accept_preview sentences do earn their place; the statistical sprawl does not.

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?

An output schema exists, so return values need no prose, and the description does enumerate the six nested objects and state the byte bound. The gap is input-side: for a tool whose only required argument is undocumented, an agent cannot know what `request_id` must be or how to size `max_bytes`, which is not covered elsewhere.

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 none of the three parameters are explained in the description. The required `request_id` is never mentioned at all, `task_id` is only implied by 'candidate', and `max_bytes` is only alluded to via 'under a measured byte bound' with no statement of what happens on truncation or how the 90000 default relates to the reported max of 13,799 B.

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?

States a specific verb and resource — returns ONE bounded review packet for a `review_ready` candidate — and enumerates exactly what that packet contains (validation rows, gate checks/blockers, MCP gate verdict, required outputs, diff checks, tier/per-lens status, deduped findings, reachability). An agent can distinguish this from `completion_inbox`, `task_review_summarize`, or `task_review_queue` without opening any schema.

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?

Clear context: it is the manager's consolidated read for deciding a candidate, and it explicitly says it replaces 10 task-scoped calls (p50) per candidate plus 1,688 session-wide Bash re-derivations, which tells the agent when it beats ad-hoc investigation. It also notes the `completion_inbox` boundary. It stops short of naming the specific alternative tools it supersedes (e.g. task-scoped reads, `task_review_summarize`) or stating exclusions.

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

aiworkhub_risk_mode_precision_benchB
Read-only

READ-ONLY: per-mode/language precision from adjudicated registered rows.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

The 'READ-ONLY' prefix is redundant with readOnlyHint=true, so it adds nothing. The phrase 'from adjudicated registered rows' does add real provenance context about what data feeds the metric, which is beyond the annotations. However, nothing is said about cost, freshness, or scope of the computation.

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?

A single compact sentence with the read-only marker front-loaded. Slight waste in repeating READ-ONLY, which the annotation already declares, but there is no padding beyond that.

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?

With zero parameters and an output schema present, the description needn't explain return values, so the bar is low — but 'mode', 'language', and 'adjudicated registered rows' are never grounded, and there is no cue about when the benchmark is meaningful. For an analytics tool in a crowded metrics family, this is only minimally sufficient.

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 tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. No misleading hints about inputs are given.

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 names a specific resource — precision metrics split by mode and language, derived from adjudicated registered rows — but the verb is implicit (from the 'bench' suffix) and the domain jargon ('adjudicated registered rows') leaves the actual operation ambiguous. It does not differentiate itself from siblings like aiworkhub_quality_calibration_report or aiworkhub_runtime_coverage_preview.

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?

There is no statement of when this tool should be called, no prerequisites, and no mention of alternatives. With many quality/metrics siblings in the list, the agent is left to guess whether this or a calibration/coverage report is appropriate.

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

aiworkhub_router_known_repositoriesB
Read-only

READ-ONLY: bounded shared registry of live AIWorkHub repository routes.

This is discovery only. Task storage and task mutation remain scoped to the current repository's own .aiworkhub MCP child.

NameRequiredDescriptionDefault
limitNo
include_inactiveNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and the description confirms READ-ONLY, but it adds genuine scope context beyond that: the registry is shared/cross-repository while task operations are per-repo. It does not explain what 'bounded' means, whether the registry refreshes live, or how results behave when the registry is empty or large.

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?

Short and front-loaded with the READ-ONLY marker, and every sentence contributes scope information rather than filler. Slightly indirect phrasing ('repository routes', 'MCP child') costs a bit of first-read clarity.

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?

An output schema exists, so return values need not be described, and the read-only profile is covered by annotations. What's missing is how the returned routes are meant to be consumed (e.g., fed into repo switching) and any parameter semantics, which leaves the definition adequate but thin for a discovery entry point.

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 neither parameter is documented in the schema, so the description carries the full burden. The words 'bounded' and 'live' hint at limit and include_inactive but never state what limit counts or that include_inactive surfaces retired routes, so an agent must guess both.

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 names the resource concretely ('bounded shared registry of live AIWorkHub repository routes') and frames it as discovery, so an agent knows it enumerates repositories. The implicit verb (list/read) is never stated outright, and no sibling such as aiworkhub_repo_list or aiworkhub_repo_current is named to disambiguate.

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?

'This is discovery only' plus the note that task storage/mutation stay with the current repository's own .aiworkhub child gives a real boundary for when to use it. However, it never says which of the many repo-related siblings (aiworkhub_repo_list, aiworkhub_repo_current, aiworkhub_repo_switch) to pick instead, leaving the key selection decision to inference.

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

aiworkhub_runtime_coverage_importC

WRITE-GATED: atomically project repo-local coverage into Source Graph.

NameRequiredDescriptionDefault
artifact_pathYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/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 behavioral burden. It does disclose two useful traits — gated write and atomic execution — but says nothing about permissions required, idempotency, whether existing coverage is replaced or merged, or failure/rollback behavior for a destructive-looking import.

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?

A single front-loaded sentence that leads with the gating constraint and commits to no filler. It is efficient, though arguably too terse for a write operation with an undocumented parameter.

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?

An output schema exists, so return values need no explanation, but the missing parameter documentation, absent preview/alternative routing, and thin behavioral detail leave a write-gated import tool under-described.

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% for the single required parameter artifact_path, and the description never addresses it. Only 'repo-local' faintly hints at the path's scope, leaving format and expected location 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?

States a specific verb and resource: 'project repo-local coverage into Source Graph', with 'WRITE-GATED' signalling a mutation. An agent can identify the operation, though 'project' and 'Source Graph' are domain jargon and the preview/import split against aiworkhub_runtime_coverage_preview is only implied, not named.

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 gives no when-to-use guidance, no prerequisites, and never mentions the obvious sibling aiworkhub_runtime_coverage_preview as the non-committing alternative. 'WRITE-GATED' hints that authorization matters but does not tell the agent when to prefer this over the preview.

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

aiworkhub_runtime_coverage_previewB
Read-only

READ-ONLY: parse a repo-local coverage.py JSON artifact.

NameRequiredDescriptionDefault
artifact_pathYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

The readOnlyHint annotation already declares the safety profile, and the description mainly reinforces that with 'READ-ONLY'. It adds useful context that the artifact is repo-local coverage.py JSON, but does not describe validation, error behavior, or how parsing differs from importing.

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?

A single front-loaded sentence with no wasted words. The read-only constraint and core action are immediately clear.

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?

Output schema exists, so return shape need not be explained. However, for a preview tool with an undocumented path parameter and a related import sibling, the description leaves out enough operational context that an agent could still hesitate about correct invocation conditions.

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%, so the description must carry parameter meaning. It partially does by identifying artifact_path as a repo-local coverage.py JSON artifact, but it does not specify path format, relative vs absolute expectations, or failure conditions.

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 specific verb/resource pair: parse a repo-local coverage.py JSON artifact. The read-only preview intent is clear, but the description does not explicitly contrast with the sibling aiworkhub_runtime_coverage_import.

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 say when to use this preview versus the import sibling or any other alternative. 'READ-ONLY' implies a non-mutating mode, but no explicit usage guidance or exclusions are provided.

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

aiworkhub_session_token_profileC
Read-only

READ-ONLY: observed provider tokens plus separately-labelled prompt bytes.

NameRequiredDescriptionDefault
task_idNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

readOnlyHint=true is already declared, and the description reinforces it with the 'READ-ONLY' prefix. It adds one genuine piece of behavioral context by clarifying that prompt bytes are labelled separately from observed provider tokens, which hints at data provenance. It does not state the scope (per session? per task?), whether results are cached, or freshness, so the added value is moderate.

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?

A single short sentence with the safety qualifier front-loaded, so nothing is wasted. It is slightly terse to the point of being cryptic — 'separately-labelled prompt bytes' requires interpretation — but it is well sized for a one-parameter read tool.

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?

An output schema exists, so return values need no explanation, and the annotation covers safety. But the description omits the scope of the profile (session-level vs task-level) and leaves the only parameter undocumented, gaps that neither the schema nor the annotations fill.

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 single parameter task_id has 0% schema description coverage, and the description never mentions it. With only one optional parameter and no documentation anywhere, the agent has to infer that omitting it yields a global/default profile and supplying it narrows to one task.

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 names the resource semantically (session token profile) and describes its contents: observed provider tokens plus prompt-byte counts reported separately. However, there is no explicit verb and no differentiation from closely related siblings such as aiworkhub_task_usage_report or aiworkhub_task_cost_ledger, so an agent cannot tell from the text alone which one to pick.

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?

There is no when-to-use statement, no prerequisites, and no mention of alternatives. The description states what data exists but never says under what circumstances an agent should call this rather than the usage report or cost ledger tools listed as siblings.

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

aiworkhub_source_graph_ensure_startedA

Idempotently ensure exactly one Source Graph indexing daemon is running for the active repository. Safe to call repeatedly (InitRepo, activation, tab-deserialization, reload) -- never starts a second thread and never fabricates a running daemon for an uninitialized repository.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does well: idempotency, single-thread guarantee, repeat safety, and no fabricated daemon for uninitialized repos are all disclosed. It stops short of covering auth/permissions, error modes, or whether the call blocks until readiness.

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, front-loaded with the core guarantee and then the safety caveats. No filler; every clause adds information.

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

Completeness5/5

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

Given the empty parameter schema and the presence of an output schema, the description supplies everything needed to invoke the tool correctly: purpose, idempotency, safe contexts, and the uninitialized-repo caveat. Return values are handled by the output schema.

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 tool takes zero parameters, so there is no parameter semantics to document. The baseline of 4 applies because the empty schema is fully sufficient and the description need not add parameter detail.

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 names a specific verb (ensure), resource (Source Graph indexing daemon), and scope (exactly one, active repository). It does not reference sibling tools like source_graph_health or source_graph_stop, so it stops short of explicit differentiation, but an agent can still identify the operation unambiguously.

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 lists concrete trigger contexts — InitRepo, activation, tab-deserialization, reload — which tells the agent when this is safe to call. It does not name alternative tools or state an explicit when-not beyond implying that uninitialized repositories won't produce a false running state.

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

aiworkhub_source_graph_healthA
Read-only

READ-ONLY: Source Graph indexing daemon health for the active repository -- indexing/ready/degraded status, last report/error/time.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description restates READ-ONLY plus adds the meaningful status taxonomy (indexing/ready/degraded). Beyond that it says little about behavior, and the returned last report/error/time fields largely duplicate what the output schema already covers.

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?

A single sentence with the read-only and scope constraints front-loaded and no wasted words.

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 zero-argument, read-only status query with an output schema and readOnlyHint, the description covers what an agent needs to select and call it. Only the lack of guidance on what to do with a degraded result keeps it from a 5.

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?

Zero parameters, so there is no parameter semantics to explain; the baseline for a no-arg tool applies.

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?

Names a specific resource (Source Graph indexing daemon) and scope (active repository) and enumerates the status vocabulary it reports. It is distinguishable from ensure_started/stop/refresh by the word 'health,' but it never names those siblings explicitly.

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 'for the active repository' implies the context of use, and the health-check framing implies when to call it. However, it gives no explicit when/when-not guidance or routing versus siblings like aiworkhub_source_graph_ensure_started, aiworkhub_source_graph_refresh_now, or aiworkhub_dispatcher_health.

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

aiworkhub_source_graph_refresh_nowA

Force one bounded incremental (or first-ever full) Source Graph build now, non-overlapping with the periodic background refresh.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

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 does add real behavioral context — the build is bounded, incremental (or full only on first run), and serialized against the background refresh — which is useful. But it omits whether the call blocks until completion, expected duration, and any auth/cost implications.

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?

A single front-loaded sentence with no filler. The action verb ('Force ... build now') leads and every clause adds scope information.

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 no-argument trigger with an output schema covering return values, the description supplies the essential context: what is built, what mode, and how it interacts with the background refresh. Only the synchronous/asynchronous behavior remains unstated.

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 tool takes zero parameters, so there is no parameter semantics to document; baseline 4 applies.

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 specific verb and resource: forcing a Source Graph build now, with the scope qualifier 'bounded incremental (or first-ever full)'. This distinguishes it from a routine periodic refresh, though it never names the sibling it competes with (e.g. aiworkhub_source_graph_ensure_started).

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 'now, non-overlapping with the periodic background refresh' implies the use case (immediate forced rebuild) but gives no explicit when-to-use vs ensure_started/stop guidance and no exclusions. Usage is inferable rather than stated.

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

aiworkhub_source_graph_retrieval_evalB
Read-only

READ-ONLY: run registered precision@k/MRR cases through manager MCP wrapper.

Threads a real, repository-bound external_qualification.canonical_acceptance_authority per declared case attempt, so accepted_outcome_coverage is measured from canonical task evidence instead of staying permanently pending.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, and the description repeats READ-ONLY rather than adding to it. It does add some behavioral context by explaining that each declared case attempt is bound to a canonical acceptance authority and that accepted_outcome_coverage is measured from canonical task evidence, but it omits failure modes, permissions, and where registered cases come from.

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?

The description is short and front-loads the operation in the first sentence. The second sentence is dense with internal identifiers and backticked field names, which hurts readability, but it is not bloated and its content is relevant.

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?

An output schema exists, so return values do not need explanation, and zero parameters make invocation trivial. However, the description does not explain where registered cases come from, what the precision@k/MRR evaluation covers, or how this tool differs from the many sibling quality/eval tools, leaving material context gaps.

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 tool has zero parameters, and the schema has no properties to document. With no parameter semantics needed, the baseline score of 4 is appropriate; the description does not need to compensate for missing schema detail.

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: run registered precision@k/MRR cases through the manager MCP wrapper. However, it never names or distinguishes the many sibling evaluation/quality tools, such as aiworkhub_risk_mode_precision_bench or aiworkhub_quality_run_checks, so an agent must infer when this evaluation is the right choice.

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?

There is no explicit when-to-use, when-not-to-use, prerequisite, or alternative-tool guidance. The mention of registered cases and measuring accepted_outcome_coverage implies a purpose but does not give an agent a selection rule.

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

aiworkhub_source_graph_stopA

Stop and unregister the active repository's Source Graph indexing daemon, if any. Called on workspace/repository switch and extension deactivation so no cross-repository indexing thread survives.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/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 and does useful work: it discloses that the daemon is unregistered and states the goal ('no cross-repository indexing thread survives'), clarifying the side effect. It omits permission requirements and whether indexed data is discarded, but the operative side effect is 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?

Two sentences with zero waste; the core action is front-loaded and the trigger rationale follows. Every clause earns its place.

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?

An output schema exists, so return values need no explanation. For a zero-parameter lifecycle mutation tool, the description covers what it does, when it fires, and the key side effect; only permissions and the fate of index data are unaddressed.

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 tool takes no parameters, so the schema imposes no semantic burden and the baseline is 4. Nothing in the description is needed to compensate for missing 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?

States a specific compound verb ('Stop and unregister') and a precise resource ('the active repository's Source Graph indexing daemon'), with the 'if any' qualifier indicating tolerance for an absent daemon. This is readily distinguishable from the sibling aiworkhub_source_graph_ensure_started without opening either schema.

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?

Explicitly names the lifecycle contexts ('workspace/repository switch and extension deactivation') that trigger this tool, which is strong context for an agent invoking it. It stops short of an explicit when-not-to-use or naming the counterpart tool to call instead.

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

aiworkhub_storage_recover_stranded_worktreesA

Recover retained worktrees stranded outside every reclamation path.

NF-2026-00279: the storage observability surface recommends this recovery, but it had no tool/MCP/CLI entry point, so an operator was told to run something they could not. This exposes it as a real action.

READ-ONLY first: confirm=False (the default) returns a report of the worktrees that would be re-registered and those that are orphaned-but- reclaimable, mutating nothing. confirm=True requires a non-empty reason, reinstates the provably-owned registrations, and records the reason in the audit log.

NameRequiredDescriptionDefault
reasonNo
confirmNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so well: default behavior mutates nothing, confirm=True reinstates provably-owned registrations, requires a reason, and records that reason in the audit log. This gives an agent the key safety and audit behavior before invocation.

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?

The purpose and read-only first guidance are front-loaded and easy to scan. The NF-2026-00279 background paragraph is somewhat extraneous for invocation, though it explains why the tool exists and does not obscure the operational guidance.

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?

Given the output schema, return-value details need not be restated, and the description covers the important mutation modes, audit behavior, and ownership constraint. It could mention permissions or prerequisites, but it is otherwise sufficient for correct invocation.

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 description coverage is 0%, so the description must compensate, and it does for both parameters: confirm controls read-only versus mutating mode, and reason is required specifically when confirm=True. It could add more detail about acceptable reason content, but the core semantics are covered.

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: recovering retained worktrees stranded outside reclamation paths. It is clearly distinct from storage purge/quarantine/prune siblings by focusing on reinstating registrations, though it does not explicitly name an alternative tool.

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 clearly explains the two usage modes: confirm=False returns a read-only report, while confirm=True performs recovery and requires a non-empty reason. It does not state when to prefer a different sibling tool or when not to use this one.

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

aiworkhub_suite_profileC

Execute one repo-declared quality check repeatedly; shell is never used.

NameRequiredDescriptionDefault
repeatsNo
check_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations present, the description carries the full burden, and it discloses only one trait: 'shell is never used.' It does not say whether the run is read-only, whether it mutates repo state, whether it is sandboxed or what permissions are required, which is thin for an execution tool.

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?

A single front-loaded sentence with no filler; the key behavior (one check, repeated) comes first and the shell note is appended efficiently. It is terse rather than padded.

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?

An output schema exists so return values need not be explained, but with zero annotations, zero parameter documentation and no usage context, an agent cannot reliably determine when or how to call this. The definition omits more than it conveys for a tool of this complexity.

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% and neither parameter is named in the description. 'one repo-declared quality check' faintly hints that check_id names a declared check, and 'repeatedly' faintly hints at repeats, but there is no explanation of the default of 2, accepted values, or format, so the gap is essentially unaddressed.

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 specific verb and resource: 'Execute one repo-declared quality check repeatedly,' which pins down scope (single check, repeated) beyond a bare name. However, it does not distinguish itself from close siblings like aiworkhub_quality_run_checks, aiworkhub_quality_profile, or aiworkhub_quality_run_checks, leaving an agent to guess which quality-family tool to pick.

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?

There is no when-to-use guidance and no mention of alternatives, despite a large quality/check family among the siblings. The adverb 'repeatedly' and the 'repo-declared' qualifier imply context but never state the condition that selects this tool over aiworkhub_quality_run_checks.

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

aiworkhub_supervisor_loop_statusB
Read-only

READ-ONLY: derive supervisor_state + error taxonomy for a task_id.

Implements the B08 contract's 7-step derivation over the LIVE queue (task_mcp_supervisor_loop_status_tool_b08_v1.json): fetch_status via core.show_task, then runner_topic_mismatch / missing_artifact / collision / stale_task / failed_validation checks, falling through to a read-only lifecycle_state -> supervisor_state mapping when none trip.

FROZEN READ-ONLY CONTRACT -- no write-gate toggle, no mutation parameters. Never calls taskctl done/review/start/auto-pickup/add-card. Never mutates queue or audit state. Never launches agents or processes. Writes remain default-off regardless of input values.

NameRequiredDescriptionDefault
topicNo
runnerNo
task_idYes
previous_snapshotNo
supervisor_request_idNo
reported_validation_verdictNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, but the description adds substantial behavioral context: frozen read-only contract, no write-gate toggle, no mutation parameters, never calls taskctl done/review/start/auto-pickup/add-card, never mutates queue/audit state, never launches agents, and writes remain default-off. This is rich disclosure beyond what annotations provide.

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?

Front-loads the key purpose, but includes internal implementation details (e.g., the B08 contract file name, core.show_task, taskctl command names) that may not be relevant to an agent selecting the tool. The repeated read-only warnings are useful but make it longer than necessary.

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 behavioral safety profile is complete and an output schema exists, so return values need not be explained. However, with 6 parameters and 0% schema coverage, the description fails to provide parameter semantics or usage guidance, which are needed 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 description coverage is 0% for all 6 parameters, and the description does not explain the meaning or expected format of topic, runner, previous_snapshot, supervisor_request_id, or reported_validation_verdict. Only task_id is mentioned in passing, leaving most parameters 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?

States a specific verb and resource: 'derive supervisor_state + error taxonomy for a task_id' and describes the 7-step derivation. It does not explicitly distinguish itself from the similarly named sibling aiworkhub_manager_loop_status, leaving an agent to infer the difference from context.

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?

Explains what the tool derives but never says when to use it versus alternatives such as aiworkhub_manager_loop_status or aiworkhub_task_health. There is no 'use this when' guidance or exclusion criteria.

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

aiworkhub_task_archiveA

COORDINATOR WRITE: archive stale non-processing tasks atomically (archived_at + card_json + an archived task_events row each). Runs the full coordinator-capability write gate per item -- use this instead of patching SQLite. For an active/orphaned card use supersede.

Targets: one task_id, task_ids (<= 200), or a selector (status/topic/older_than_hours/task_id_prefix, conjunctive). dry_run=True previews the exact ids (and the processing cards that would be refused) without writing. Replies with per-id receipts {task_id, ok, status_after, error?}; one refusal never hides the rest.

NameRequiredDescriptionDefault
topicNo
reasonNo
statusNo
dry_runNo
task_idNo
task_idsNo
task_id_prefixNo
older_than_hoursNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses the atomic side effects, the per-item coordinator-capability write gate, refusal of processing cards, the <=200 batch cap, and per-id receipts where 'one refusal never hides the rest'. Gaps: no statement of reversibility/restore path or permission prerequisites beyond the vague 'coordinator-capability write gate'.

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?

Front-loaded with the operation and the alternative, then labeled Target / dry_run / Replies blocks — every sentence carries information. The prose is dense and slightly packed; a short bulleted selector list would read faster, but there is no filler.

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

Completeness5/5

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

For an 8-param, unannotated mutation tool this covers what an agent needs: side effects, capability gating, dry-run preview, batch limits, selector conjunction, and reply shape. The output schema is present, so return-value enumeration is not required, and it is nevertheless summarized.

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%, so description must compensate and largely does: it explains the one-of targeting modes (task_id, task_ids, selector), the batch cap of 200, the conjunctive (AND) semantics of status/topic/older_than_hours/task_id_prefix, and dry_run's preview behavior. The 'reason' parameter is never explained, and priority/precedence when multiple target modes are supplied is unstated.

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?

Opens with a specific verb+resource+scope: 'COORDINATOR WRITE: archive stale non-processing tasks atomically', then enumerates exactly what is written (archived_at, card_json, task_events row). It also names the sibling it is not ('For an active/orphaned card use supersede'), so an agent can route without opening schemas.

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?

Explicitly states when to use this vs supersede and 'use this instead of patching SQLite', plus a dry_run preview path. It does not mention the near-identically named siblings (aiworkhub_dashboard_task_archive / aiworkhub_manager_task_archive) or when-not-to-archive (e.g., terminal vs processing states beyond 'non-processing').

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

aiworkhub_task_audit_log_readA

Read-only: inspect write-gate audit log summaries.

Returns counts by tool/action and the last N audit entries. Never writes, never enables writes, never launches processes. All authority flags are preserved false.

NameRequiredDescriptionDefault
max_entriesNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description explicitly carries the safety profile: read-only, never writes, never enables writes, never launches processes, authority flags preserved false. That is the key behavioral disclosure for a mutation-averse agent, though it omits ordering, pagination, or truncation semantics for the returned entries.

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?

Four short lines, front-loaded with the read-only guarantee, and no filler. The repeated 'never ...' clauses are slightly redundant but each reinforces a distinct non-action.

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?

An output schema exists, so return shape need not be described, and the description still sketches the counts/entries payload. For a one-optional-param read tool the remaining gap (default and cap for max_entries) is minor.

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% and the single optional parameter max_entries is undocumented in the schema. The description partially compensates by saying it returns 'the last N audit entries', which maps N to max_entries, but gives no default, bounds, or ordering rule.

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?

Specific verb and resource: 'inspect write-gate audit log summaries', plus what comes back (counts by tool/action and last N entries). It is clear on its own, but does not distinguish itself from adjacent audit-summary siblings such as aiworkhub_launch_queue_audit_summary_readonly or aiworkhub_cli_adapter_audit_summary_readonly.

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 statement of when to call this versus other audit/telemetry tools, and no prerequisites or exclusions. The 'write-gate' qualifier hints at domain but leaves the routing decision to inference.

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

aiworkhub_task_auto_pickup_dryrunA
Read-only

READ-ONLY: preview which task auto_pickup WOULD claim for a runner/topic.

Reports the candidate task_id, a compact card, and runner/topic filtering counts WITHOUT mutating the parent queue and WITHOUT touching the write gate. Never invokes the write-gated auto-pickup command; uses only the read-only export path. The real claim path (aiworkhub_task_auto_pickup) stays behind AIWORKHUB_ALLOW_WRITES; this preview provides no alternate write path and cannot bypass that gate.

NameRequiredDescriptionDefault
topicNo
runnerYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, but the description adds real value: it reports the candidate task_id, a compact card, and filtering counts; it avoids mutating the parent queue and the write gate; and it uses only the read-only export path. It does not describe error behavior or permission requirements beyond the write gate, keeping it shy of a 5.

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?

The safety guarantee is front-loaded in the first line, and the paragraph is generally tight. The closing sentences repeat the no-write-path idea ('provides no alternate write path and cannot bypass that gate') slightly redundantly, but the emphasis is defensible for a gated operation.

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?

With an output schema present, the description needn't document return values, yet it still names the key outputs (candidate task_id, compact card, counts). Annotations cover safety. The only gap is parameter behavior for the nullable topic, which an agent might need to call correctly.

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% for both parameters, so the description must carry the burden. It implies that 'runner' selects the runner and 'topic' filters by topic via 'runner/topic filtering counts', but it never explains accepted values, whether topic is optional (it is nullable/default null), or what omitting topic does. It adds some meaning but leaves the schema gap partially unfilled.

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?

States a specific verb and resource ('preview which task auto_pickup WOULD claim for a runner/topic') and explicitly names the write sibling it is not (aiworkhub_task_auto_pickup). An agent can distinguish this dry-run tool from the real claim path without opening either schema.

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?

Names the alternative write path, explains that it is gated behind AIWORKHUB_ALLOW_WRITES, and clarifies this preview offers no alternate write path. That gives clear context for choosing this tool over the real claim, though it never states an explicit 'use when' condition such as 'call before claiming' or 'use to debug runner/topic filtering'.

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

aiworkhub_task_codex_handoffA
Read-only

READ-ONLY: Codex-ready HANDOFF report for review-queue tasks.

For each task waiting on Codex review, summarizes task_id, runner, topic, allowed_writes, validation commands, derived risks, commit-hygiene status, and a scoped stage/finalize command list — WITHOUT mutating the parent task queue.

FROZEN READ-ONLY CONTRACT — no write-gate toggle, no mutation parameters. Never calls taskctl done/review/start/auto-pickup/add-card. Never mutates queue or audit state. Never launches agents or processes. Writes remain default-off regardless of input values.

NameRequiredDescriptionDefault
task_idsNo
batch_labelNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, but the description adds substantial beyond-schema context: no write-gate toggle, no mutation parameters, it never calls taskctl done/review/start/auto-pickup/add-card, never mutates queue or audit state, never launches agents, and writes remain default-off regardless of input values. That is exactly the behavioral disclosure an agent needs before trusting a read-only call.

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?

Front-loaded with the READ-ONLY tag and the core purpose, then grouped into a summary line and a contract paragraph. Efficient overall, though the second paragraph is somewhat repetitive in its enumeration of prohibitions (no mutation parameters / never mutates queue / writes default-off).

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?

An output schema exists, so the enumerated field list is value-add rather than a gap, and the read-only contract is thoroughly covered. What remains missing is parameter guidance and disambiguation from the markdown sibling, which matters given the size of the surrounding tool surface.

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% for both parameters, so the description carries the full burden. 'For each task waiting on Codex review' implies that omitting task_ids defaults to all waiting tasks, but the description never mentions task_ids or explains what batch_label is or how it affects the report. An agent must guess the semantics of half the input surface.

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 specific verb+resource: a Codex-ready handoff report over review-queue tasks, and enumerates the exact contents (task_id, runner, allowed_writes, validation commands, risks, commit hygiene, scoped commands). This is far more than a restatement of the name. It does not differentiate from the close sibling aiworkhub_task_codex_handoff_markdown, which an agent could easily confuse it with.

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 scope phrase 'For each task waiting on Codex review' implies the trigger condition, and 'WITHOUT mutating the parent task queue' hints at the read-only use case. However, no alternative is named (notably the markdown variant) and there is no explicit when-not guidance. Usage is inferable rather than stated.

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

aiworkhub_task_codex_handoff_markdownA
Read-only

READ-ONLY: Codex-ready HANDOFF report rendered as compact Markdown.

Builds the same B116 handoff report as aiworkhub_task_codex_handoff (via the identical read-only review-queue + show calls, never a write command) and adds a deterministic markdown field — a compact review packet Codex can read directly instead of manually parsing the JSON.

FROZEN READ-ONLY CONTRACT — no write-gate toggle, no mutation parameters. Never calls taskctl done/review/start/auto-pickup/add-card. Never mutates queue or audit state. Never launches agents or processes. Writes remain default-off regardless of input values.

NameRequiredDescriptionDefault
task_idsNo
batch_labelNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

readOnlyHint=true already declares the safety profile, so the bar is lower. The description still adds useful specifics: the underlying calls are the read-only review-queue plus show, there is no write-gate toggle or mutation parameter, and writes stay default-off regardless of input. Much of this is the same read-only claim restated in four sentences, which limits the value added.

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?

Front-loading is good — the read-only label and Markdown deliverable lead. But the read-only guarantee is asserted five times across the paragraph ('never a write command', 'FROZEN READ-ONLY CONTRACT', 'Never calls...', 'Never mutates...', 'Writes remain default-off'), which crowds out the parameter information that is actually missing.

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?

An output schema exists, so return values need not be explained, and the annotation covers safety. What is missing is parameter behavior for two undocumented, optional inputs. Everything else an agent needs to invoke the tool correctly is present.

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 carries the full burden and does not meet it. Neither `task_ids` nor `batch_label` is explained — nothing says whether a null `task_ids` means all queued tasks, what `batch_label` is for, or how the two interact. The names are self-descriptive, but a caller cannot tell what passing values actually does.

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?

States a specific verb and artifact: builds the B116 handoff report and renders it as compact Markdown. It explicitly distinguishes itself from the sibling aiworkhub_task_codex_handoff by naming it and describing the only difference (the added deterministic `markdown` field). An agent can select between the two without opening either schema.

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?

Names the alternative (aiworkhub_task_codex_handoff) and the condition that selects this one: the caller wants a Markdown packet Codex can read 'instead of manually parsing the JSON'. That is a clear routing rule. No explicit when-not-to-use case beyond the read-only framing, so it stops short of the top score.

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

aiworkhub_task_collision_guardC

Run the task collision guard for active cards.

NameRequiredDescriptionDefault
print_jsonNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.2/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 of behavioral disclosure and delivers almost nothing. It does not reveal whether this is a read-only diagnostic, a mutating enforcement action, or whether it has side effects or permission requirements — critical for a tool whose name implies guarding/enforcement. "for active cards" is the only contextual 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?

A single short sentence with no filler, and the scoping phrase is front-loaded. However, its brevity reflects under-specification rather than disciplined conciseness — it earns its place only nominally.

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?

An output schema exists, so return values need not be explained, but the description still omits what the guard checks, when it should be invoked, and its side-effect profile. For a no-annotation tool in a dense task-management family, this is far from 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% for the single print_json parameter, and the description adds no information about its meaning or effect on output. The parameter is fairly self-explanatory by name, but the description does not compensate for the documentation gap.

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

Purpose2/5

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

"Run the task collision guard" essentially restates the tool name (aiworkhub_task_collision_guard) without explaining what a collision guard does. "for active cards" adds a vague scope hint, but the description never says whether it detects, prevents, or resolves collisions, so an agent cannot distinguish it from siblings like aiworkhub_task_health or aiworkhub_task_dependency_autolaunch_reconcile.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Given the enormous sibling set of task-management tools, the absence of any routing signal leaves the agent with nothing to decide whether this tool is appropriate.

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

aiworkhub_task_cost_ledgerB
Read-only

READ-ONLY: bounded cost summary, with opt-in detailed dimensions.

Default mode retains cost/cache truth plus provider, model and day aggregates, and stays bounded as usage history grows. by_model, cost_per_accepted_outcome.routes and model_outcomes.models each return at most _COST_LEDGER_SUMMARY_TOP_N rows. by_day is bounded as two independent groups -- up to _COST_LEDGER_SUMMARY_TOP_N most-recent dated buckets beside up to _COST_LEDGER_SUMMARY_TOP_N undated ones -- so its exact ceiling is 2 * _COST_LEDGER_SUMMARY_TOP_N rows, not N; undated spend is retained rather than made to compete with real days for one shared bound. Every bounded dimension carries explicit total_count/ returned_count/truncated/ranked_by metadata under summary_row_bounds, so no row is dropped silently. The two model-keyed dimensions rank by observed dollars rather than tokens; a bucket whose provider reported no price ranks on its activity instead of being cut as though it were free, and a partially priced bucket ranks in both orders so one cheap priced record cannot hide the magnitude whose dollars are still unknown. Per-runner and per-topic maps are available with full=true; task rows remain independently opt-in through include_tasks.

Kept rows are also narrower than full=true. Each kept model's cost_per_accepted_outcome.routes adapter folds its family/risk partitions into one total row, re-derived from summed counters so an UNKNOWN partition keeps it UNKNOWN; the fold is receipted under summary_row_bounds. by_day rows keep records, total_tokens, cost_usd, cost_unknown_records and cache_hit_ratio. full=true returns both exactly as built.

The repository binding is what makes those aggregates answerable. build_cost_ledger reads canonical usage events only when it is given a root; without one it parses the human-readable usage report, whose lines carry no model, provider or timestamp, so every dimension this docstring promises collapsed to unknown. Measured 2026-09-02 on this repository: unbound 590 rows / 1 model / 1 provider / 1 day / 0 usage-observed / 0 cache-observed / 0 routes; bound 3,509 rows / 28 models / 8 providers / 36 days / 2,267 usage-observed / 1,869 cache-observed / 13 routes. Every other caller (dashboard, manager tools, evidence instruments) already passed a root; this tool -- the manager's own cost surface -- did not, so routing by cost and difficulty had no measurement to steer by (NF-2026-00542).

NameRequiredDescriptionDefault
fullNo
topicNo
runnerNo
statusNo
include_tasksNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior5/5

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

Beyond readOnlyHint=true, the description discloses substantial behavior: row bounds, exact ceiling behavior for by_day, truncation metadata under summary_row_bounds, ranking by observed dollars, handling of unpriced and partially priced buckets, and folded route rows. It also explains the repository binding requirement and its effect on whether dimensions resolve to real values. This is unusually rich behavioral context and does not contradict the annotations.

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

Conciseness2/5

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

The first sentence is front-loaded and useful, but the rest is heavily overloaded with internal constants, implementation rationale, a dated measurement narrative, and a bug reference. Much of this reads like a changelog or docstring, not concise agent-facing guidance.

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 presence of an output schema and read-only annotation reduces what the description must explain about return shape and safety. Still, for a five-parameter cost-ledger tool with zero schema description coverage, the missing topic/runner/status semantics and the noisy bug-history narrative leave the definition only partially complete for reliable invocation.

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 carry parameter meaning. It adds some meaning for full and include_tasks, but topic, runner, and status are not defined at all, leaving three of five parameters undocumented in both schema and prose.

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 opening sentence identifies a specific operation and resource: a read-only, bounded cost summary with opt-in detail. The body clarifies aggregates by provider, model, day, runner, topic and task, so the agent can understand what the tool returns. It does not clearly contrast itself with sibling reporting tools such as aiworkhub_task_usage_report, which keeps it from a 5.

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 explicitly explains default bounded mode, when to use full=true for per-runner/per-topic maps, and when to opt in task rows with include_tasks. However, it gives no guidance on when to choose this tool over sibling reporting tools, nor any exclusions or prerequisites for the topic/runner/status filters.

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

aiworkhub_task_createA

MANAGER WRITE: create one new canonical repo-local task card.

Creation choices (also exposed as field hints): difficulty: bounded, standard, complex (optional; never inferred). work_kind: generic, bugfix, refactor, performance, security, data_ml. validation_roles: generic, reproduction, regression, parity, baseline, delta, negative_fixture, schema, distribution; one per validation command. Required roles: bugfix=reproduction+regression; refactor=parity; performance=baseline+delta; security=negative_fixture; data_ml=schema+distribution. validation: shell-free executable commands; no environment assignments, pipes, redirects or chaining. Set environment outside validation argv. custom_template_escape: audited_custom_unclassified, explicitly audited unclassified cards only, not an automatic bypass; writable escaped cards require non-empty required_outputs covered by allowed_writes.

Replies with a creation receipt (aiworkhub.task_create_receipt.v1): task_id, created/reconciled/receipt_state, scope_warnings, the server-derived validation_roles, risk_tier/origin/signals, difficulty/origin, validation_exemption, template_provenance, the project_context Source Graph query, and card_sha256/card_bytes -- never the card the caller just typed. echo_card=True returns the full CLI envelope with the persisted card in stdout instead. A refusal names every violation at once (violations) with field, length and limit. The live manager session supplies callback provider/origin identity; callers cannot route a task into another chat, disable the mandatory review callback, or overwrite an existing id. depends_on (optional) names other task_ids in this repo that must finish before this card is Plan-DAG ready; omit it for the pre-DAG behavior. Tasks are uncapped by default. Never infer, estimate, or auto-assign max_live_tokens from task complexity, model, historical usage, or cost. Supply it only when the owner explicitly requests an exact cap or a repository policy pre-registers one. Process efficiency must come from focused context, bounded reads, minimal edits, fewer retries, and useful validation rather than from truncating work. An authorized cap is enforced only when the selected provider exposes structured usage while running; terminal-only usage remains posthoc evidence, never a false live- enforcement claim. A writable task's required_outputs may be empty ONLY when template classification matches a contract that declares that default itself (e.g. implementation_with_tests/cross_boundary_bugfix, whose combined production+test scope keeps a deliberate empty default per NF-2026-00456) or an explicit, in-scope mandatory list resolves that way. Every other writable outcome -- including the audited custom-escape path, which has no template contract of its own to fall back on -- requires a non-empty required_outputs (NF-2026-00772); it contains only repo-relative file paths or glob patterns covered by allowed_writes. Human-readable outcome descriptions belong in acceptance; mixing prose into required_outputs is rejected before a provider run is launched. allow_unchanged_required_outputs explicitly names required files that are evidence inputs/outputs permitted to remain byte-identical to both launch baselines; they are verified and hashed but never promoted. allow_empty_required_outputs is the equivalent explicit exception for deliberately zero-byte outputs. Neither exception is inferred. read_only=True is required for a task that intentionally declares both allowed_writes=[] and required_outputs=[]. Read-only intent is never inferred from missing output authority. runner is the worker execution identity returned by aiworkhub_manager_workforce_rank.launch_contract.runner. The exact value codex is reserved for the verified manager and is rejected for worker cards. work_kind is an explicit behavioral contract, never inferred from the title or worker prose. Specialized values require one validation_roles entry per validation command: bugfix=reproduction+regression, refactor=parity, performance=baseline+delta, security=negative_fixture, and data_ml=schema+distribution. Missing roles are rejected before launch. risk_tier is optional explicit routing/economic evidence. It is never inferred from priority or prose; omitted historical cards remain unknown. It is a FLOOR: the observed write scope may escalate it, never lower it. The skill_* fields are the card's skill selection vocabulary, drawn from closed sets (aiworkhub_manager_skill_mine and skill_registry.SELECTION_VOCABULARIES name them). An unknown token is refused at create rather than silently matching nothing. skill_task_family and skill_path_scope are derivable from the template and the write set and may be omitted; skill_stage, skill_triggers and skill_applicability are not derivable, and a card that omits them selects no skill at all. Default creation is template-first: generic Python production-plus-test cards classify against the frozen registry, and unclassified raw cards fail closed unless custom_template_escape is the audited token. wave_goal_binding (optional) is exactly {roadmap_id, goal_id, predecessor_task_id} and makes this card that active wave goal's current task in place of the predecessor. It is never inferred from a title, topic, version suffix or prose; the receipt names its state.

NameRequiredDescriptionDefault
titleYes
topicYes
runnerYes
task_idYes
priorityNonormal
echo_cardNo
forbiddenNo
objectiveYes
read_onlyNo
risk_tierNo
task_typeNocode
work_kindNoAccepted work_kind values: generic, bugfix, refactor, performance, security, data_ml. Case and surrounding space are normalized by core; never infer from prose.generic
acceptanceYes
depends_onNo
difficultyNoAccepted difficulty values: bounded, standard, complex. Optional; omitted remains undeclared, never inferred. Case and surrounding space are normalized by core.
read_firstNo
validationNoshell-free executable commands, one per entry; no environment assignments, pipes, redirects, or command chaining. Set environment outside validation argv.
skill_stageNo
allowed_writesYes
skill_triggersNo
max_live_tokensNo
immutable_inputsNo
required_outputsNo
skill_path_scopeNo
validation_rolesNoAccepted validation_roles: generic, reproduction, regression, parity, baseline, delta, negative_fixture, schema, distribution. Supply one role per validation command. Required: bugfix=reproduction+regression; refactor=parity; performance=baseline+delta; security=negative_fixture; data_ml=schema+distribution. Case and surrounding space are normalized by core.
skill_task_familyNo
wave_goal_bindingNo
skill_applicabilityNo
apply_contract_patchNo
custom_template_escapeNoExplicit audited escape token: audited_custom_unclassified. Only for deliberately audited unclassified cards, not an automatic bypass. Writable escaped cards require non-empty required_outputs covered by allowed_writes.
allow_empty_required_outputsNo
allow_unchanged_required_outputsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior5/5

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

With no annotations, the description carries the entire behavioral burden and does so: it states that callers cannot overwrite an existing id, cannot disable the mandatory review callback, cannot route into another chat, that "codex" is rejected for workers, that refusals enumerate all violations at once, and that live token enforcement only holds when the provider exposes structured usage. It also spells out the receipt contract and that the card itself is never echoed unless echo_card=True.

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 opening sentence is correctly front-loaded and the density is justified by a 32-parameter contract with heavy policy. However, the work_kind/validation_roles role requirements are stated verbatim twice, and the wall-of-prose format makes scanning for a specific rule costly.

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 create tool with a declared output schema, the description covers validation-failure modes, identity constraints, receipt shape and the most dangerous options (escape token, read_only inference, max_live_tokens). The remaining hole is the handful of undocumented optional parameters that could break creation, notably apply_contract_patch and immutable_inputs.

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 description coverage is only 16% across 32 parameters, so the description must compensate and largely does: difficulty, work_kind, validation_roles, validation argv constraints, custom_template_escape, required_outputs, the two allow_* exceptions, read_only, runner, risk_tier, the skill_* family and wave_goal_binding all get real semantic explanation. Gaps remain for immutable_inputs, apply_contract_patch, forbidden, read_first, priority and task_type, which are never explained anywhere.

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?

"MANAGER WRITE: create one new canonical repo-local task card" gives a specific verb, resource and scope, and the MANAGER WRITE prefix separates it from the many read-only siblings. It never names aiworkhub_task_create_from_template, so an agent must infer whether the template path or this raw path is the right entry point.

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?

Usage rules are extensive but almost entirely field-level (when to supply depends_on, when to set max_live_tokens, when custom_template_escape applies) rather than tool-selection-level. There is no explicit statement of when to call this instead of aiworkhub_task_create_from_template or aiworkhub_manager_task_decomposition_preview; the template-first paragraph implies the boundary but does not name the alternative.

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

aiworkhub_task_create_from_templateA

MANAGER WRITE: create one task from an authenticated template.

Replies with the same creation receipt as aiworkhub_task_create (template_provenance once, from the persisted card); echo_card=True returns the full CLI envelope with the card in stdout. Callers supply routing fields, task text/acceptance, a template ID, and explicit production/test paths. Generated allowed_writes, required_outputs, read_first, read_only, task_type, work_kind are taken from template expansion. Validation commands and their one-to-one roles may be overridden together; when both are omitted, the generated defaults are preserved. Malformed, stale, or forged template IDs, unsafe paths, and incomplete validation overrides fail closed before create_task. Provenance authenticates the final expanded contract. The skill_* fields are the card's skill selection vocabulary, drawn from the same closed sets core.create_task validates against (skill_registry.SELECTION_VOCABULARIES); an unknown token is refused at create rather than silently matching nothing. They are card fields, not path fields: they never enter allowed_writes or required_outputs, so declaring one can never make an output mandatory. skill_task_family defaults to the family the template itself declares (task_templates.skill_task_family of its declared work kind), and an explicit value overrides that default; skill_stage, skill_triggers and skill_applicability describe the occasion rather than the template genre, so no template can supply them and a card that omits them selects no skill at all. wave_goal_binding (optional) is exactly {roadmap_id, goal_id, predecessor_task_id} and is forwarded to core.create_task unchanged, exactly as aiworkhub_task_create does; it is never inferred from the template, title or prose, and core refuses a malformed binding. difficulty (optional) is bounded, standard or complex and is forwarded to core.create_task unchanged; core alone validates it. It only selects the worker's reasoning effort and is never inferred from the template, title or prose: omitted means undeclared.

NameRequiredDescriptionDefault
titleYes
topicYes
runnerYes
task_idYes
priorityNonormal
echo_cardNo
forbiddenNo
objectiveYes
risk_tierNo
acceptanceYes
depends_onNo
difficultyNo
test_pathsNo
validationNo
skill_stageNo
template_idYes
skill_triggersNo
max_live_tokensNo
immutable_inputsNo
production_pathsNo
skill_path_scopeNo
validation_rolesNo
skill_task_familyNo
wave_goal_bindingNo
skill_applicabilityNo
mandatory_changed_outputsNo
allow_empty_required_outputsNo
allow_unchanged_required_outputsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/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 load and does considerable work: it declares this is a manager write, that validation fails closed before create_task (malformed/stale/forged template IDs, unsafe paths, incomplete overrides), that provenance authenticates the expanded contract, and that skill_* fields never leak into allowed_writes/required_outputs. It does not cover auth mechanism, idempotency, or concurrency, so not a 5.

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?

Front-loading is good — the role and action are in the first four words — and the length is defensible for a 28-parameter tool. But the prose is dense and repeats the 'forwarded to core.create_task unchanged' formula twice, and the skill_* digression runs long relative to its practical importance.

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?

An output schema exists, so the return format need not be explained, though the description usefully notes the receipt and echo_card behavior. For a 28-parameter write tool with zero annotation and zero schema-description coverage, the description is substantive but incomplete: a caller still cannot confidently fill most optional parameters, and sibling routing remains unstated.

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% against 28 parameters, so the description must compensate — and it only does so selectively. It adds real semantics for the trickiest fields (wave_goal_binding's exact shape and non-inference, difficulty's enum values and reasoning-effort meaning, echo_card, the validation/validation_roles pairing, skill_* vocabulary and defaults, template_id provenance), but leaves roughly a dozen parameters (priority, risk_tier, depends_on, forbidden, max_live_tokens, immutable_inputs, mandatory_changed_outputs, allow_empty/unchanged_required_outputs, production_paths beyond a passing mention) with no explanation anywhere.

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 opening line gives a specific verb ('create one task'), a specific resource ('task'), and a discriminating qualifier ('from an authenticated template'), which separates it from aiworkhub_task_create and aiworkhub_task_template_show/list in the sibling set. An agent can route on that sentence alone.

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 establishes that template-derived fields (allowed_writes, required_outputs, task_type, work_kind) come from expansion, which implies 'use this when a template governs the contract.' But it never states the inverse — when to prefer aiworkhub_task_create directly, or what signals a template is required. Usage is inferable but not explicit.

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

aiworkhub_task_dependency_autolaunch_reconcileC

MANAGER WRITE: bounded startup reconciliation for dependency-ready children.

NameRequiredDescriptionDefault
capacityNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/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 behavioral burden. The 'MANAGER WRITE' prefix and 'bounded' hint at mutation and a capacity limit, but it never says what state is changed, whether the operation is idempotent, what happens when the bound is exceeded, or what auth it requires. This is thin for a write tool.

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?

A single front-loaded line with the operation class ('MANAGER WRITE') stated first and no filler. It is efficient, though the brevity shades into under-specification rather than genuine conciseness.

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?

An output schema exists, so return values need not be explained, but for a write tool with no annotations and an undocumented parameter the definition omits preconditions, idempotency, blast radius, and failure behavior. An agent cannot safely call this from the description alone.

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% for the single 'capacity' parameter. 'Bounded' loosely gestures at a capacity limit, but the description never explains whether capacity caps the number of launches, concurrency, or attempts, nor what the null default means. It fails to compensate for the coverage gap.

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 names a verb (reconciliation) and a target resource (dependency-ready children) and the 'MANAGER WRITE' prefix signals the write nature. However, 'bounded startup reconciliation' is jargon-heavy and never states what reconciliation actually does to those children (launch them? clear them? re-queue them?), so it does not clearly differentiate itself from siblings like manager_reconcile_dead_processing or task_recover_blocked_rework.

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 when-to-use guidance, no prerequisites, and no alternatives are named. 'Startup' implies a lifecycle moment, but the agent is left to infer whether this must be run manually, on boot, or after a crash, and nothing routes it away from the many other reconcile/recovery siblings.

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

aiworkhub_task_healthB

Check parent AIWorkHub task queue health and write-gate state.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/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 behavioral burden. It does not explicitly state that the operation is read-only, whether it requires special permissions, whether it may be slow or rate-limited, or what side effects it could have.

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, front-loaded sentence with no wasted words. It immediately states the action and the subject being checked.

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?

An output schema exists, so return values do not need explanation. However, with no annotations and many sibling health-check tools, the description leaves the agent without routing guidance or explicit confirmation of the read-only nature of the operation.

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 tool has zero parameters, so the baseline is 4. There is no parameter meaning for the description to add beyond the schema, which already has 100% coverage.

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 gives a specific verb ('Check') and resource ('parent AIWorkHub task queue health and write-gate state'), so the core operation is clear. However, it does not distinguish this health tool from the many sibling health tools such as dispatcher_health, source_graph_health, or dashboard_health.

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?

There is no guidance on when to use this tool versus alternatives, when not to use it, or what conditions warrant a queue-health check. The agent must infer usage entirely from the tool name and description.

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

aiworkhub_task_listC

List task cards by status and optional topic.

NameRequiredDescriptionDefault
limitNo
topicNo
statusNopending

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.7/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 behavioral burden, yet it only implies read-only behavior via the verb 'List'. It says nothing about pagination, ordering, the 80-item default cap, scoping, or that the default status filter is 'pending', all of which materially affect what comes back.

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?

A single, front-loaded sentence with no redundant phrasing. It is efficiently sized, though the brevity is partly under-specification rather than disciplined economy.

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?

An output schema exists, so return values need not be explained, but for a 3-parameter list tool with zero schema descriptions and no annotations the definition is too thin. Valid status values, the limit behavior, and how this list differs from the other task-listing siblings are all missing.

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 names 'status' and 'topic' (2 of 3 params) but omits 'limit' entirely and never enumerates valid status values, leaving the agent to guess the string domain even though the default is 'pending'.

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 ('List task cards') plus the two filtering dimensions ('by status and optional topic'), so an agent knows exactly what it retrieves. It does not, however, distinguish this from nearby siblings such as aiworkhub_task_pending_for_runner or aiworkhub_task_review_queue, which also surface task sets.

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?

There is no statement of when to use this instead of the task-specific listers (pending_for_runner, review_queue, task_show). Nothing tells the agent when a broad list is appropriate versus a scoped query, and no prerequisites or constraints are mentioned.

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

aiworkhub_task_pending_for_runnerB

Return pending cards for a specific runner as raw output plus parsed JSONL rows.

NameRequiredDescriptionDefault
topicNo
runnerYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3/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 context. It discloses that the tool returns both raw output and parsed JSONL rows, which is useful, but it does not state read-only safety, permissions, rate limits, or pagination 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 front-loaded sentence with no filler. Every clause contributes to the core purpose and output format.

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?

An output schema exists, so return details need not be repeated, but the description omits usage guidance and ignores the optional 'topic' parameter entirely. For a two-parameter task tool with no annotations and 0% schema coverage, this is too thin.

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 is responsible for explaining parameters. It clarifies that 'runner' selects a specific runner, but it says nothing about the optional 'topic' parameter, leaving half of the parameters 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 gives a specific verb ('Return'), resource ('pending cards'), and scope ('for a specific runner'), plus output format. It does not name or distinguish itself from any sibling tool such as aiworkhub_task_list, so it stops short of the 5-level sibling differentiation.

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?

There is no explicit when-to-use, when-not-to-use, or alternative-tool guidance. The phrase 'for a specific runner' only implies the basic scenario and does not help an agent choose between this and other task-listing tools.

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

aiworkhub_task_plan_snapshotA
Read-only

READ-ONLY: bounded Plan-DAG summary, or the complete DAG with full.

Default mode reports actionable lifecycle, ready work, blockers, write-scope overlaps, orphaned processing and DAG validity without repeating every finished card's dependency history. Use full=true for exact historical dependency/layer inspection. This tool never claims work; aiworkhub_task_auto_pickup/_dryrun remain the claim surfaces.

NameRequiredDescriptionDefault
fullNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, but the description adds genuine context: default output is deliberately bounded and omits finished cards' dependency history, and the tool has no claiming side effect. It does not discuss cost or size limits of the full mode, which is the main residual gap.

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?

Front-loads 'READ-ONLY' and the mode split, then details default-mode contents, then the exclusion. Dense with domain jargon ('write-scope overlaps', 'orphaned processing') but no sentence is wasted.

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?

With an output schema present and readOnlyHint set, the description needs only to cover modes and side effects, which it does. An agent could call this correctly; only the exact contents/size trade-off of the two modes remains unstated.

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% and the single boolean 'full' is undocumented in the schema, so the description must carry it — and it does, explaining both the default (bounded) and full=true (complete historical DAG) semantics. Only the concrete output differences between the two modes are left somewhat implicit.

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 specific verb+resource: a read-only 'Plan-DAG summary' with a bounded default mode and a 'complete DAG' mode. The identity is unambiguous as a snapshot/report tool, though it does not explicitly contrast itself with nearby snapshot siblings like roadmap_snapshot or aiworkhub_dashboard_snapshot.

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?

It tells the agent exactly which mode to pick ('Use full=true for exact historical dependency/layer inspection') and what the default mode is for (actionable lifecycle, ready work, blockers). It also rules out a misuse case by naming the real claim surfaces (aiworkhub_task_auto_pickup / _dryrun).

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

aiworkhub_task_queue_requestA

WRITE-GATED: append a disabled launch-queue request.

This is the B286 MVP queue-request tool. It never launches a process: LAUNCH_IMPLEMENTED remains False in launch_queue_contract. With AIWORKHUB_ALLOW_WRITES unset, it appends nothing. With the write gate open, it appends one existing launch-queue audit record unless the request is idempotent or a different runner already owns an open request for the same task_id.

NameRequiredDescriptionDefault
modelNo
topicYes
runnerYes
task_idYes
priorityNonormal
adapter_idYes
request_idNo
owner_promptNo
requested_atNo
argv_templateNo
stale_timeout_secondsNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/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 disclosure burden well: it names the write gate env var, states the tool never launches processes, and documents idempotency and per-runner dedup rules. It stops short of describing failure modes or what the appended record looks like, though an output schema exists.

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?

Four sentences, front-loaded with the write-gated framing and the core guarantee (never launches). Some internal jargon ("B286 MVP", ``LAUNCH_IMPLEMENTED``) adds noise, but nothing is badly redundant.

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?

Behavioral/gating context is strong and an output schema covers returns, but for an 11-parameter mutation tool with no annotations and no schema descriptions, the parameter surface is a significant unexplained gap. Adequate on behavior, incomplete on inputs.

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% across 11 parameters, so the description must compensate and it largely does not. Only task_id and runner get any semantics (dedup/ownership); topic, adapter_id, priority, model, argv_template, stale_timeout_seconds, owner_prompt, and request_id are entirely 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?

Opens with a specific verb+resource ("append a disabled launch-queue request") and explicitly negates launching ("It never launches a process"), which separates it from launcher siblings like aiworkhub_agent_launch_task. It never names a sibling alternative by name, so it stops short of a 5.

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?

Gives concrete preconditions for effect vs. no effect: with AIWORKHUB_ALLOW_WRITES unset it appends nothing, and it skips when the request is idempotent or another runner already owns an open request for the same task_id. It does not say which sibling tool to use when this one is a no-op, so no explicit alternatives.

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

aiworkhub_task_recover_blocked_reworkC

Recover one exact blocked task through the canonical transaction.

scope_rejection_resolved is the manager's explicit, audited clean-root resolution of a scope_rejected card; it requires feedback_reason. A feedback_reason over 8000 UTF-8 bytes is refused with feedback_reason_too_large:<bytes>><cap>; it is never truncated.

When the core result's stdout parses to a card dict the reply is the shared _lifecycle_receipt projection (aiworkhub.recover_blocked_rework_receipt.v1, include_card="none"): task_id/status/worker_status plus card_sha256/card_bytes from the canonical _card_identity (the same basis as aiworkhub_task_show), the card's runner/recovery_epoch/recovery_predecessor when present, a detail_request for aiworkhub_task_show, and every extra top-level key the core call attached -- never the whole recovered card (NF-2026-01566). command is never echoed: its argv carries feedback_reason (up to 8000 bytes). A not-ok or card-less result is returned unchanged minus the argv echo, so error text is never hidden.

NameRequiredDescriptionDefault
task_idYes
feedback_reasonNo
validation_amendmentNo
validation_only_replayNo
scope_rejection_resolvedNo
clean_root_if_predecessor_missingNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full load. It does valuable work on the response contract and on refusal behavior (oversized feedback_reason is refused, never truncated; argv containing the reason is never echoed — a real leak-prevention detail). But for a recovery/mutation transaction it says nothing about eligibility preconditions, what state transition occurs, whether the action is idempotent or reversible, or whether it re-launches a worker.

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 opening sentence is correctly front-loaded and no sentence is pure filler, but the bulk of the paragraph is devoted to the receipt projection and stdout-parsing behavior. Since the tool already has an output schema, that length is largely misallocated relative to the unaddressed parameters.

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?

An output schema exists, so explaining the _lifecycle_receipt shape is optional; meanwhile the gaps that matter — when this tool applies, what it changes, and four undocumented parameters — are unfilled. For a 6-parameter manager-level transaction tool with no annotations, the description is not sufficient to call it correctly.

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% across 6 parameters, so the description must compensate and it covers only two: feedback_reason (8000-byte UTF-8 cap, required when scope_rejection_resolved is set) and scope_rejection_resolved. validation_amendment, validation_only_replay, and clean_root_if_predecessor_missing are left entirely undefined, including the last one which appears to be a significant safety switch.

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 first sentence names a specific verb and scope ("Recover one exact blocked task") which is better than a restated name, but "blocked rework" and "the canonical transaction" are internal jargon. Critically, the sibling list contains many adjacent recovery/retry tools (aiworkhub_task_stale_recovery_recommend, aiworkhub_task_retry_terminal, aiworkhub_manager_reconcile_dead_processing, aiworkhub_agent_retry_finalization) and the description draws no boundary against any of them.

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?

There is no statement of when to reach for this tool versus a retry, a stale-recovery recommendation, or a reconcile. The only precondition-like content is that scope_rejection_resolved is the manager's audited resolution of a scope_rejected card and requires feedback_reason, which is parameter semantics rather than routing guidance.

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

aiworkhub_task_reject_reviewA

Write-gated Codex action: reject a reviewed task with exact feedback and an explicit disposition. to = pending (rework, default) | blocked | archived | superseded -- so a task whose real next step is a dependency- gated replacement is not silently requeued to pending.

predecessor_request_id selects an exact retained review request as the rework workspace authority. Omitted (None) defaults to the current review request. An empty string fails closed.

failure_category is a verified-manager escape hatch for a mechanical review failure. It is accepted only with to=blocked and only from the closed infrastructure taxonomy, so it cannot relabel candidate code.

reason is capped at 8000 UTF-8 bytes after strip; over it the call is refused with reject_reason_too_large:<bytes>><cap> and nothing changes.

Replies with a receipt (aiworkhub.reject_review_receipt.v1): task_id, to, status, request_id, claim_epoch, prior_episode, failure_category, reason_identity (sha256 + bytes, never the text), predecessor changed-path and residual counts, rework_delta_recovery, reviewer_finalization, learning_commit_owed, card_sha256/card_bytes. The reason and the argv are never echoed; include_card = none (default) | summary | full.

NameRequiredDescriptionDefault
toNopending
reasonYes
task_idYes
include_cardNonone
failure_categoryNo
residual_identitiesNo
validation_amendmentNo
predecessor_request_idNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: 'write-gated', the 8000-byte post-strip cap with the exact refusal token, fail-closed behavior on empty predecessor_request_id, the restriction on failure_category, and the guarantee that reason/argv are never echoed. This is unusually complete behavioral disclosure 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.

Conciseness4/5

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

Front-loaded with the purpose and disposition choice, then parameter constraints, then the receipt. Dense but every block earns its place; the receipt enumeration is slightly verbose given an output schema exists.

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?

An output schema exists, yet the description helpfully pre-summarizes the receipt fields, and covers the risky parameters thoroughly. The two undocumented array parameters (residual_identities, validation_amendment) keep it from full completeness on an 8-parameter tool.

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 description coverage is 0%, so the description must compensate; it adds real meaning for to, predecessor_request_id, failure_category, reason, and include_card. However residual_identities and validation_amendment are left entirely undefined in both schema and description, leaving a gap.

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?

States a specific verb and resource ('reject a reviewed task') plus the core inputs (exact feedback, explicit disposition), which cleanly separates it from the accept-side siblings in the tool list. An agent can tell what it does without opening the schema.

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?

Explicitly names the disposition alternatives (pending/rework default, blocked, archived, superseded) and gives the rationale for choosing superseded over silent requeue. It also constrains failure_category to to=blocked and a closed taxonomy. It stops short of naming sibling tools like accept_review or review_finding_dispose as the alternative path, so not a full 5.

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

aiworkhub_task_reroute_launch_identityC

COORDINATOR WRITE: explicitly reroute one pending retry launch identity.

NameRequiredDescriptionDefault
topicNo
reasonNo
task_idYes
to_modelYes
to_runnerYes
from_runnerYes
to_adapter_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.6/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. 'COORDINATOR WRITE' usefully discloses that this is a mutation requiring coordinator privilege, but nothing is said about what state is changed, whether the pending launch is cancelled or reassigned, reversibility, or side effects on the from_runner task.

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?

A single tight sentence with the operation class front-loaded and no filler. Effectively sized, though its brevity is partly a symptom of under-specification rather than disciplined concision.

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?

An output schema exists, so return values need no explanation, but for a 7-parameter write tool with zero annotation and zero schema-description coverage the description is far too thin. An agent cannot determine required inputs, side effects, or the correct calling context from this text.

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?

Seven parameters with 0% schema description coverage, and the description supplies no meaning for any of them. It never explains the distinction between from_runner and to_runner, what to_adapter_id or to_model select, or how topic and reason are used — failing to compensate for a total schema documentation gap.

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 specific verb (reroute) and a specific resource (one pending retry launch identity), which is more precise than a generic 'update'. The 'COORDINATOR WRITE' prefix signals the operation class. However, it does not differentiate itself from adjacent siblings like aiworkhub_task_retry_terminal or aiworkhub_task_queue_request, leaving the agent to guess which routing-related tool applies.

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 word 'explicitly' hints the reroute must be user-directed rather than automatic, but the description never states when to use this tool versus alternatives such as retry_terminal or stale_recovery_recommend. No preconditions, no exclusions, no named alternatives.

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

aiworkhub_task_retry_terminalA

COORDINATOR WRITE: retry one exact operational terminal episode.

Only blocked cancelled/timed-out/launch/worker/process/liveness failures are eligible. The exact prior request id and substatus are mandatory; semantic validation/review failures remain on their established review workflow. The same task ID is requeued and its append-only audit history is preserved.

Replies with a receipt (aiworkhub.retry_terminal_receipt.v1): task_id, status, worker_status, card_sha256/card_bytes, and every server-derived key the transition attached -- retried_request_id, terminal_substatus, request_linkage, workspace_retention, idempotent. One measured call echoed the whole requeued card at 67,395 chars, review_feedback and rework_predecessor included (NF-2026-01447); include_card = none (default) | summary | full brings it back.

NameRequiredDescriptionDefault
reasonNo
task_idYes
request_idYes
include_cardNonone
terminal_substatusYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it declares this is a write/requeue of the same task ID, that append-only audit history is preserved, and that the response is a versioned receipt with idempotency and linkage keys. The payload-size warning tied to include_card=full (67,395 chars on one measured call) is exactly the kind of behavioral context annotations would otherwise supply.

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?

Front-loaded with the coordinator-write framing and eligibility before the receipt detail, and most sentences earn their place. The incident reference (NF-2026-01447) and exact character count are borderline anecdotal, though they do justify the include_card warning.

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 mutation tool with no annotations and a 5-param schema, this covers eligibility, audit consequences, idempotency, and return shape well beyond what the output schema alone would convey. Only the `reason` parameter and any permission/precondition requirements are left unaddressed.

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%, so the description must compensate, and it does for the critical ones: request_id and terminal_substatus are declared mandatory and paired to the prior failure, and include_card is fully explained including its default and the size consequence of 'full'. The optional `reason` parameter is never mentioned, leaving one gap.

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?

States a specific verb and resource ("retry one exact operational terminal episode") and pins the scope to task requeue with preserved audit history. An agent can distinguish this from generic recovery/retry siblings like aiworkhub_task_recover_blocked_rework without opening any schema.

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?

Explicit eligibility list (blocked cancelled/timed-out/launch/worker/process/liveness failures) and an explicit exclusion (semantic validation/review failures stay on the review workflow), plus the mandatory prior request id and substatus. It does not name the sibling tool an agent should use for the excluded review case, so routing is good but not fully closed.

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

aiworkhub_task_review_queueA

List tasks waiting for Codex review.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

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 carries the full behavioral burden. 'List' reasonably communicates a non-mutating read operation for a zero-parameter tool, but it does not disclose pagination, ordering, permissions, or freshness of the queue.

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 front-loaded sentence with no wasted words. It is appropriately sized for a simple zero-parameter query tool.

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 read-only queue tool with an output schema, the description states what is returned: tasks awaiting Codex review. It is nearly complete, though it could better connect to the related review workflow or sibling tools.

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 tool has zero parameters, so the baseline is 4. The description adds no parameter semantics, but there are none to explain.

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 filtered resource: 'List tasks waiting for Codex review.' It clearly identifies the queue scope, but it does not differentiate this tool from nearby siblings such as task_list, completion_inbox, or review_packet.

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?

There is no explicit guidance on when to use this tool versus alternatives. The phrase 'waiting for Codex review' implies its workflow context, but the agent receives no when/when-not conditions or named alternatives.

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

aiworkhub_task_review_summarizeB
Read-only

READ-ONLY: Inspect review queue, group tasks by topic/runner, return Codex review checklist.

Calls the B110 review_summarizer core (read-only contract). Returns grouped tasks, validation commands, allowed_writes counts, and a Codex-ready review checklist shape.

FROZEN INPUT SCHEMA — no write-gate toggle, no mutation parameters. Never calls taskctl done/review/start/auto-pickup/add-card. Never mutates queue or audit state. Never launches agents or model processes. Writes remain default-off regardless of input values.

NameRequiredDescriptionDefault
task_idsNo
batch_labelNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior5/5

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

Beyond readOnlyHint, the description discloses important behavioral boundaries: it calls the B110 core, never calls taskctl mutation commands, never mutates queue or audit state, never launches agents/processes, and writes remain default-off. This is unusually strong transparency for a read-only tool.

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?

The description front-loads the read-only status and purpose, then enumerates safety guarantees in a structured way. It is somewhat repetitive in reinforcing no-mutation behavior, but the repetition is purposeful for a safety-sensitive tool.

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 covers the read-only contract and general return contents, and an output schema exists. However, it lacks parameter guidance and sibling differentiation, which are meaningful gaps for invoking the right tool with the right arguments.

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 two parameters are task_ids and batch_label, but the description does not explain their meaning or effect. With 0% schema description coverage, the description fails to compensate for missing parameter documentation.

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 read-only action: inspect the review queue, group tasks by topic/runner, and return a Codex review checklist. It is clear what the tool does, though it does not explicitly distinguish itself from siblings such as aiworkhub_task_review_queue or aiworkhub_review_packet.

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?

It indicates the tool is read-only and produces a Codex checklist, but gives no explicit guidance on when to use this instead of related review tools. Alternatives are not named and no inclusion/exclusion conditions are provided.

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

aiworkhub_task_showA

Show a single task card by task_id.

Summary-first by default: retained baseline hash maps (tree, workspace and parent baselines) are folded to entry count plus sha256, and the evidence blobs (terminal_review.evidence.{validation, quality_gate, quality_review, quality_review_receipt, worker_mcp_gate, workspace} and accept_evidence.{validation, quality_gate}) are folded to {summarized, bytes, sha256, verdict/status, failed_count, first_failure}. terminal_failure and rework_predecessor are folded to the facts a reviewer reads (substatus/reason/category/first_error and task_id/request_id/outcome/reason); template_provenance.expanded_contract is folded to identity only. detail="evidence" keeps all of the above exact (baselines still folded); detail="full" or full=True returns the exact stored card. Summary/evidence renders are compact JSON; full keeps the indented one.

The manager-authored bodies (review_feedback, recovery_feedback, history) fold to identity plus their counts in the summary render, and every summary/evidence reply carries card_sha256/card_bytes plus review_findings_count when the card records reviewer reports: measured avg 11.5 KB/call over 31 calls (NF-2026-01447).

NameRequiredDescriptionDefault
fullNo
detailNosummary
task_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so thoroughly: it explains folding behavior for baselines, evidence blobs, terminal_failure, rework_predecessor, feedback bodies, and history, and distinguishes exact versus compact renders for each detail mode. It also discloses output size and card hashes, giving the agent unusually rich behavioral context.

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 first sentence is clear and front-loaded, but the remainder is extremely dense, jargon-heavy, and parenthetical, with long lists of internal field paths. It is informative but not concise or easy to scan.

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?

Given an output schema exists, the description does not need to enumerate return fields, and it instead focuses on the important render-mode behavior and folding semantics. It is nearly complete, though it could more clearly state precedence between detail='full' and full=True.

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 description coverage is 0%, so the description must compensate. It does this well for 'detail' and 'full', explaining the three detail modes and the full=True alias, but it does not add format or lookup guidance for 'task_id' beyond naming it.

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 first sentence states a specific verb and resource — 'Show a single task card by task_id' — which clearly distinguishes this from list-oriented sibling tools such as task_list. An agent can identify the core operation without inspecting the schema.

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 establishes that summary is the default and explains what evidence and full return, but it does not explicitly say when an agent should choose each mode or when to use this tool versus dashboard_task_detail or task_review_summarize. Usage is implied rather than guided.

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

aiworkhub_task_stale_recovery_recommendA
Read-only

READ-ONLY: recommend recovery actions for stale processing tasks or blocked cards.

scope="processing" (default) covers stale processing tasks. scope="blocked" triages the blocked-card queue: one recommendation per card, limit bounds the cards read (see bounds.truncated) and sample the rows listed per group. Produces recommendations only. It never calls taskctl write commands and never kills a process.

NameRequiredDescriptionDefault
limitNo
scopeNoprocessing
topicNo
sampleNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Beyond readOnlyHint=true, the description adds substantive behavior: it produces recommendations only, never invokes taskctl write commands, and never kills a process — exactly the reassurance an agent needs before running a 'recovery' tool. It also hints at truncation via bounds.truncated. It stops short of describing how recommendations are shaped or whether any state is persisted.

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?

The read-only guarantee is front-loaded in the first sentence, followed by scope semantics and then the non-mutation disclaimer. Every sentence carries information, though the parenthetical '(see bounds.truncated)' is slightly cryptic without the output schema in view.

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?

With an output schema present, the description doesn't need to explain return shapes, and it covers the safety profile, both modes, and three of four parameters. Only the topic parameter remains undocumented, which is a minor but real gap for a zero-required-param tool.

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%, so the description must carry the load and mostly does: it defines the two scope values, explains that limit bounds the cards read (surfacing bounds.truncated) and that sample bounds rows listed per group. The fourth parameter, topic, is never explained, leaving one gap.

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 opens with a specific verb-and-resource statement ('recommend recovery actions for stale processing tasks or blocked cards') and makes the advisory-only nature explicit. It does not name the closely-related mutation siblings (e.g. aiworkhub_task_recover_blocked_rework, aiworkhub_manager_reconcile_dead_processing), so an agent must infer the boundary from the 'recommend' vs 'recover' wording.

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 clearly explains the two operating modes and when each applies: scope="processing" (default) for stale processing tasks, scope="blocked" to triage the blocked-card queue. What's missing is routing guidance against alternatives such as the recover/reconcile tools, which would be the natural next step after a recommendation.

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

aiworkhub_task_supersedeA

COORDINATOR WRITE: supersede a stale/active task with a replacement.

Archives the card as superseded (allowed even from processing) and records the optional replacement task id via by. Full coordinator- capability gate; atomic; no direct SQLite patching.

Replies with a receipt (aiworkhub.task_supersede_receipt.v1): task_id, status, card_sha256/card_bytes plus any server-derived keys the core call attached. include_card = none (default) | summary (baselines and evidence folded) | full (the exact post-transition card).

NameRequiredDescriptionDefault
byNo
reasonNo
task_idYes
include_cardNonone

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/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 coordinator write gate, atomicity, no direct SQLite patching, the archival state change, the optional replacement link, and the receipt shape. It stops short of describing reversibility, failure modes, or detailed permission requirements.

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?

The description is front-loaded with 'COORDINATOR WRITE' and every sentence carries operational information. The receipt details are somewhat verbose given that an output schema exists, and the code-style formatting is slightly noisy, but the description is not bloated.

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?

Given no annotations, low schema coverage, and the presence of an output schema, the description provides enough context on the gate, atomic behavior, state transition, and response mode to call the tool correctly. It still omits ``reason`` semantics and sibling routing, which prevents a 5.

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. It explains ``by`` as the optional replacement task id and defines the ``include_card`` modes (none, summary, full), but it does not explain ``reason`` or clarify ``by`` value format, leaving a meaningful gap.

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: supersede a stale/active task with a replacement. It also clarifies that the card is archived as ``superseded`` and that an optional replacement task id can be recorded. It does not explicitly distinguish this from sibling tools such as aiworkhub_manager_task_supersede or aiworkhub_task_archive, so it falls short of a 5.

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?

Usage is implied by 'supersede a stale/active task' and the note that it is allowed even from processing. However, the description provides no explicit when-not guidance and does not name alternatives such as aiworkhub_manager_task_supersede or aiworkhub_task_archive.

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

aiworkhub_task_template_listB
Read-only

MANAGER READ: list the bounded repository-bound template registry.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

readOnlyHint=true already covers the safety profile, so the description's contribution is the scoping claim that results are limited to the current repository and 'bounded'. That is real added context, but 'bounded' is never explained (cap? pagination? truncation?) and no ordering or empty-registry behavior is described.

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?

A single front-loaded sentence with no wasted clauses. Slightly marred by the stacked jargon 'bounded repository-bound', which costs clarity without adding information.

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?

With no inputs and an output schema present, the definition is close to sufficient, but 'bounded' and the manager-only framing are left unexplained, and it does not point at the natural follow-up (aiworkhub_task_template_show / aiworkhub_task_create_from_template) after listing.

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 tool takes zero parameters, so the baseline is 4 and there is nothing for the description to clarify. It introduces no conflicting or missing parameter notions.

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?

Specific verb+resource: 'list the ... template registry', so an agent knows this enumerates task templates. The 'repository-bound' qualifier narrows scope meaningfully. It never names or distinguishes itself from the closest sibling, aiworkhub_task_template_show (single-template read), so it stops short of 5.

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?

'MANAGER READ:' hints at the intended audience/mode, but there is no statement of when to choose this over aiworkhub_task_template_show or aiworkhub_manager_recipe_list, and no preconditions or exclusions. Usage context is implied at best, not stated.

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

aiworkhub_task_template_showB
Read-only

MANAGER READ: show one exact short or full template ID, fail closed.

NameRequiredDescriptionDefault
template_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so safety is covered elsewhere. The description does add a real behavioral trait with 'fail closed' — it errors rather than fuzzy-matching or returning a nearest candidate — which is genuinely useful. But the phrase is terse jargon left unexplained (what error, what counts as a miss).

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?

A single front-loaded clause with zero padding, but the brevity shades into under-specification: 'fail closed' and 'short or full' are compressed to the point of ambiguity. Efficient, not wasteful, but thin.

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?

With an output schema present and readOnlyHint covering side effects, the description need not explain returns. For a one-parameter lookup it is nearly adequate, but the missing ID format example and the unexplained relationship to template_list leave an agent to infer how to source a valid ID.

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 carries the full parameter burden. It partially compensates by stating the ID may be 'short or full' and must be 'exact', which is meaningfully more than the bare schema. It still never shows what a short vs. full ID looks like or where to obtain one.

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 names a specific verb (show) and the resource it operates on (one template, keyed by template ID), and 'one exact' implicitly contrasts with the bulk aiworkhub_task_template_list sibling. The 'MANAGER READ' prefix adds an audience/scope qualifier, though no sibling is named explicitly.

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?

'MANAGER READ' signals the manager-scoped read context, and 'one exact ... template ID' implies you must already hold a precise ID (e.g., from template_list) before calling. However, no alternative tool is named and there is no explicit when-not guidance.

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

aiworkhub_task_usage_reportC

Return task usage report, optionally filtered.

NameRequiredDescriptionDefault
topicNo
runnerNo
statusNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden. It implies a read via 'Return' but does not disclose whether results are aggregated, what time window is covered, whether output is paginated, or any auth/permission requirements. It adds essentially nothing beyond the verb.

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 single sentence is front-loaded and free of padding, which is structurally sound. It is under-specified rather than overly verbose, so it earns a middling score for form rather than content.

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?

An output schema exists, so return values need not be explained, but for a three-parameter filtered report with zero schema descriptions the definition should clarify filter semantics and read-only nature. It falls short of what an agent needs to invoke it confidently.

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% across three parameters (topic, runner, status), so the description must compensate and does not. 'Optionally filtered' acknowledges the filters exist but never identifies which fields are filterable or how values are matched, leaving the agent to guess from bare parameter names.

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 names a resource ('task usage report') and an action ('Return'), so the agent knows it is a reporting read. However, neither the scope of the report nor what distinguishes it from siblings like aiworkhub_manager_skill_usage, aiworkhub_manager_recipe_usage, or aiworkhub_task_cost_ledger is stated. The purpose is implied but not specific.

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 only guidance is 'optionally filtered', which signals filters exist but never says when to use this report versus other usage/ledger tools. There is no when-to-use, when-not-to-use, or named alternative anywhere in the text.

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

aiworkhub_vscode_lm_worker_toolC

PRIVATE BRIDGE: execute one active GLM call with worker-scoped audit authority.

NameRequiredDescriptionDefault
tool_nameYes
request_idYes
tool_inputYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.1/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 behavioral burden. It vaguely mentions 'worker-scoped audit authority' and a 'private bridge,' but does not disclose side effects, permission requirements, reversibility, rate limits, or what an 'active GLM call' entails. This is insufficient for a tool with three required parameters and a nested input object.

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 description is a single sentence and is structurally front-loaded around a colon, but the wording is heavily jargon-laden and does not earn its place by conveying clear, useful information. It is concise without being informative.

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?

The tool has three required parameters, 0% schema description coverage, no annotations, and a nested input object. Although an output schema exists, the description fails to explain parameter semantics, usage context, or behavioral traits, leaving the definition severely incomplete for an agent to invoke it correctly.

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 there are three required parameters, yet the description does not mention or explain any of them. With low schema coverage, the description must compensate, and it does not.

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 gives a verb and a resource ('execute one active GLM call'), but 'PRIVATE BRIDGE' and 'worker-scoped audit authority' are cryptic domain jargon that do not clearly explain what the tool actually does or how it differs from the many sibling tools. It is more specific than a tautology but still leaves the agent guessing at the core function.

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?

There is no indication of when to use this tool versus alternatives, no prerequisites, and no exclusions. The phrase 'one active GLM call' hints at a constraint but does not provide actionable usage guidance.

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

needfix_addA

Manager-authority add of a NeedFix (dedupe-aware).

kind must be one of: bug, feature, improvement, idea, technical_debt, optimization, benchmark_gap, documentation_drift, security_risk, investigation, roadmap_candidate, refactor, security, docs, other. Common synonyms are normalised server-side and reported as kind_normalized: gap->improvement, defect->bug, performance->optimization, design->refactor, dead_code->technical_debt, test_coverage->improvement. severity must be one of: critical, high, medium, low, info. status defaults to captured; its authoritative choices are published in the field hint. Store lifecycle and manager authority still govern it.

Replies with a receipt (aiworkhub.needfix_add_receipt.v1): id, dedupe_key, status, kind, severity, created_at, provenance.origin, deduped with existing_id when the dedupe key matched a live row (the existing row is returned, nothing new is written), kind_normalized. The row itself is one needfix_show away.

NameRequiredDescriptionDefault
kindNoAccepted kind values: benchmark_gap, bug, docs, documentation_drift, feature, idea, improvement, investigation, optimization, other, refactor, roadmap_candidate, security, security_risk, technical_debt. Case, surrounding space and known synonyms are normalized server-side.other
tagsNo
scopeNo
titleYes
statusNoAccepted status values: accepted, archived, captured, deferred, duplicate, rejected, resolved, task_created, task_planned, triaged. Defaults to captured; store lifecycle and authority gates still apply.captured
evidenceNo
severityNoAccepted severity values: critical, high, info, low, medium.medium
caused_byNo
provenanceNo
descriptionYes
scope_filesNo
evidence_refsNo
scope_symbolsNo
readiness_scoreNo

TDQS

A3.6/5.0
Behavior4/5

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

No annotations exist, and the description carries real weight: dedupe behavior is stated concretely ('the existing row is returned, nothing new is written' with existing_id), kind synonyms are said to be normalized server-side with the exact mapping given, and status is noted as governed by lifecycle and manager authority. What is missing is error/permission failure behavior and validation constraints.

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?

The lead sentence is front-loaded and the receipt block at the end is well placed. Some space is spent restating schema enums verbatim (the severity list especially), although the kind synonym mapping and the status authority note are new information that justifies their length.

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?

There is no output schema, and the description compensates well by describing the needfix_add_receipt.v1 fields and the dedupe outcome. However, a 14-parameter write tool with mostly undocumented optional inputs (evidence, caused_by, provenance, scope_*) leaves the agent guessing about what structured context to attach.

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 only 21% across 14 parameters, so the description must compensate. It does well for kind (enum plus synonym mapping), severity (full enum), and status (enum plus default and gating note), but tags, scope, scope_files, scope_symbols, evidence, evidence_refs, caused_by, provenance, and readiness_score get no explanation at all in either place.

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 opening sentence gives a specific verb, resource, and authority level: 'Manager-authority add of a NeedFix (dedupe-aware).' That is enough to separate it from needfix_update, needfix_convert, and dashboard capture variants by function. It stops short of naming a sibling it must not be confused with.

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 'manager-authority' framing and 'dedupe-aware' note imply that callers need manager rights and that repeats short-circuit, which is real usage context. But there is no explicit when-to-use/when-not or routing to alternatives such as needfix_preview_convert or needfix_draft, so the agent must infer placement among the many needfix_* siblings.

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

needfix_archiveB

Explicitly archive (soft, audited, restorable) a NeedFix.

NameRequiredDescriptionDefault
reasonNo
needfix_idYes

TDQS

B3.3/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, and it does disclose the crucial traits: the archive is soft (not a destructive hard delete), audited, and restorable. It still omits permission/auth requirements and any side effects on linked tasks, which is why it doesn't reach 5.

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?

A single front-loaded sentence with the important qualifiers in a compact parenthetical and zero filler. It is tight and readable.

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?

For a low-complexity two-parameter mutation the definition covers the key behavioral fact (recoverable soft archive), but it leaves the 'reason' parameter and any auth/return expectations undocumented, and with no annotations and no output schema that leaves real gaps.

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% across two parameters, so the description must compensate, but it only implies the target entity ('a NeedFix'); it says nothing about the optional 'reason' parameter or its purpose. The required needfix_id is inferred rather than stated.

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 specific verb ('archive') and resource ('NeedFix') with scope qualifiers ('explicitly', 'soft, audited, restorable'). It is distinguishable from needfix_purge by the 'restorable' hint, but it never names the sibling it contrasts with (needfix_restore/needfix_purge), so differentiation relies on inference.

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 when-to-use or when-not-to-use guidance is given, and no alternative is named despite siblings like needfix_restore, needfix_purge, and the dashboard needfix variants existing. 'Explicitly' hints that archiving is intentionally user-triggered rather than automatic, but this is left implicit.

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

needfix_convertB

Commit the exact previewed workforce-bound task conversion.

plan_digest alone is enough: the matching preview remembered the exact plan it signed and this commits that plan, so the body never has to be resent. The digest re-check is unchanged, so NeedFix drift between preview and commit still fails closed, and a digest this server no longer holds is refused with previewed_plan_unavailable rather than reconstructed.

NameRequiredDescriptionDefault
task_planNo
needfix_idYes
plan_digestNo
include_planNo

TDQS

B3.3/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 load and does so unusually well on failure semantics: it names two specific fail-closed behaviors ('NeedFix drift between preview and commit still fails closed' and the 'previewed_plan_unavailable' refusal instead of reconstruction). What it omits is the success-side effect — it never says what the conversion produces (presumably a task) or whether the commit is idempotent or retry-safe.

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 purpose is front-loaded in sentence one, which is correct, but the remaining text is prose-heavy and revisits the digest theme twice ('the digest re-check is unchanged' and the drift/refusal sentence) with some meta-commentary that could be compressed. Nothing is wasted outright, but it is longer than the payload warrants.

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?

For a 4-parameter mutation tool with no annotations and no output schema, the description covers the core workflow and error surface well but leaves a real hole around include_plan, task_plan optionality, and what a successful commit yields. An agent can call it, but not fully predict the result or the meaning of every field.

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% across four parameters, so the description must compensate, yet only plan_digest is explained in depth. task_plan is only indirectly addressed ('the body never has to be resent' implies it is optional), and include_plan is never mentioned at all, leaving an agent to guess its purpose.

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 opening sentence gives a specific verb plus resource ('Commit the exact previewed workforce-bound task conversion'), and 'previewed'/'commit' semantics position it as the second half of a two-step flow with needfix_preview_convert. It stops short of naming that sibling outright, so the distinction is inferable rather than stated.

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 precondition (a preview must exist) is implied through phrases like 'the matching preview remembered the exact plan it signed,' and 'plan_digest alone is enough' steers the agent away from resending the body. But there is no explicit instruction to call needfix_preview_convert first, no statement of when a commit should be refused, and no alternatives named.

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

needfix_countC

Bounded count of NeedFix entries.

NameRequiredDescriptionDefault
kindNo
statusNo
severityNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/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 behavioral burden. 'Bounded' hints that the count may be capped, but the description does not state read-only status, side effects, exact bound behavior, or any auth/permission needs.

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 single sentence is concise and front-loaded with the core operation. However, for a three-parameter tool with no annotations or schema parameter descriptions, it is too sparse to be appropriately sized.

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?

An output schema exists, so return value explanation is not required. Still, the description omits filter semantics, usage context, and sibling differentiation, leaving meaningful gaps for a count tool with optional filters.

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 has three optional parameters (kind, status, severity) with 0% description coverage, and the description does not mention any of them. An agent receives no additional meaning about what these filters accept or how they combine.

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: it counts NeedFix entries, which is a clear operation. It does not distinguish this tool from siblings such as needfix_list or dashboard needfix counts, so it falls short of the top score.

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?

There is no guidance on when to use needfix_count versus needfix_list, needfix_show, or the dashboard needfix tools. The description provides no filtering context, prerequisites, or exclusions.

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

needfix_eventsC

List events for a NeedFix entry.

NameRequiredDescriptionDefault
limitNo
needfix_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/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 behavioral burden. It does not say whether the listing is read-only, whether events are ordered chronologically, what event kinds exist, or how the default limit of 100 truncates results — all material for a history-listing 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?

A single front-loaded sentence with no wasted words, but the brevity is under-specification rather than economy — nothing about scope, ordering, or limits is front-loaded because none of it is present.

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?

An output schema exists, so return values need not be described. However, with no annotations, 0% parameter documentation, and no behavioral context, the definition is incomplete for a tool an agent must call with a specific NeedFix id and an unexplained limit.

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, and it does not. 'needfix_id' is only implied by 'for a NeedFix entry', and the 'limit' parameter (default 100, i.e. pagination/truncation behavior) is never mentioned.

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 specific verb (List) and resource (events) scoped to a NeedFix entry, so an agent can distinguish it from needfix_show or needfix_list. It stops short of naming those siblings or clarifying what an 'event' is, but the purpose itself is unambiguous.

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?

There is no guidance on when to use this tool versus needfix_show, needfix_list, or roadmap_events, and no prerequisites or exclusion conditions are given. The agent must infer that this is the history/audit view for a single NeedFix.

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

needfix_listC

List repo-scoped NeedFix entries (bounded).

NameRequiredDescriptionDefault
kindNo
limitNo
offsetNo
statusNo
order_byNocreated_at
severityNo
order_dirNoDESC
include_archivedNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/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 behavioral burden. "(bounded)" hints at result limits and "repo-scoped" hints at scoping, but there is no disclosure of default limit/offset behavior, whether archived entries are excluded by default, ordering semantics, or any auth/permission requirements.

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?

A single short sentence that is front-loaded with the verb and resource, with no filler. It is arguably too terse given the tool's 8 parameters, but there is no wasted text.

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?

An output schema exists so return values needn't be explained, but for an 8-filter listing tool with no annotations and no schema descriptions, the description leaves an agent unable to know how to filter, order, or page correctly. It is not complete enough to invoke confidently.

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?

All 8 parameters have 0% schema description coverage, so the description must compensate and largely does not. "Bounded" loosely gestures at limit/offset and "repo-scoped" at scope, but kind, status, severity, order_by, order_dir, and include_archived are entirely unaddressed.

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 specific verb and resource ("List ... NeedFix entries") plus scope ("repo-scoped"), which separates it from needfix_show/needfix_count at a glance. It does not explicitly name which sibling to use for non-repo-scoped or aggregated views, so it stops short of full sibling differentiation.

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 when-to-use guidance, no exclusions, and no alternatives named among the many needfix_* and dashboard_needfix_* siblings. Usage is only implied by the verb "List".

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

needfix_preview_convertA

Preview an explicit workforce-bound task conversion.

The reply keeps plan_digest, plan_digest_accepted_alone and validation_roles_requirement -- the three facts the commit decision actually turns on -- and folds the signed plan body to its identity plus title/runner/topic/work_kind and the allowed_writes and required_outputs counts. include_plan=true returns the plan verbatim. Measured 2026-10-09 on NF-2026-01452: ~6 KB of plan echoed three times, because convert then refused plan_digest alone (NF-2026-01447). It no longer does, so the previewed plan never has to be resent.

NameRequiredDescriptionDefault
task_planNo
needfix_idYes
include_planNo

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does disclose substantive behavior: which reply fields are retained, how the plan body is folded, and what include_plan=true changes. It still does not explicitly state that the preview is read-only or what prerequisites/errors apply.

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 purpose is front-loaded and the response-shape details are useful. The historical measurement with ticket IDs and the exact KB echoed is illustrative but not essential for tool selection or invocation, making the description less concise than it could be.

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?

Because there is no output schema, the description does valuable work by describing the preview response shape and include_plan. It remains incomplete about task_plan semantics, read-only guarantees, and prerequisites for the referenced needfix_id.

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 explain the three parameters. It clearly documents include_plan behavior and implies the signed plan body relates to task_plan, but it never explains task_plan directly or clarifies needfix_id beyond its name.

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 first sentence states a specific verb and resource: preview a workforce-bound task conversion. It implies separation from the commit step, but it does not explicitly name or distinguish itself from siblings such as needfix_convert.

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 this preview exists to inform a later commit decision and explains include_plan=true for verbatim output. However, it never explicitly says when to call this instead of needfix_convert or when not to use it.

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

needfix_purgeA
Destructive

Audited hard delete of an already-archived NeedFix.

NameRequiredDescriptionDefault
needfix_idYes
audit_reasonYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false, so the bar is lower, yet the description still adds that deletion is 'hard' (not soft/reversible) and that it is 'audited' (an audit record is produced from audit_reason). It does not say what gets cascaded or whether recovery is possible afterwards.

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?

A single front-loaded sentence with no filler; the resource and the key constraint appear before any subordinate clause.

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?

For an irreversible destructive tool with no output schema and thin annotations, the description covers the operation type and precondition but omits blast radius (what associated records are removed), irreversibility, and confirmation expectations. Adequate, not 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% for both required parameters, so the description must carry the meaning. 'Audited' faintly maps to audit_reason, but neither parameter is explained—no format for needfix_id, no guidance on expected audit_reason content.

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?

States a specific verb ('hard delete' / purge) on a specific resource (NeedFix) and adds the discriminating precondition 'already-archived'. That precondition separates it cleanly from siblings like needfix_archive and needfix_restore without opening any schema.

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 'already-archived' qualifier implies when the tool is legal, and 'audited' signals the audit trail requirement, so usage is inferable. But nothing states what to do instead for a non-archived NeedFix or warns that this is the irreversible terminal step versus archive.

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

needfix_restoreC

Explicitly restore an archived NeedFix.

NameRequiredDescriptionDefault
needfix_idYes
target_statusNocaptured

TDQS

C2.6/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. It hints that the NeedFix must be archived and that a restore is a state change, but it does not describe required permissions, reversibility, side effects, or what target_status does, leaving significant behavioral gaps.

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?

The description is a single, front-loaded sentence with no wasted clauses. The only minor issue is the potentially redundant word "Explicitly," but overall it is appropriately concise for a short action statement.

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 mutation tool with no annotations, no output schema, and two poorly documented parameters, the description is far too thin. It omits preconditions, the role of target_status, the resulting state, and any return or error behavior, leaving the agent under-informed.

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 mentions neither needfix_id nor target_status. The existence and default of target_status are not explained anywhere, so the description adds no parameter meaning beyond the bare schema titles.

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 (restore) and resource (an archived NeedFix), making the action clear. However, it does not distinguish this tool from the similarly named sibling aiworkhub_dashboard_needfix_restore, so an agent cannot tell which one to use from the description alone.

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 offers no explicit when-to-use guidance, prerequisites, or alternative tools. It only says what the tool does, leaving the agent to infer that this should be used for restoring archived items, with no exclusions or comparisons to siblings.

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

needfix_showA

Show one NeedFix by id; a body over 1 KB folds to its own identity.

Measured 2026-10-09: 51 calls, avg 4 KB, max 12 KB, almost all of it the description and evidence bodies the filer wrote (NF-2026-01447). Each body whose own canonical bytes exceed core.NEEDFIX_BODY_MAX_BYTES is replaced by {summarized, bytes, length, sha256} so it stays addressable; a smaller body is returned verbatim and full=true returns every byte.

NameRequiredDescriptionDefault
fullNo
needfix_idYes

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 and does substantial work: it discloses that large bodies are silently replaced by a `{summarized, bytes, length, sha256}` placeholder keyed to `core.NEEDFIX_BODY_MAX_BYTES`, and that `full=true` bypasses this. It does not cover failure behavior for an unknown id or confirm read-only semantics, which keeps it off a 5.

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 core behavior is front-loaded in the first sentence, which is good. But the 'Measured 2026-10-09: 51 calls, avg 4 KB, max 12 KB' clause is design rationale and telemetry, not guidance an agent can act on, and it consumes roughly a third of the text.

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 no annotations and no output schema, the agent must rely entirely on prose. The description explains body folding precisely but says nothing about the rest of the returned record's fields, error behavior for a missing id, or whether the `sha256` can be used to re-fetch the full body.

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%, so the description must compensate, and it does for `full` (returns every byte, overriding folding). It also leaks the expected id shape via the example 'NF-2026-01447', though it never states whether prefixes, partial ids, or numeric forms are accepted.

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?

First sentence names a specific verb and resource plus the retrieval mode: 'Show one NeedFix by id.' That 'one ... by id' phrasing implicitly separates it from needfix_list, needfix_count, and needfix_events without the agent needing to open any schema.

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 `full=true` override gives partial usage guidance (fetch verbatim bytes when the folded body is not enough), but the description never states when to prefer this tool over needfix_list or needfix_events, nor any prerequisites or exclusions. Usage remains inferred rather than stated.

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

needfix_updateA

Manager update of mutable NeedFix fields.

None keeps a field. evidence is an explicit FULL REPLACE of the evidence object; evidence_patch is a JSON merge patch (keys merged, nested objects merged, null deletes a key) applied server-side to the stored object, so one measurement can be added without re-sending the rest. The two are mutually exclusive. evidence_refs_add/remove, tags_add/remove, scope_files_add and scope_symbols_add edit the lists in place (add appends missing values, remove filters). expected_updated_at is optimistic concurrency: the update is refused (needfix_update_stale) when the stored updated_at differs. kind vocabulary and synonym normalisation are as in needfix_add.

Replies with a delta receipt (aiworkhub.needfix_update_receipt.v1): id, status, fields_changed, updated_at, evidence_keys_after, event_id, kind_normalized. The updated audit event records the same fields_changed plus the evidence sha256 before and after.

NameRequiredDescriptionDefault
kindNoAccepted kind values: benchmark_gap, bug, docs, documentation_drift, feature, idea, improvement, investigation, optimization, other, refactor, roadmap_candidate, security, security_risk, technical_debt. None keeps the field; case, space and known synonyms normalize server-side.
tagsNo
scopeNo
titleNo
evidenceNo
severityNoAccepted severity values: critical, high, info, low, medium. None keeps the field.
tags_addNo
needfix_idYes
descriptionNo
scope_filesNo
tags_removeNo
evidence_refsNo
scope_symbolsNo
evidence_patchNo
readiness_scoreNo
scope_files_addNo
evidence_refs_addNo
scope_symbols_addNo
expected_updated_atNo
evidence_refs_removeNo

TDQS

A4/5.0
Behavior5/5

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

With no annotations present, the description carries the full behavioral burden and does so well: it explains None-field retention, mutual exclusivity of evidence and evidence_patch, server-side JSON merge patch semantics, list add/remove behavior, optimistic concurrency with a specific stale-error code, and kind synonym normalization. It also discloses the delta receipt and audit-event side effects.

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?

The description is dense but appropriately front-loaded for a complex 20-parameter update tool. Most sentences earn their place by explaining non-obvious mutation semantics, though the parenthetical clauses and receipt details make it somewhat heavy.

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 complex mutation tool with no output schema and no annotations, the description provides strong coverage of mutation semantics, concurrency behavior, response receipt fields, and audit implications. It does not mention permission requirements or fully enumerate the meaning of every one of the 20 parameters, so it is not completely exhaustive.

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 description coverage is only 10% across 20 parameters, so the description must compensate and it does for the highest-risk parameters: evidence, evidence_patch, the add/remove list variants, expected_updated_at, and kind normalization. It is less explicit about plain list replacement parameters and scalar fields like readiness_score or description, leaving some semantic gaps.

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: "Manager update of mutable NeedFix fields." It is clearly an update tool, but "mutable fields" is somewhat vague and it does not explicitly distinguish itself from needfix_add, needfix_show, or the dashboard update sibling.

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 "Manager update" implies the operational context, and the evidence/replace/patch rules give usage constraints. However, there is no explicit when-to-use versus when-not-to-use guidance and no named alternative for cases where add, transition, archive, or dashboard update would be more appropriate.

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

roadmap_addC

Manager-only Roadmap proposal; does not create or launch a task.

NameRequiredDescriptionDefault
titleYes
outcomeYes
priorityNomedium
milestoneNo
acceptanceNo
depends_onNo
provenanceNo
needfix_idsNo
evidence_refsNo

TDQS

C2.9/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, and it does disclose two useful traits: a manager-only permission requirement and that the call is a proposal that does not materialize a task. It says nothing about the mutation's side effects, idempotency, failure behavior, or what a proposal becomes afterwards, which leaves meaningful gaps.

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?

A single ten-word sentence with no padding, and the most decision-relevant fact (manager-only, not a task) is front-loaded. It is arguably too terse for the tool's complexity, but nothing is wasted.

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 9-parameter mutation tool with no annotations, no output schema, and no schema descriptions, this one-line definition is substantially under-specified. It omits parameter guidance and return behavior, leaving the agent without enough to invoke it confidently.

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% across 9 parameters, and the description adds no parameter meaning whatsoever - not for the required title/outcome, nor for priority, milestone, acceptance, depends_on, provenance, needfix_ids, or evidence_refs. The agent must guess the semantics of most inputs from their bare names.

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 names the resource (Roadmap proposal) and its manager-only scope, and explicitly rules out a sibling behavior ('does not create or launch a task'), which separates it from aiworkhub_task_create. The verb 'add' is only implied by the tool name, so it stops short of a fully self-contained statement of purpose.

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?

It provides two real usage signals: manager-only authorization and the negative guidance that this is not task creation/launch. However, it never says when to add a roadmap entry versus calling roadmap_transition, roadmap_link_task, or task_create, so the agent must infer the intended context.

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

roadmap_eventsB

List bounded audit events for one Roadmap outcome.

NameRequiredDescriptionDefault
limitNo
roadmap_idYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/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 does convey read-only behavior via 'List' and a bounded result set via 'bounded', but it omits permissions, pagination, event ordering, and what 'bounded' actually means.

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?

A single front-loaded sentence with no filler. The verb, resource, and scope are delivered immediately, and every word contributes to the definition.

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 is simple (2 parameters, 1 required) and has an output schema, so return values need not be explained. However, with 0% schema description coverage and no annotations, the description leaves the limit parameter and usage context under-specified.

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 implies the roadmap_id parameter through 'one Roadmap outcome' but says nothing about the limit parameter, leaving half of the parameters semantically 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 uses a specific verb ('List') and resource ('audit events'), and scopes them to 'one Roadmap outcome', which distinguishes this from sibling roadmap tools like roadmap_show, roadmap_list, and roadmap_snapshot. It stops short of explicitly naming those alternatives, so it is clear but not maximally differentiated.

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?

There is no when-to-use guidance, no when-not-to-use guidance, and no mention of alternative tools. At best, 'for one Roadmap outcome' implies a usage context, but an agent gets no help deciding between this and roadmap_show or roadmap_snapshot.

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

roadmap_listC

List bounded repository Roadmap outcomes.

NameRequiredDescriptionDefault
limitNo
offsetNo
statusNo
include_archivedNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/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. It implies a read operation via "List" but never states read-only safety, pagination behavior (limit/offset defaults), how include_archived affects results, or the archived-status filtering semantics. The word "bounded" hints at some restriction but is never explained.

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?

A single short front-loaded sentence with no wasted words, but it is terse to the point of under-specification rather than genuinely efficient. There is nothing misleading, just very little content to structure.

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?

Although an output schema exists so return shape needn't be described, the definition is still incomplete for a four-parameter, annotation-free list tool: no usage context, no parameter meaning, and no behavioral disclosure. An agent could call it, but not confidently or correctly relative to its siblings.

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% for four parameters, so the schema offers only names and defaults with no meaning. The description does not compensate at all, never explaining limit, offset, status, or include_archived semantics, leaving the agent to guess at filtering and paging behavior.

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?

It does name a verb and resource ("List ... Roadmap outcomes"), but "bounded repository Roadmap outcomes" is jargon that never clarifies what a Roadmap outcome actually is or what the list contains. It does not distinguish this from siblings like roadmap_show, roadmap_events, roadmap_snapshot, or aiworkhub_dashboard_roadmap_list, so an agent cannot route between them from the description alone.

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?

There is no when-to-use guidance, no prerequisites, and no mention of the alternative roadmap/dashboard list and detail tools. The agent is left to infer that this is the enumeration entry point versus roadmap_show for a single item.

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

roadmap_showC

Show one Roadmap outcome.

NameRequiredDescriptionDefault
roadmap_idYes

TDQS

C2.4/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 behavioral burden, and it discloses almost nothing. It does not state that the call is read-only, whether the roadmap must exist, what error occurs for an unknown id, or what the response contains. Only the word 'Show' weakly implies a read.

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?

It is a single short sentence with no wasted words and is front-loaded, but its brevity comes from under-specification rather than efficiency.

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 one undocumented parameter, no annotations, and no output schema, the description should at least clarify what is retrieved and what the identifier refers to. Neither is covered, leaving the agent to guess at call correctness.

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 never mentions the roadmap_id parameter or its expected format (id, slug, name?). 'One Roadmap' only faintly implies that an identifier selects a single record, so the description does not compensate for the schema gap.

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?

States a verb (Show) and a resource (Roadmap outcome) with singular scope, so an agent can infer it retrieves one roadmap record. However, 'outcome' is undefined terminology and the description does nothing to distinguish it from close siblings like roadmap_list, roadmap_snapshot, roadmap_events, or aiworkhub_dashboard_roadmap_detail.

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?

There is no when-to-use guidance and no mention of alternatives. With roadmap_list, roadmap_snapshot, and roadmap_events all present, an agent has no stated basis for choosing roadmap_show over them.

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

roadmap_snapshotD

Join bounded Roadmap outcomes to canonical Task-DAG lifecycle.

NameRequiredDescriptionDefault
limitNo
include_archivedNo

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about side effects, permissions, whether the operation is read-only, or how expensive/bounded the join is. 'Join' and 'bounded' hint at computation but no concrete behavior is stated.

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?

It is a single short sentence with no padding, so length is appropriate, but the terseness comes at the cost of clarity rather than from efficient front-loading. The one clause it does contain is jargon-laden.

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?

With no annotations, no output schema, no parameter documentation, and an opaque one-line description, the definition is far too thin for a two-parameter tool that apparently performs a cross-domain join. Nothing tells an agent what it returns or how to invoke it safely.

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% for both parameters (limit, include_archived), and the description never mentions them, so it does nothing to explain their meaning or defaults. With two undocumented parameters, the description fails to compensate for the schema gap.

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

Purpose2/5

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

The description says it 'joins bounded Roadmap outcomes to canonical Task-DAG lifecycle', which names resources but uses opaque internal jargon and never states what the tool actually produces (a snapshot? a report?). It does not clearly separate this from roadmap_list, roadmap_show, or roadmap_events, so an agent cannot confidently pick it.

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?

There is no indication of when to use this tool, when not to, or which sibling to prefer for a plain roadmap view versus this 'join'. The description offers no context, exclusions, or prerequisites at all.

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

roadmap_transitionC

Manager-only guarded Roadmap lifecycle transition.

NameRequiredDescriptionDefault
reasonYes
roadmap_idYes
target_statusYes

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure. It adds two meaningful traits beyond the schema: 'Manager-only' signals an authorization requirement, and 'guarded' implies precondition or transition validation. However, it does not specify allowed transitions, side effects, reversibility, or what the guard actually enforces, leaving significant gaps for a lifecycle mutation.

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?

The description is a single, front-loaded sentence fragment with no wasted words. It is appropriately concise and leads with the key constraints. It is terse to the point of under-specification, but the structure itself is 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?

For a tool with three required parameters, no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It omits parameter meanings, allowed state transitions, guard behavior, and outcome details. The 'Manager-only guarded' phrase is a start, but much of what an agent needs to invoke this safely and correctly is missing.

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 all three required parameters (roadmap_id, target_status, reason) lack any schema-level documentation. The description adds no meaning for any parameter: it does not explain valid target statuses, why a reason is required, or what roadmap_id refers to. The description fails to compensate for the coverage gap.

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 ('transition') and resource ('Roadmap lifecycle'), making it clear this changes a roadmap's lifecycle status. It implicitly distinguishes itself from siblings like roadmap_add, roadmap_show, roadmap_list, and roadmap_link_task. However, it does not explicitly name or contrast with any sibling, keeping it short of a 5.

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?

There is no guidance on when to use this tool versus alternatives such as roadmap_add, roadmap_show, or roadmap_snapshot. The only condition given is 'Manager-only', which implies a role restriction but not a usage context. No exclusions or alternative routing are provided.

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. 2 tool updatesv0.12.64
    • Changedaiworkhub_dashboard_snapshot1 field changed
      • changedInput schema / properties / known_contract_sha256 / description
        Previous value: -"str (default \"\") manager contract SHA-256 digest; omits unchanged contract prose in compact mode."New value: +"str (default \"\") contract SHA-256 digest the caller already holds; compact mode omits the contract prose by default and re-sends it only when this digest differs from the current contract_sha256."
    • Changedaiworkhub_task_stale_recovery_recommend2 fields changed
      • addedInput schema / properties / sample
        Added value: +{
        +  "default": 10,
        +  "title": "Sample",
        +  "type": "integer"
        +}
      • addedInput schema / properties / scope
        Added value: +{
        +  "default": "processing",
        +  "title": "Scope",
        +  "type": "string"
        +}
  2. 41 tool updatesv0.12.62
    • Changedaiworkhub_dashboard_initialize1 field changed
      • addedInput schema / properties / repo_id / description
        Added value: +"str optional expected repository ID (default \"\"); when valid, must match any existing manifest or initialization fails closed."
    • Changedaiworkhub_dashboard_kb1 field changed
      • addedInput schema / properties / limit / description
        Added value: +"int (default 100, clamped to 1..500) maximum number of newest KB entries to return."
    • Changedaiworkhub_dashboard_memory1 field changed
      • addedInput schema / properties / limit / description
        Added value: +"int (default 100, clamped to 1..500) maximum number of newest memory entries to return."
    • Changedaiworkhub_dashboard_model_settings_update5 fields changed
      • addedInput schema / properties / adapter / description
        Added value: +"optional str transport adapter identifier (default None); required when model is specified."
      • addedInput schema / properties / enabled / description
        Added value: +"bool True to enable or False to disable the selected provider, adapter, or model route."
      • addedInput schema / properties / expected_revision / description
        Added value: +"int current model_settings revision; mismatches fail closed and report current_revision."
      • addedInput schema / properties / model / description
        Added value: +"optional str model identifier under adapter (default None); omit to toggle the provider or adapter switch."
      • addedInput schema / properties / provider / description
        Added value: +"str non-empty provider identifier to configure."
    • Changedaiworkhub_dashboard_needfix_archive3 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to archive the NeedFix item."
      • addedInput schema / properties / needfix_id / description
        Added value: +"str canonical NeedFix identifier to archive."
      • addedInput schema / properties / reason / description
        Added value: +"str optional archive rationale (default \"\", truncated to 1000 chars) recorded in the audit event."
    • Changedaiworkhub_dashboard_needfix_capture7 fields changed
      • addedInput schema / properties / description / description
        Added value: +"str problem details (truncated to 8000 chars)."
      • addedInput schema / properties / include_item / description
        Added value: +"bool (default False); True adds full detail fields to item."
      • addedInput schema / properties / kind / description
        Added value: +"str classification kind (default \"other\"; synonyms are normalized)."
      • addedInput schema / properties / scope / description
        Added value: +"optional str affected scope text (default None, up to 4000 chars)."
      • addedInput schema / properties / severity / description
        Added value: +"str level: critical, high, medium, low, or info (default \"medium\")."
      • addedInput schema / properties / tags / description
        Added value: +"optional list[str] labels (default None, up to 24 tags)."
      • addedInput schema / properties / title / description
        Added value: +"str summary title (truncated to 240 chars)."
    • Changedaiworkhub_dashboard_needfix_convert_commit4 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to commit the conversion and create the task."
      • addedInput schema / properties / needfix_id / description
        Added value: +"str canonical NeedFix identifier to convert into a task."
      • addedInput schema / properties / plan_digest / description
        Added value: +"optional str (default None, required at runtime) SHA-256 digest returned by aiworkhub_dashboard_needfix_convert_preview."
      • addedInput schema / properties / task_plan / description
        Added value: +"optional Mapping[str, Any] (default None reuses the plan cached under plan_digest) explicit task card fields."
    • Changedaiworkhub_dashboard_needfix_convert_preview2 fields changed
      • addedInput schema / properties / needfix_id / description
        Added value: +"str canonical NeedFix identifier to preview for task conversion."
      • addedInput schema / properties / task_plan / description
        Added value: +"optional Mapping[str, Any] (default None) explicit task card overrides such as runner, topic, allowed_writes, and validation."
    • Changedaiworkhub_dashboard_needfix_detail2 fields changed
      • addedInput schema / properties / event_limit / description
        Added value: +"int (default 50, clamped to 1..100) maximum number of audit events to return."
      • addedInput schema / properties / needfix_id / description
        Added value: +"str canonical NeedFix identifier (for example NF-2026-00001)."
    • Changedaiworkhub_dashboard_needfix_link_existing_task4 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to persist the task link."
      • addedInput schema / properties / existing_task_id / description
        Added value: +"str identifier of the finished, manager-accepted task in this repository."
      • addedInput schema / properties / integrated_commit / description
        Added value: +"str optional Git commit SHA (default \"\") verified against the repository when provided."
      • addedInput schema / properties / needfix_id / description
        Added value: +"str canonical NeedFix identifier to link."
    • Changedaiworkhub_dashboard_needfix_list6 fields changed
      • addedInput schema / properties / include_archived / description
        Added value: +"bool (default False); True includes archived NeedFix rows."
      • addedInput schema / properties / kind / description
        Added value: +"optional str classification kind filter (default None)."
      • addedInput schema / properties / limit / description
        Added value: +"int (default 100, clamped to 1..200) maximum rows to return."
      • addedInput schema / properties / offset / description
        Added value: +"int (default 0, clamped to >=0) zero-based pagination offset."
      • addedInput schema / properties / severity / description
        Added value: +"optional str severity filter such as critical, high, medium, low, or info (default None)."
      • addedInput schema / properties / status / description
        Added value: +"optional str lifecycle status filter (default None returns all active statuses)."
    • Changedaiworkhub_dashboard_needfix_purge3 fields changed
      • addedInput schema / properties / audit_reason / description
        Added value: +"str non-empty mandatory justification (truncated to 1000 chars) persisted in the purge audit event."
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to permanently purge the NeedFix row."
      • addedInput schema / properties / needfix_id / description
        Added value: +"str canonical NeedFix identifier of the archived row to permanently delete."
    • Changedaiworkhub_dashboard_needfix_reopen_superseded_task_link3 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to execute the reopen."
      • addedInput schema / properties / needfix_id / description
        Added value: +"str canonical NeedFix identifier whose superseded task link should be reopened."
      • addedInput schema / properties / reason / description
        Added value: +"str mandatory audit explanation for reopening the superseded task link."
    • Changedaiworkhub_dashboard_needfix_restore3 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to restore the NeedFix item."
      • addedInput schema / properties / needfix_id / description
        Added value: +"str canonical NeedFix identifier of the archived row to restore."
      • addedInput schema / properties / target_status / description
        Added value: +"str active status to restore into: captured, triaged, accepted, or deferred (default \"captured\")."
    • Changedaiworkhub_dashboard_needfix_transition8 fields changed
      • addedInput schema / properties / action / description
        Added value: +"str transition action: triage, accept, reject, duplicate, defer, task_planned, resolve, resolve_verified, or recover_conversion_claim."
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to execute the transition."
      • addedInput schema / properties / duplicate_parent_id / description
        Added value: +"str parent NeedFix ID when action is duplicate (default \"\")."
      • addedInput schema / properties / include_item / description
        Added value: +"bool (default False); True adds full detail fields to item."
      • addedInput schema / properties / needfix_id / description
        Added value: +"str canonical NeedFix identifier to transition."
      • addedInput schema / properties / promote_to / description
        Added value: +"str optional chained target (default \"\"; only \"accepted\" with action=\"triage\" is allowed)."
      • addedInput schema / properties / readiness_score / description
        Added value: +"optional int score for triage or accept (default None)."
      • addedInput schema / properties / reason / description
        Added value: +"str note or rationale (default \"\", up to 1000 chars; required for recover_conversion_claim)."
    • Changedaiworkhub_dashboard_needfix_update9 fields changed
      • addedInput schema / properties / description / description
        Added value: +"optional str replacement description (default None, up to 8000 chars)."
      • addedInput schema / properties / include_item / description
        Added value: +"bool (default False); True adds full detail fields to item."
      • addedInput schema / properties / kind / description
        Added value: +"optional str replacement kind (default None; synonyms normalized)."
      • addedInput schema / properties / needfix_id / description
        Added value: +"str canonical NeedFix identifier to update."
      • addedInput schema / properties / readiness_score / description
        Added value: +"optional int readiness score (default None, clamped to 0..100)."
      • addedInput schema / properties / scope / description
        Added value: +"optional str replacement scope text (default None, up to 4000 chars)."
      • addedInput schema / properties / severity / description
        Added value: +"optional str replacement severity (default None)."
      • addedInput schema / properties / tags / description
        Added value: +"optional list[str] replacement tag list (default None, up to 24 tags)."
      • addedInput schema / properties / title / description
        Added value: +"optional str replacement title (default None leaves unchanged, up to 240 chars)."
    • Changedaiworkhub_dashboard_roadmap_detail2 fields changed
      • addedInput schema / properties / event_limit / description
        Added value: +"int (default 50, clamped to 1..100) maximum number of audit events to return."
      • addedInput schema / properties / roadmap_id / description
        Added value: +"str canonical Roadmap identifier (for example RM-2026-00001)."
    • Changedaiworkhub_dashboard_roadmap_list4 fields changed
      • addedInput schema / properties / include_archived / description
        Added value: +"bool (default False); True includes archived Roadmap items."
      • addedInput schema / properties / limit / description
        Added value: +"int (default 100, clamped to 1..200) maximum number of items to return."
      • addedInput schema / properties / offset / description
        Added value: +"int (default 0, clamped to >=0) zero-based pagination offset applied to the filtered list."
      • addedInput schema / properties / status / description
        Added value: +"optional str status filter (default None returns all non-archived statuses)."
    • Changedaiworkhub_dashboard_sessions1 field changed
      • addedInput schema / properties / limit / description
        Added value: +"int (default 100, clamped to 1..500) maximum number of newest transcript documents to return."
    • Changedaiworkhub_dashboard_settings_update2 fields changed
      • addedInput schema / properties / changes / description
        Added value: +"non-empty dict[str, bool] mapping valid feature keys to their desired boolean enabled state."
      • addedInput schema / properties / expected_revision / description
        Added value: +"int current feature settings revision required for optimistic concurrency; mismatches fail closed."
    • Changedaiworkhub_dashboard_snapshot4 fields changed
      • addedInput schema / properties / full / description
        Added value: +"bool (default False); True returns full task, process, and ledger collections, False returns the compact summary."
      • addedInput schema / properties / known_contract_sha256 / description
        Added value: +"str (default \"\") manager contract SHA-256 digest; omits unchanged contract prose in compact mode."
      • addedInput schema / properties / previous / description
        Added value: +"optional Mapping[str, Any] (default None) prior snapshot dict reused for incremental diffing."
      • addedInput schema / properties / previous_snapshot / description
        Added value: +"optional Mapping[str, Any] (default None) alias for previous when previous is omitted."
    • Changedaiworkhub_dashboard_source_graph_settings_update2 fields changed
      • addedInput schema / properties / expected_revision / description
        Added value: +"int revision from the current Source Graph policy view; mismatches fail closed."
      • addedInput schema / properties / language_changes / description
        Added value: +"non-empty dict[str, bool] mapping registered language IDs to True (enabled) or False (disabled)."
    • Changedaiworkhub_dashboard_storage_purge2 fields changed
      • addedInput schema / properties / batch_id / description
        Added value: +"str identifier of the expired storage quarantine batch to permanently remove."
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to permanently purge the batch."
    • Changedaiworkhub_dashboard_storage_quarantine2 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to execute the quarantine move."
      • addedInput schema / properties / preview_digest / description
        Added value: +"str SHA-256 digest from aiworkhub_dashboard_storage_retention_preview; stale digests fail closed."
    • Changedaiworkhub_dashboard_storage_registration_prune2 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to prune stale Git worktree registrations."
      • addedInput schema / properties / preview_digest / description
        Added value: +"str registration preview digest from aiworkhub_dashboard_storage_retention_preview; stale digests fail closed."
    • Changedaiworkhub_dashboard_storage_restore2 fields changed
      • addedInput schema / properties / batch_id / description
        Added value: +"str identifier of the storage quarantine batch to restore."
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to execute the restore."
    • Changedaiworkhub_dashboard_storage_retention_preview1 field changed
      • addedInput schema / properties / include_items / description
        Added value: +"bool (default False); False folds lists to counts and top-ten candidates, True returns full candidate and batch lists."
    • Changedaiworkhub_dashboard_task_archive3 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to archive the task."
      • addedInput schema / properties / reason / description
        Added value: +"str optional audit note (default \"\", truncated to 200 chars) recorded on the archive event."
      • addedInput schema / properties / task_id / description
        Added value: +"str canonical task identifier to archive."
    • Changedaiworkhub_dashboard_task_detail1 field changed
      • addedInput schema / properties / task_id / description
        Added value: +"str canonical task identifier matching the repository task ID pattern."
    • Changedaiworkhub_dashboard_task_live_output2 fields changed
      • addedInput schema / properties / cursor / description
        Added value: +"int (default 0, clamped to >=0) byte offset from which to read the next output chunk."
      • addedInput schema / properties / task_id / description
        Added value: +"str canonical task identifier whose worker output should be read."
    • Changedaiworkhub_dashboard_task_quarantine3 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to quarantine the archived tasks."
      • addedInput schema / properties / older_than_days / description
        Added value: +"optional int age cutoff in days (default None uses repository retention policy, valid range 7..3650)."
      • addedInput schema / properties / preview_digest / description
        Added value: +"str SHA-256 digest from aiworkhub_dashboard_task_retention_preview; mismatches fail closed."
    • Changedaiworkhub_dashboard_task_quarantine_purge2 fields changed
      • addedInput schema / properties / batch_id / description
        Added value: +"str identifier of the task retention batch to permanently delete."
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to permanently purge the batch."
    • Changedaiworkhub_dashboard_task_quarantine_restore2 fields changed
      • addedInput schema / properties / batch_id / description
        Added value: +"str identifier of the task retention quarantine batch to restore."
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to restore the batch."
    • Changedaiworkhub_dashboard_task_restart3 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to recover and launch the task."
      • addedInput schema / properties / reason / description
        Added value: +"str optional recovery note (default \"\" uses \"owner manual restart\", truncated to 200 chars)."
      • addedInput schema / properties / task_id / description
        Added value: +"str canonical task identifier to recover and launch."
    • Changedaiworkhub_dashboard_task_restore3 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to restore the archived task."
      • addedInput schema / properties / reason / description
        Added value: +"str optional audit note (default \"\", truncated to 200 chars) recorded on the restore event."
      • addedInput schema / properties / task_id / description
        Added value: +"str canonical task identifier of the archived task to restore."
    • Changedaiworkhub_dashboard_task_retention_preview1 field changed
      • addedInput schema / properties / older_than_days / description
        Added value: +"optional int age cutoff in days (default None uses repository retention policy, valid range 7..3650)."
    • Changedaiworkhub_dashboard_terminal_log_purge2 fields changed
      • addedInput schema / properties / batch_id / description
        Added value: +"str identifier of the expired terminal-log quarantine batch to permanently delete."
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to permanently purge the batch."
    • Changedaiworkhub_dashboard_terminal_log_quarantine2 fields changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to move terminal log files to quarantine."
      • addedInput schema / properties / preview_digest / description
        Added value: +"str SHA-256 digest from aiworkhub_dashboard_terminal_log_retention_preview; stale digests fail closed."
    • Changedaiworkhub_dashboard_terminal_log_restore2 fields changed
      • addedInput schema / properties / batch_id / description
        Added value: +"str identifier of the terminal-log quarantine batch to restore."
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to restore the quarantined log files."
    • Changedaiworkhub_dashboard_terminal_log_retention_preview2 fields changed
      • addedInput schema / properties / cursor / description
        Added value: +"int (default 0, clamped to >=0) zero-based pagination offset into candidate and protected log lists."
      • addedInput schema / properties / limit / description
        Added value: +"int (default 50, clamped to 1..200) maximum number of candidate and protected entries returned per page."
    • Changedaiworkhub_dashboard_terminal_log_usage_backfill1 field changed
      • addedInput schema / properties / confirm / description
        Added value: +"bool (default False); must be True to scan terminal logs and append usage capture events."
  3. 213 tool updatesv0.1.0
    • First observedaiworkhub_agent_accept_preview
    • First observedaiworkhub_agent_accept_review
    • First observedaiworkhub_agent_cancel_task
    • First observedaiworkhub_agent_collect_result
    • First observedaiworkhub_agent_launch_task
    • First observedaiworkhub_agent_list_processes
    • First observedaiworkhub_agent_retry_finalization
    • First observedaiworkhub_agent_task_status
    • First observedaiworkhub_agent_tool_instruction_apply
    • First observedaiworkhub_agent_tool_instruction_inspect
    • First observedaiworkhub_agent_tool_instruction_preview
    • First observedaiworkhub_claude_callback_ack
    • First observedaiworkhub_claude_callback_wait
    • First observedaiworkhub_cli_adapter_audit_summary_readonly
    • First observedaiworkhub_cli_adapter_plan_readonly
    • First observedaiworkhub_cli_adapter_report_readonly
    • First observedaiworkhub_completion_inbox
    • First observedaiworkhub_contract_consistency_check
    • First observedaiworkhub_dashboard_health
    • First observedaiworkhub_dashboard_initialize
    • First observedaiworkhub_dashboard_kb
    • First observedaiworkhub_dashboard_memory
    • First observedaiworkhub_dashboard_model_settings_update
    • First observedaiworkhub_dashboard_needfix_archive
    • First observedaiworkhub_dashboard_needfix_capture
    • First observedaiworkhub_dashboard_needfix_convert_commit
    • First observedaiworkhub_dashboard_needfix_convert_preview
    • First observedaiworkhub_dashboard_needfix_detail
    • First observedaiworkhub_dashboard_needfix_link_existing_task
    • First observedaiworkhub_dashboard_needfix_list
    • First observedaiworkhub_dashboard_needfix_purge
    • First observedaiworkhub_dashboard_needfix_reopen_superseded_task_link
    • First observedaiworkhub_dashboard_needfix_restore
    • First observedaiworkhub_dashboard_needfix_transition
    • First observedaiworkhub_dashboard_needfix_update
    • First observedaiworkhub_dashboard_roadmap_detail
    • First observedaiworkhub_dashboard_roadmap_list
    • First observedaiworkhub_dashboard_sessions
    • First observedaiworkhub_dashboard_settings
    • First observedaiworkhub_dashboard_settings_update
    • First observedaiworkhub_dashboard_skills
    • First observedaiworkhub_dashboard_snapshot
    • First observedaiworkhub_dashboard_source_graph_settings_update
    • First observedaiworkhub_dashboard_storage_purge
    • First observedaiworkhub_dashboard_storage_quarantine
    • First observedaiworkhub_dashboard_storage_registration_prune
    • First observedaiworkhub_dashboard_storage_restore
    • First observedaiworkhub_dashboard_storage_retention_preview
    • First observedaiworkhub_dashboard_task_archive
    • First observedaiworkhub_dashboard_task_detail
    • First observedaiworkhub_dashboard_task_live_output
    • First observedaiworkhub_dashboard_task_quarantine
    • First observedaiworkhub_dashboard_task_quarantine_purge
    • First observedaiworkhub_dashboard_task_quarantine_restore
    • First observedaiworkhub_dashboard_task_restart
    • First observedaiworkhub_dashboard_task_restore
    • First observedaiworkhub_dashboard_task_retention_preview
    • First observedaiworkhub_dashboard_terminal_log_purge
    • First observedaiworkhub_dashboard_terminal_log_quarantine
    • First observedaiworkhub_dashboard_terminal_log_restore
    • First observedaiworkhub_dashboard_terminal_log_retention_preview
    • First observedaiworkhub_dashboard_terminal_log_usage_backfill
    • First observedaiworkhub_dispatcher_ensure_started
    • First observedaiworkhub_dispatcher_health
    • First observedaiworkhub_dispatcher_stop
    • First observedaiworkhub_dispatcher_watchdog
    • First observedaiworkhub_environment_preflight
    • First observedaiworkhub_eval_artifact_gate
    • First observedaiworkhub_known_bug_scan
    • First observedaiworkhub_launch_queue_audit_summary_readonly
    • First observedaiworkhub_launch_queue_describe_readonly
    • First observedaiworkhub_launch_queue_evaluate_readonly
    • First observedaiworkhub_manager_ai_memory_get
    • First observedaiworkhub_manager_ai_memory_related
    • First observedaiworkhub_manager_ai_memory_search
    • First observedaiworkhub_manager_ai_memory_write
    • First observedaiworkhub_manager_bootstrap
    • First observedaiworkhub_manager_context_graph_event_write
    • First observedaiworkhub_manager_context_graph_range
    • First observedaiworkhub_manager_context_graph_rebuild
    • First observedaiworkhub_manager_context_graph_related
    • First observedaiworkhub_manager_context_graph_search
    • First observedaiworkhub_manager_context_import
    • First observedaiworkhub_manager_context_write_intent_dispose
    • First observedaiworkhub_manager_context_write_intents
    • First observedaiworkhub_manager_kb_get
    • First observedaiworkhub_manager_kb_related
    • First observedaiworkhub_manager_kb_search
    • First observedaiworkhub_manager_kb_write
    • First observedaiworkhub_manager_learning_commit
    • First observedaiworkhub_manager_loop_close
    • First observedaiworkhub_manager_loop_continue
    • First observedaiworkhub_manager_loop_discard
    • First observedaiworkhub_manager_loop_ensure
    • First observedaiworkhub_manager_loop_events
    • First observedaiworkhub_manager_loop_new
    • First observedaiworkhub_manager_loop_rename
    • First observedaiworkhub_manager_loop_restore
    • First observedaiworkhub_manager_loop_rotate
    • First observedaiworkhub_manager_loop_send
    • First observedaiworkhub_manager_loop_start
    • First observedaiworkhub_manager_loop_status
    • First observedaiworkhub_manager_loop_stop
    • First observedaiworkhub_manager_needfix_draft
    • First observedaiworkhub_manager_needfix_markdown_commit
    • First observedaiworkhub_manager_needfix_markdown_preview
    • First observedaiworkhub_manager_recipe_list
    • First observedaiworkhub_manager_recipe_register
    • First observedaiworkhub_manager_recipe_run
    • First observedaiworkhub_manager_recipe_seed_canonical
    • First observedaiworkhub_manager_recipe_seed_plan
    • First observedaiworkhub_manager_recipe_show
    • First observedaiworkhub_manager_recipe_usage
    • First observedaiworkhub_manager_reconcile_dead_processing
    • First observedaiworkhub_manager_review_finding_dispose
    • First observedaiworkhub_manager_review_hold_resolve
    • First observedaiworkhub_manager_sdlc_case_create
    • First observedaiworkhub_manager_sdlc_case_create_for_task
    • First observedaiworkhub_manager_sdlc_case_for_task
    • First observedaiworkhub_manager_sdlc_case_get
    • First observedaiworkhub_manager_sdlc_outcome_metrics
    • First observedaiworkhub_manager_sdlc_stage_packet
    • First observedaiworkhub_manager_sdlc_stage_record
    • First observedaiworkhub_manager_semantic_edit_apply
    • First observedaiworkhub_manager_semantic_edit_prepare
    • First observedaiworkhub_manager_session_current_state
    • First observedaiworkhub_manager_session_write
    • First observedaiworkhub_manager_skill_activate
    • First observedaiworkhub_manager_skill_add_evidence
    • First observedaiworkhub_manager_skill_evidence_sweep
    • First observedaiworkhub_manager_skill_mine
    • First observedaiworkhub_manager_skill_propose
    • First observedaiworkhub_manager_skill_retirement_report
    • First observedaiworkhub_manager_skill_usage
    • First observedaiworkhub_manager_source_graph_query
    • First observedaiworkhub_manager_task_archive
    • First observedaiworkhub_manager_task_decomposition_preview
    • First observedaiworkhub_manager_task_supersede
    • First observedaiworkhub_manager_workforce_catalog
    • First observedaiworkhub_manager_workforce_rank
    • First observedaiworkhub_manager_workforce_upsert
    • First observedaiworkhub_prompt_bundle_ab_report
    • First observedaiworkhub_quality_calibration_report
    • First observedaiworkhub_quality_evidence_packet
    • First observedaiworkhub_quality_gate_ratchet
    • First observedaiworkhub_quality_profile
    • First observedaiworkhub_quality_reviewer_launch
    • First observedaiworkhub_quality_run_checks
    • First observedaiworkhub_repo_current
    • First observedaiworkhub_repo_list
    • First observedaiworkhub_repo_switch
    • First observedaiworkhub_review_packet
    • First observedaiworkhub_risk_mode_precision_bench
    • First observedaiworkhub_router_known_repositories
    • First observedaiworkhub_runtime_coverage_import
    • First observedaiworkhub_runtime_coverage_preview
    • First observedaiworkhub_session_token_profile
    • First observedaiworkhub_source_graph_ensure_started
    • First observedaiworkhub_source_graph_health
    • First observedaiworkhub_source_graph_refresh_now
    • First observedaiworkhub_source_graph_retrieval_eval
    • First observedaiworkhub_source_graph_stop
    • First observedaiworkhub_storage_recover_stranded_worktrees
    • First observedaiworkhub_suite_profile
    • First observedaiworkhub_supervisor_loop_status
    • First observedaiworkhub_task_archive
    • First observedaiworkhub_task_audit_log_read
    • First observedaiworkhub_task_auto_pickup_dryrun
    • First observedaiworkhub_task_codex_handoff
    • First observedaiworkhub_task_codex_handoff_markdown
    • First observedaiworkhub_task_collision_guard
    • First observedaiworkhub_task_cost_ledger
    • First observedaiworkhub_task_create
    • First observedaiworkhub_task_create_from_template
    • First observedaiworkhub_task_dependency_autolaunch_reconcile
    • First observedaiworkhub_task_health
    • First observedaiworkhub_task_list
    • First observedaiworkhub_task_pending_for_runner
    • First observedaiworkhub_task_plan_snapshot
    • First observedaiworkhub_task_queue_request
    • First observedaiworkhub_task_recover_blocked_rework
    • First observedaiworkhub_task_reject_review
    • First observedaiworkhub_task_reroute_launch_identity
    • First observedaiworkhub_task_retry_terminal
    • First observedaiworkhub_task_review_queue
    • First observedaiworkhub_task_review_summarize
    • First observedaiworkhub_task_show
    • First observedaiworkhub_task_stale_recovery_recommend
    • First observedaiworkhub_task_supersede
    • First observedaiworkhub_task_template_list
    • First observedaiworkhub_task_template_show
    • First observedaiworkhub_task_usage_report
    • First observedaiworkhub_vscode_lm_worker_tool
    • First observedneedfix_add
    • First observedneedfix_archive
    • First observedneedfix_convert
    • First observedneedfix_count
    • First observedneedfix_events
    • First observedneedfix_link_existing_task
    • First observedneedfix_list
    • First observedneedfix_preview_convert
    • First observedneedfix_purge
    • First observedneedfix_reopen_superseded_task_link
    • First observedneedfix_restore
    • First observedneedfix_show
    • First observedneedfix_update
    • First observedroadmap_add
    • First observedroadmap_events
    • First observedroadmap_link_task
    • First observedroadmap_list
    • First observedroadmap_show
    • First observedroadmap_snapshot
    • First observedroadmap_transition

TDQS

C2.6/5.0

Scored across 213 tools

Disambiguation2/5

Many tools are near-duplicates separated only by authority prefix: task_archive vs manager_task_archive vs dashboard_task_archive, task_supersede vs manager_task_supersede, needfix_update vs dashboard_needfix_update, task_show vs dashboard_task_detail vs agent_task_status, task_health vs dashboard_health vs dashboard_snapshot. The descriptions do disambiguate with 'use X instead of Y' prose, but with 213 tools sharing overlapping verbs and resources, an agent must read long docstrings to pick correctly.

Naming Consistency2/5

The set mixes three schemes: prefixed families (aiworkhub_task_*, aiworkhub_manager_*, aiworkhub_dashboard_*, aiworkhub_agent_*, aiworkhub_quality_*), bare families (needfix_*, roadmap_*), and inconsistent suffixes like _readonly, _readonly-only variants, and _helper terms. Verb ordering is usually verb_noun but there are noun-first outliers (task_health, dashboard_snapshot, completion_inbox, review_packet, quality_profile).

Tool Count1/5

213 tools vastly exceeds any reasonable scope for a single MCP surface, and many are parallel re-exports of the same operation under different authority prefixes. The count is an extreme mismatch for coherent agent tool selection.

Completeness4/5

The domain surface is extensive: task lifecycle, NeedFix, roadmap, skills, recipes, SDLC cases, storage retention, dashboard reads, launch/dispatcher control, and quality evidence all have create/read/update/archive paths. Coverage is close to complete, though a few lifecycle edges (e.g. roadmap delete/archive, consistent unlock of quarantined artifacts) are implicit rather than explicit.

Maintenance

ActivityActive
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers