Coordination Memory MCP
Enables exporting the accepted ledger as a durable, auditable projection that can be committed into a Git repository for long-term record keeping.
Scaffolds a copilot-instructions.md file so that GitHub Copilot agents can follow the coordination memory protocol for task management.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Coordination Memory MCPAssign task 'update-docs' to agent-01"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Coordination Memory MCP
Append-only coordination memory for multi-agent (and agent + human) work, exposed as a local Model Context Protocol (MCP) server backed by SQLite — plus a local web management dashboard and goal-level acceptance contracts.
It records who owns which task, run liveness, human interventions, handoff evidence, and integrator review decisions. Only an integrator can promote work into the accepted ledger, which you can export as a durable, auditable projection (for example, committed into Git).
Design stance: the MCP is the live coordination layer; durable accepted truth lives in whatever you project to. It is local-first (SQLite + stdio), and it never deploys, never reads secrets, and never executes shell commands.
Why
When several agents (or agents and people) push on the same body of work, two things go wrong: they overwrite each other, and "I'm done" gets confused with "this was accepted." Coordination Memory gives you:
Assignment claims with leases so two actors don't clobber the same task.
A hard distinction between an agent reporting
completed_gate_passedand an integrator decidingintegrator_accepted. Proposals are not truth.An integrator-owned accepted projection you review before archiving.
Acceptance contracts that make "self-certified done" structurally impossible for goal-level outcomes (see below).
A human-facing Attention view and latest Resume Brief so people can re-enter long-running work without turning summaries into agent recovery state or changing the coordination lifecycle.
Good fits: multiple agents on separate worktrees advancing one effort; needing a review gate before something counts as accepted; wanting a replayable audit trail of coordination decisions.
Not a fit: as your only long-term source of truth; as a place to store .env
files, tokens, passwords, or credential-bearing logs.
Related MCP server: JustClone Coordination MCP Server
Launch resources
90-second demo script — a short walkthrough for showing leases, handoff evidence, integrator acceptance, and the dashboard.
Launch post draft — copy for announcing the project without positioning it as generic memory or RAG.
OSS launch checklist — release, GitHub metadata, MCP Registry, and directory-submission steps.
Install
Requires Python ≥ 3.11.
Install the single comem command with
uv or pipx after the package is published to
PyPI:
uv tool install coordination-memory-mcp # or: pipx install coordination-memory-mcp
comem --helpOr run it without installing (the package name and command differ, so pass
--from):
uvx --from coordination-memory-mcp comem --helpFrom source
If the PyPI page is not live yet, or you want to run your own changes, install
the comem command straight from a checkout:
git clone https://github.com/yanqiw/comem
cd coordination-memory-mcp
uv tool install . # or: pipx install .
comem --versionThis is a snapshot install — re-run it after editing the source to pick up changes:
uv tool install . --reinstall # rebuild from current source
uv tool install . --editable --reinstall # or install editable: changes apply live
uv tool uninstall coordination-memory-mcp # remove itThe command exposes four subcommands:
comem serve— the stdio MCP server.comem dashboard— the local web management console.comem init— scaffold agent-onboarding files into a repo.comem loop— run the local-only scheduler for Codex agent conversations.
For local development, clone and uv sync, then prefix commands with uv run.
Quickstart
Run the MCP server
comem serveThis starts a stdio MCP server (normally launched by an MCP client). It opens no HTTP port and prints no interactive CLI.
The database defaults to ./.coordination-memory/coordination.sqlite3. Override
it with COORDINATION_MEMORY_DB. When several agents/worktrees collaborate, point
all of them at one absolute path outside every worktree, or each worktree
gets its own SQLite copy and the shared memory forks:
COORDINATION_MEMORY_DB=/absolute/path/coordination.sqlite3 \
comem serveDo not commit the SQLite database to Git.
Configure an MCP client
Client config locations differ, but with the command installed the server entry should look like:
{
"mcpServers": {
"coordination-memory": {
"command": "comem",
"args": ["serve"],
"env": {
"COORDINATION_MEMORY_DB": "/absolute/path/coordination.sqlite3"
}
}
}
}Set up your agent
comem init scaffolds onboarding files so your coding agents know
the protocol, then prints this MCP config snippet:
comem init # all tools, current directory
comem init --tools claude,cursor --dir ./my-repoIt writes a canonical Coordination Memory protocol section into AGENTS.md
(idempotently, between markers) and thin per-tool adapters that point to it:
Tool | File written |
Codex, OpenCode |
|
Claude Code |
|
Cursor |
|
GitHub Copilot |
|
Re-running init updates the AGENTS.md section in place (no duplication).
Edit the protocol once in AGENTS.md; the adapters defer to it.
Local loop
comem loop is the local-only scheduler for first-class Codex agent
conversations. The initial release supports --adapter fake for deterministic
testing and a guarded --adapter codex-app-server capability probe for future
local Codex app-server integration.
When Codex creates a workspace, team, and assignments for a plan, ask the user to choose one execution mode before starting work:
codex_subagent(default): the current Codex conversation remains the Integrator, starts Codex subagents as workers, and records claims, heartbeats, handoffs, and reviews in Coordination Memory.comem_loop: Codex startscomem loopwith the selected workspace/team and the loop owns worker claims and thread starts.
Use codex_subagent for the smoothest Codex experience. Use comem_loop when
worker conversations must be independently resumable or scheduler-owned.
Dry-run scheduling:
COORDINATION_MEMORY_DB=/absolute/path/coordination.sqlite3 \
comem loop --workspace <workspace_id> --team <team_id> --adapter fake --dry-run --onceFake local dispatch:
COORDINATION_MEMORY_DB=/absolute/path/coordination.sqlite3 \
comem loop --workspace <workspace_id> --team <team_id> --adapter fake --once
COORDINATION_MEMORY_DB=/absolute/path/coordination.sqlite3 \
comem loop --workspace <workspace_id> --team <team_id> --adapter fake --poll-interval 30Loop-managed assignments should carry metadata.session_bind.target_actor_id
so the scheduler knows the intended worker before any run exists. The actual
Codex thread binding is recorded on the run after claim/start. Project design
and plan context must remain in Markdown files; assignments should reference
those files through metadata context_refs.
Concepts
The store is six core tables:
workspace → team → assignment → run → event, plus actors.
An assignment is a unit of work. Claiming one starts a run and takes a lease. Events are the append-only log (evidence, handoffs, reviews, …).
Actors act in a role:
integrator,agent, orhuman.Mutating writes use optimistic concurrency: each carries the current
base_revisionand bumps the revision.
Event statuses an agent may submit: proposed, observed,
completed_gate_passed, completed_gate_failed. Decision statuses are
integrator-only: integrator_accepted, integrator_rejected, needs_fix.
completed_gate_passed is not accepted truth — only an integrator review
decision produces accepted state.
Tools
Coordination
Tool | Role | Purpose |
| any | register/refresh an actor profile |
| any | create/refresh a workspace record (idempotent) |
| any | create/refresh a team (auto-creates its workspace) |
| integrator | create a task (optional workspace/team/paths/criteria) |
| integrator | void / retire a task (releases any lease) |
| agent | claim a lease; records run/session/worktree metadata |
| agent | report run liveness |
| agent | refresh the human-only latest Brief without changing run status |
| agent | write yellow/green non-blocking Attention; green resolves a dedupe key |
| agent / human | use the red/blocking path, optionally with a Decision Packet, and move a run to/from an awaiting-human lane |
| agent | append evidence / submit a reviewable handoff |
| any | reviewable events with no decision yet |
| integrator | record a review decision |
| any | coordination read models |
| any | reconstruct latest human projections from the event ledger |
| integrator | accepted projection (see below) |
Acceptance contracts
create_acceptance_contract, add_invariant, raise_deviation,
bind_assignment_to_contract, seal_contract, report_verification,
evaluate_contract, accept_contract, reject_contract, waive_deviation,
reopen_contract, get_contract_detail, list_contracts.
Mutating tools take a base_revision and reject stale writes. Run/intervention
tools only change local lanes and the event timeline; they never execute commands,
resume threads, or touch files.
Human Brief and Attention
Use checkpoint_run to refresh the human-only latest Brief without changing the
run status. Use raise_attention for non-blocking yellow/green updates; a green
update resolves the matching dedupe_key. Use request_intervention for the
red/blocking path when execution must wait for a person; it may include a
structured decision_packet. Read the latest ledger-derived views with
get_human_brief and get_attention_board:
get_human_brief({"run_id": "run_123"})
get_attention_board({"team_id": "default", "target": "human", "include_green": false})See the tool reference for complete write examples and Decision Packet semantics.
Acceptance contracts (goal-level governance)
An acceptance contract is a first-class object that sits above assignments and defines machine-checkable, non-self-certifiable acceptance criteria for a goal-level outcome. It is a structural protection layer whose purpose is to make "the implementer declares it done" impossible.
Data model
Table | Role |
| the contract: |
| one machine-checkable predicate per row: |
| append-only probe results: |
| a deviation/shortcut register: |
Three gates
seal_contract(drafting → criteria_sealed) — refuses to seal unless there is at least one deny test, at least one second-instance test, every invariant has a probe spec, and the bound acceptor is not an actor that ran a bound assignment. Invariants freeze after seal; the only way to change them isreopen_contract(a loud reset that clears the seal and prior probe results).evaluate_contract— the objective gate and self-healing loop driver. It needs no acceptor, so the loop self-drives. If every required invariant's latest result ispassedand no blocker is open →awaiting_acceptor. Otherwise it bumps the attempt and emits a bound repair assignment for an external scheduler/runner to pick up; bounded bymax_repair_attemptsand a no-progress brake (failing set must strictly shrink), after which it escalates toawaiting_human. A bound runner cannot callevaluate/accepton its own contract.accept_contract(awaiting_acceptor → accepted) — only the independent acceptor may sign off, certifying the invariant set adequately covers the goal (green is already objective fact).reject_contractsends it toawaiting_human.
drafting ──seal──▶ criteria_sealed ──(report_verification)──▶ verifying
│
evaluate (objective gate)
┌─────────────────────────────┼──────────────────────────┐
all required green some failed / open blocker
AND no open blocker │
│ enter repair loop (bounded)
awaiting_acceptor │
│ repair_attempt > max OR
accept / reject no-progress → awaiting_human
│
accepted / awaiting_humanThe gate logic lives entirely in the store layer (store.py) — there is no prompt
or client that can bypass it.
Dashboard (local management console)
A local, single-page management dashboard over the same SQLite memory. A small
stdlib HTTP server serves the Svelte/Vite-built static SPA plus JSON APIs. Read
APIs open the DB with mode=ro + query_only and fail rather than creating a
missing DB. The only write action is Archive workspace, which soft-updates
workspaces.status to archived through
POST /api/workspaces/<id>/archive; it never deletes tasks, runs shell, deploys,
or pushes.
COORDINATION_MEMORY_DB=/absolute/path/coordination.sqlite3 \
comem dashboard --host 127.0.0.1 --port 8765
Open http://127.0.0.1:8765/. The Overview starts with Human Attention:
red items require intervention now, yellow items are safe to digest later, and
resolved green items stay collapsed into the count. The assignment lifecycle
board remains directly below it. The console also includes an Acceptance
Contracts section, a Workspaces management page, workspace detail pages,
and drill-downs for a contract, assignment, or run. Assignment and run pages
show the latest Human Resume Brief when one exists, followed by the existing
evidence and event detail. A team switcher and a 5s auto-refresh (overview only,
paused while you select text or the tab is hidden) live in the header, and the
header shows a build hash so you can tell when the UI changed. The same data is
available as JSON:
/api/workspaces, /api/workspaces/<id>, POST /api/workspaces/<id>/archive,
/api/board, /api/governance, /api/contracts (+ /api/contracts/<id>),
/api/assignments/<id>, /api/runs/<id>, /api/runs/<id>/brief,
/api/attention (with team_id, target, and include_green=true|false),
/api/teams, /api/reviews, /api/version.
Accepted projection (export)
get_snapshot returns the accepted read model derived from the store — only events
an integrator accepted. export_git_projection writes (integrator-only) to a
directory you choose:
{ "output_dir": "/tmp/coordination-projection", "actor_role": "integrator" }produces:
/tmp/coordination-projection/coordination-memory/snapshots/accepted-state.json
/tmp/coordination-projection/coordination-memory/events/accepted-events.mdReview the export before committing it anywhere. The tool writes only to the directory you pass; it never overwrites other files.
Security boundaries
Does not read or commit
.envfiles; does not store secrets, tokens, passwords, or private keys. Contractprobe_spec, verificationevidence, and all metadata hold references only (paths, commits, hashes).Does not execute deployments, shell commands, or version-control pushes. The acceptance-contract repair loop only emits an assignment record; execution stays in your own (externally authorized) scheduler/runner.
Dashboard read APIs are read-only. The dashboard's only write action is Archive workspace, a soft workspace status update; it does not delete data, execute commands, deploy, or push.
Development
uv sync
uv run pytest -q
uv run ruff check src tests # lint
uv run ruff format --check src tests
uv run mypy src # type check
uv run pre-commit install # optional: run lint/format on commit
npm test # frontend unit tests
npm run build # rebuild Svelte dashboard static assetsMore docs: docs/ (quickstart, concepts/governance, tool reference, examples). See CONTRIBUTING.md for the invariants a change must preserve, and CHANGELOG.md for release notes.
License
MIT.
Available Tools
42 toolsaccept_contractC
Bound acceptor signs off that invariants adequately cover the goal.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | ||
| actor_role | Yes | ||
| contract_id | Yes | ||
| base_revision | Yes | ||
| decision_note | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 behavior disclosure. It indicates a sign-off action, but it does not disclose side effects, whether the contract transitions to an accepted state, whether the action is reversible, what permissions are required, or what happens if the base_revision is stale.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence with no filler and the key acceptance criterion is front-loaded. It is arguably too terse for the tool's complexity, but it earns its place and does not repeat the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five required parameters, no annotations, no schema descriptions, and a workflow with many sibling contract/review tools, the description is incomplete. It leaves out the workflow position, side effects, role requirements, and parameter roles, relying too heavily on inferred domain knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for five required parameters, and the description does not explain any of them. Terms like contract_id and actor_id may be guessable, but base_revision and actor_role are left entirely unexplained, and decision_note's purpose is not described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('signs off') on a specific resource (the contract) and adds the defining criterion: the invariants adequately cover the goal. It is not a tautology and is reasonably distinguishable from reject_contract or evaluate_contract, though it does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: this tool should be called when a bound acceptor concludes that invariants adequately cover the goal. However, there is no explicit guidance about when not to use it, what conditions must be true before calling, or how it relates to reject_contract, waive_deviation, or seal_contract.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accept_eventC
Integrator-only accept decision.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | ||
| event_id | Yes | ||
| actor_role | Yes | ||
| base_revision | Yes | ||
| decision_note | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits itself. It only states an access restriction ('integrator-only') and an action ('accept decision'), but it does not describe side effects, state changes, permissions needed beyond role, or what happens after the acceptance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and waste-free, but it is under-specification rather than effective conciseness. A few words do not provide enough information for a tool with five required parameters and a meaningful workflow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is fundamentally incomplete. It lacks context about the event-review lifecycle, when 'accept' is appropriate versus reject or review, what constraints apply, and how the required parameters should be determined. The tool is left almost entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description contributes nothing about event_id, actor_id, actor_role, base_revision, or decision_note. The agent receives no help understanding what these parameters mean or how they relate to the acceptance action.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'accept decision' gives a general sense of the operation and 'integrator-only' adds a role restriction, but it never names the resource explicitly as an event. It is too terse to be fully clear and relies heavily on the tool name to carry meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is 'integrator-only,' which hints at who may invoke it but not when it should be used. It does not contrast with sibling tools such as review_event or reject_event, nor does it explain the decision flow or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_invariantB
Add a machine-checkable invariant (drafting only; frozen after seal).
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| actor_id | Yes | ||
| required | No | ||
| actor_role | Yes | ||
| probe_kind | Yes | ||
| probe_spec | Yes | ||
| contract_id | Yes | ||
| description | Yes | ||
| is_negative | No | ||
| base_revision | Yes | ||
| is_second_instance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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. It reveals that adding is drafting-only and becomes frozen after seal, but it does not mention mutation effects, permissions, idempotency, overwrite behavior, or what causes the draft to freeze.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no filler and the core action placed first. It is somewhat too terse for an 11-parameter tool, but as written it earns each word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, 8 required, a nested object, and zero schema explanations, the description is not complete enough for an agent to understand prerequisites, concurrency via base_revision, actor authorization, or the semantics of negative/second instances. The output schema helps with return shape, but significant context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description gives no parameter-level guidance. 'Machine-checkable invariant' weakly hints at probe_spec and probe_kind, but contract_id, actor_id, actor_role, base_revision, is_negative, and is_second_instance remain unexplained, leaving the agent to guess their meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Add') and a specific resource ('machine-checkable invariant'). The phrase 'drafting only; frozen after seal' adds useful lifecycle context, but it does not explicitly differentiate this tool from sibling tools by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear temporal usage boundary: invariants can be added only while the contract is in drafting, and they become frozen after sealing. It does not name alternative tools, but the when-to-use and when-not-to-use context is explicit enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
append_eventC
Append a structured coordination event without mutating history.
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| payload | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| event_type | Yes | ||
| assignment_id | Yes | ||
| base_revision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. The phrase 'without mutating history' offers a hint about side effects, but it is ambiguous and potentially confusing. The description does not mention revision conflict handling, validation rules, side effects on related records, or failure modes, which are likely relevant given the required 'base_revision' parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence with no wasted words. It front-loads the action and resource, then adds a key constraint. Despite being terse, it earns its length by stating the core purpose without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool – seven required parameters, a nested payload object, an output schema, and a large set of sibling tools – the description is far too sparse. It provides no information about parameter semantics, event format, when to use this tool, or expected behavior on conflict. An agent cannot reliably select and invoke this tool with only this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no explanation of any of the seven required parameters. Terms like event_type, status, actor_role, and base_revision are left undefined, and the payload object's structure is completely unspecified. The description fails to compensate for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Append') and a specific resource ('structured coordination event'), making the core operation clear. It also adds a behavioral qualifier ('without mutating history') that helps set it apart from tools that modify existing data. However, it does not explicitly distinguish itself from sibling event-specific tools like accept_event or reject_event, leaving some ambiguity about when this generic append is appropriate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. Sibling tools like accept_event, reject_event, and review_event suggest more specific actions, but there is no statement of when append_event is the right choice. An agent is left to infer the intended usage 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.
archive_workspaceA
Archive a workspace. Integrator-only; this is a soft status change.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_role | Yes | ||
| workspace_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It does disclose a key behavioral trait: this is a 'soft status change,' meaning it is not a hard deletion. However, it does not explain whether the operation is reversible, what happens to associated items, or what side effects may occur beyond the status change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise: two short sentences, no filler, and the key constraints are front-loaded. Each phrase adds meaningful information: the action, the role restriction, and the non-destructive nature of the change.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a simple status-change tool with only two parameters and an output schema present, the description is reasonably complete in framing the action. However, the absence of parameter documentation and any guidance on expected behavior or reversibility leaves notable gaps for an agent selecting and invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides only minimal parameter context. 'Integrator-only' hints at the purpose of actor_role, but workspace_id and actor_role are otherwise undocumented. The description does not adequately compensate for the absence of parameter descriptions in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Archive') and resource ('workspace'), and clarifies the nature of the operation as a 'soft status change.' This clearly distinguishes it from sibling tools like register_workspace, list_workspaces, and get_workspace_detail, which perform create/read operations rather than state changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description communicates an important usage constraint: 'Integrator-only.' However, it does not explicitly state when to use this tool versus alternatives, nor does it mention when not to use it. Usage context is implied rather than explicitly provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bind_assignment_to_contractC
Bind a work assignment to a contract for independence tracking.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | ||
| actor_role | Yes | ||
| contract_id | Yes | ||
| assignment_id | Yes | ||
| base_revision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 only says the action is 'for independence tracking' and does not disclose whether the operation mutates state, requires specific authorization, is reversible, or triggers downstream effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or repetition. It is efficient and readable, though its brevity comes at the cost of missing important operational and parameter detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation-like operation with five required parameters and no annotations, the description is too thin to enable correct invocation. It omits when to use the tool, what binding operationally involves, and parameter semantics; the presence of an output schema only covers return-format expectations, not invocation requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explain any of the five required parameters. The roles of actor_id, actor_role, and base_revision in particular are left entirely to inference, so the description adds no semantic value beyond the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Bind') and clearly identifies the resource relationship (work assignment to contract). The phrase 'for independence tracking' provides additional context about why the binding matters, making the operation reasonably distinguishable from generic tool names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. With over 40 sibling tools in the contract/assignment domain, the agent is given no routing context, preconditions, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_assignmentB
Integrator-only: void an assignment (mistake/scope dropped). Releases any lease.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| assignment_id | Yes | ||
| base_revision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses that the tool voids an assignment and releases any lease, which is meaningful. However, it does not mention other potential side effects, irreversibility, or downstream impacts on contracts or workflows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact, with the eligibility constraint, purpose, rationale, and a key side effect all packed into one sentence. Every word earns its place and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool has five required parameters with zero semantic guidance and no annotation coverage. The description gives useful context about when to cancel, but it is not enough for an agent to correctly construct a valid invocation; parameter meaning and expected values remain unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explain any of the five required parameters beyond implying a reason. assignment_id, actor_id, actor_role, base_revision, and reason are all undocumented in both the schema and description, so an agent cannot determine their meanings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool voids an assignment, with a specific verb and resource, and adds the typical use case of a mistake or dropped scope. However, it does not explicitly distinguish this from the sibling supersede_assignment, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: this is integrator-only and intended for voiding assignments due to mistakes or dropped scope. It does not explicitly list when-not-to-use or name alternatives like supersede_assignment, so it lacks exclusions but still gives usable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkpoint_runA
Refresh the latest human-facing Brief without changing run status.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | ||
| run_id | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| client_update_id | Yes | ||
| source_event_sequence | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It clearly communicates the key boundary: the brief is refreshed but run status is unchanged. However, it does not disclose whether the previous brief is overwritten, whether ordering constraints matter, or whether any permissions or prerequisites exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loading the action and the key constraint. It conveys maximum relevant information in minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 required parameters, no annotations, and no usage guidance, a one-sentence description is incomplete. While the output schema exists, the description still omits parameter semantics, ordering expectations, and side-effect details, making it hard for an agent to invoke correctly without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only hints that `brief` carries the new human-facing Brief. The other five required parameters (run_id, actor_id, actor_role, client_update_id, source_event_sequence) are not explained, leaving the agent without sufficient guidance for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Refresh') with a clear resource ('latest human-facing Brief') and an explicit scope constraint ('without changing run status'). This distinguishes it from siblings like heartbeat_run, which change run status, and from read-only tools like get_human_brief.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: refresh the brief while preserving run status. However, the description does not explicitly state when to use this tool versus alternatives, nor does it mention when not to use it. No sibling tool or condition is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claim_assignmentC
Claim an assignment lease with optimistic concurrency.
| Name | Required | Description | Default |
|---|---|---|---|
| branch | No | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| base_commit | No | ||
| session_ref | No | ||
| session_kind | No | ||
| assignment_id | Yes | ||
| base_revision | Yes | ||
| worktree_path | No | ||
| interactive_url | No | ||
| resume_of_run_id | No | ||
| lease_ttl_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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. It only signals that the operation is a state-changing claim guarded by optimistic concurrency, but it does not disclose what happens on a revision conflict, whether the lease is exclusive, whether prior leases are replaced or expired, or any side effects. The single behavioral trait named is helpful but far from sufficient for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is tight and front-loaded with zero wasted words, but it is under-specified rather than appropriately concise for a tool with 12 parameters, no schema descriptions, and no annotations. This is closer to the under-specification pattern than to genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, 4 required, a mutating lease operation with concurrency semantics) and the absence of annotations and schema descriptions, a one-sentence description is grossly inadequate. The output schema covers return values, but failure behavior, conflict semantics, lease exclusivity, TTL implications, and prerequisites are all unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only loosely implies semantics for a few required parameters: assignment_id/actor_id/actor_role via 'claim', and base_revision via 'optimistic concurrency'. The eight optional parameters (branch, base_commit, session_ref, session_kind, worktree_path, interactive_url, resume_of_run_id, lease_ttl_seconds) receive no meaning at all, leaving an agent to guess their purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('claim') and resource ('assignment lease'), and the 'optimistic concurrency' qualifier adds technical specificity that helps an agent anticipate revision-based conflict checking. It is clearly distinguishable from siblings like cancel_assignment, supersede_assignment, and create_assignment, though it does not explicitly explain what a lease is or how claiming one relates to record_run_binding or bind_assignment_to_contract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus the many sibling tools that touch assignments (create_assignment, get_assignment_detail, record_run_binding, bind_assignment_to_contract). There are no stated prerequisites, no exclusions, and no mention of when claiming a lease is the right operation versus an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_acceptance_contractC
Open a goal-level acceptance contract (Integrator-only, base_revision=0).
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| team_id | No | default | |
| actor_id | Yes | ||
| metadata | No | ||
| actor_role | Yes | ||
| contract_id | Yes | ||
| workspace_id | No | default | |
| base_revision | Yes | ||
| goal_statement | Yes | ||
| author_actor_id | No | ||
| max_repair_attempts | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does reveal an important authorization restriction (Integrator-only) and a structural constraint (base_revision=0). However, it does not mention lifecycle effects, idempotency, failure conditions, or what happens after the contract is opened.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, and the most important constraints are front-loaded. It is concise, though perhaps too terse given the tool's parameter complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, 6 required, no annotations, and a complex domain with many sibling contract lifecycle tools, this description is incomplete. The output schema covers return values, but the description still fails to explain parameter meaning, usage context, or behavioral consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description must compensate for 11 undocumented parameters. It adds meaning for base_revision by stating it must be 0 and hints at authorization via actor_role, but provides no explanation for contract_id, goal_statement, actor_id, title, or the other required fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Open') with a clear resource ('a goal-level acceptance contract') and adds a key constraint ('Integrator-only, base_revision=0'). It is understandable on its own, but does not explicitly distinguish itself from sibling tools like accept_contract or reopen_contract.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when this tool should be used—when opening a new acceptance contract—but provides no explicit guidance on when to prefer it over alternatives such as accept_contract, seal_contract, or evaluate_contract. The Integrator-only note is a prerequisite rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_assignmentC
Create an assignment. Integrator-only; starts with base_revision=0.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| team_id | No | default | |
| actor_id | Yes | ||
| metadata | No | ||
| actor_role | Yes | ||
| workspace_id | No | default | |
| allowed_paths | No | ||
| assignment_id | Yes | ||
| base_revision | Yes | ||
| acceptance_criteria | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds the integrator-only restriction and an initial base_revision note, but does not mention side effects, persistence behavior, failure modes, or what the returned assignment looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and front-loaded, with no filler. However, it is terse to the point of omitting important context, so it earns high marks for conciseness but not perfect marks for structure/usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter creation tool with no annotations and no meaningful parameter documentation, two brief facts are insufficient. The output schema helps with return shape but does not compensate for the missing input semantics and usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 obliquely references base_revision. It does not explain assignment_id, actor_id, actor_role, title, team_id, workspace_id, allowed_paths, acceptance_criteria, or metadata, leaving the agent without meaningful parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Create an assignment.' It is reasonably distinct from sibling tools like claim_assignment or create_acceptance_contract, though it does not explicitly differentiate itself from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a usage precondition ('Integrator-only') and an initial condition ('starts with base_revision=0'), but gives no guidance on when to use this tool versus alternatives such as create_acceptance_contract or bind_assignment_to_contract.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_teamC
Create or refresh a local coordination team.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| team_id | Yes | ||
| settings | No | ||
| phase_key | No | ||
| workspace_id | Yes | ||
| owner_actor_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It mentions 'Create or refresh,' hinting at possible idempotency or upsert behavior, but it does not explain side effects, prerequisites, permissions, what 'refresh' entails, or what happens to an existing team.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words and the core action is front-loaded. However, it achieves conciseness by omitting valuable context, so it is not a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six parameters, four required fields, and no annotations, this description is far too thin. The output schema reduces the need to explain return values, but the description still leaves major gaps around what a 'local coordination team' is, how 'refresh' behaves, and what the required identifiers mean.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description provides no meaning for any of the six parameters, including required ones like team_id, workspace_id, name, and owner_actor_id. The phrase 'local coordination team' only weakly implies what some parameters might represent, so the description fails to compensate for the schema's lack of documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific verb ('Create or refresh') and a resource ('local coordination team'), which is clear enough to understand the tool's core purpose. It does not explicitly differentiate from sibling tools, but the tool name and stated resource make its role reasonably distinct from creation/registration tools for other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to use this tool versus alternatives such as register_workspace, register_actor, create_assignment, or get_team_board. The intended call context is only implied by the name 'create_team' and the high-level phrase 'local coordination team.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluate_contractC
Run the objective gate; green advances to awaiting_acceptor, else dispatches repair.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | ||
| actor_role | Yes | ||
| contract_id | Yes | ||
| base_revision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does disclose the key conditional behavior: green advances to awaiting_acceptor, otherwise repair is dispatched. But it omits side effects, permission requirements, whether changes are reversible, and what a dispatched repair entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loads the action, followed by a compact conditional outcome. However, the term 'green' is somewhat jargon-heavy, and the extreme brevity sacrifices some clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description fails to provide essential context for a mutation-like workflow tool: what the objective gate evaluates, what triggers repair, who is allowed to call this, and how the required parameters relate to the gate. This is incomplete for an agent deciding whether and how to invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no explanation of contract_id, actor_id, actor_role, or base_revision. The description does not compensate for the missing parameter details, leaving agents to guess the role of base_revision and the meaning of actor_role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource combination ('Run the objective gate') and clarifies that it is an evaluation step that routes to awaiting_acceptor or repair. It is distinct from sibling tools like accept_contract and reject_contract because it describes a gate, not a terminal decision, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool applies: it is the objective gate before a contract can move to awaiting_acceptor. However, it gives no explicit when-to-use guidance, no exclusions, and does not mention alternatives such as reject_contract, waive_deviation, or accept_contract.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_git_projectionC
Integrator-only export to a Git-compatible projection directory.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_role | Yes | ||
| output_dir | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. 'Export' implies writing artifacts to an external directory, and 'Git-compatible' hints at the output format — both useful. But it does not disclose whether the output directory is overwritten, whether it must pre-exist or is created, what a 'projection' contains, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single seven-word sentence with the 'Integrator-only' constraint front-loaded ahead of the action. No wasted words, and the structure is efficient. Slightly under-specified given the 0% schema coverage, but as a concise statement it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 covered elsewhere, but the description omits critical behavioral context: what exactly gets exported, how the output directory is treated (create vs. overwrite vs. require-existing), and how actor_role is validated against the 'Integrator-only' constraint. For a tool that writes to an external filesystem location, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 so indirectly: 'Git-compatible projection directory' implies the meaning of output_dir and 'Integrator-only' implies the value/meaning of actor_role. But neither mapping is explicit, and the agent must infer these connections rather than being told.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'export to a Git-compatible projection directory,' which is clear and distinct among the sibling tools (no other export tool exists). The 'Integrator-only' qualifier adds scope. However, it never specifies what data is being exported (the 'projection' of what?), leaving some ambiguity about the exported content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is 'Integrator-only,' which is a role restriction rather than when-to-use context. It names no alternative tools, no conditions that trigger export, no exclusions, and no prerequisite steps. An agent gets no help deciding between this and the many sibling tools beyond the export verb itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_assignment_detailB
Return an assignment with its run and event timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| assignment_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden for behavioral disclosure. 'Return' conveys a read operation, and the mention of 'run and event timeline' adds some behavioral context about the response composition. However, it does not disclose not-found behavior, permissions, pagination, or any error-related caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. Every part of it conveys meaningful information about the resource and what is included in the result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one parameter and an output schema available, the description is minimally adequate: it names the resource and the main related entities returned. Yet it lacks guidance on when to choose this over sibling detail tools, and with no annotations it does not fully cover behavioral expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explain assignment_id beyond the parameter's own name and title. The description's mention of 'assignment' creates a loose link, but it adds no format, source, or usage semantics for the sole required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Return') and names a specific resource ('an assignment') with its composed contents ('run and event timeline'). This is enough to understand what the tool does, and the composition narrows it versus get_run_detail or get_workspace_detail, though it does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus sibling detail getters such as get_run_detail, get_workspace_detail, or get_contract_detail. The tool's purpose implies use when an assignment's full detail is needed, but no context, exclusions, or preferred alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_attention_boardB
Reconstruct Attention for a team and target from the event ledger.
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | human | |
| team_id | No | default | |
| include_green | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. 'Reconstruct ... from the event ledger' usefully indicates that the result is computed from events rather than directly stored, and 'get_' implies a read-like operation. However, it does not explicitly state side effects, permissions, or how reconstruction treats green items.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single active, front-loaded sentence with no filler; the verb and object come first. It is suitably brief but slightly under-specified, so it does not earn the top score for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple and has an output schema, so the description does not need to explain return values. It is adequate for a basic call, but the undefined include_green semantics and the lack of distinction from similar board tools leave clear gaps for an agent choosing and invoking it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to compensate by explaining the parameters. It loosely maps 'team and target' to team_id and target, but it says nothing about include_green, which is domain-specific and not self-explanatory. This is only partial compensation for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Reconstruct') and resource ('Attention') scoped by team and target, which makes the core purpose clear. It does not explicitly contrast this with the similar get_team_board sibling, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Reconstruct Attention for a team and target from the event ledger' implies when to use the tool: when a derived attention board is needed. It does not provide explicit when-not-to-use guidance or name alternatives such as get_team_board or raise_attention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contract_detailA
Return a contract with its invariants, deviations, and verification history.
| Name | Required | Description | Default |
|---|---|---|---|
| contract_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It communicates a read-style retrieval operation and lists what is returned, but it does not mention not-found behavior, authorization, or side effects. This is acceptable for a simple get operation but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence states the operation and the key included subresources with no filler. The most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter retrieval tool with an output schema, the description is largely sufficient: it identifies the resource and what the returned detail contains, while the output schema covers the exact return shape. It could add a note contrasting it with list_contracts or get_snapshot, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description never mentions contract_id or explains how the target contract is identified. With 0% schema description coverage, this is a gap, though the parameter name and title are self-explanatory enough to make the invocation possible.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and resource ('a contract'), and specifies the three relevant aspects: invariants, deviations, and verification history. This clearly distinguishes it from list-style or assignment/run detail tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this tool when you need a single contract and its invariants, deviations, and verification history. It does not explicitly name alternatives or exclusion conditions, but the purpose is specific enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_human_briefC
Reconstruct the latest human-facing Brief from the event ledger.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry the burden of behavioral disclosure. 'Reconstruct from the event ledger' implies a deterministic, read-only derivation rather than a direct stored-object lookup, which is useful, but it does not disclose side effects, failure behavior, data availability, or whether reconstruction can fail when the ledger is incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. The key action and target are front-loaded, and every word contributes to the core meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 do not need to be described, the tool lacks annotations, usage guidance, and parameter semantics. For a simple one-parameter tool an agent can probably attempt the call, but it is not fully equipped to know when this tool is the right choice or what run_id must represent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 only parameter, run_id. The property name and title give some basic meaning, but the description adds no value about what run_id refers to, how to obtain it, or how it affects the reconstruction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Reconstruct'), a specific resource ('latest human-facing Brief'), and the source ('event ledger'), so an agent can tell this is a read-model reconstruction rather than a generic fetch. It does not explicitly distinguish it from sibling getters like get_run_detail or get_snapshot, but the 'human-facing Brief' phrasing narrows it meaningfully.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no indication of when to use this tool versus alternatives such as get_run_detail, get_snapshot, or get_team_board. It also does not mention any prerequisites, such as needing an active run or recorded events, so an agent is left 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.
get_run_detailC
Return one run with its event timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description has to carry the behavioral burden, but it only states the returned content. It doesn't disclose error behavior for unknown run IDs, ordering or semantics of the event timeline, read-only status, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the verb and key content front-loaded, containing no filler or repetition. It is appropriately sized for a one-parameter detail lookup.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists and the tool is a simple getter, the absence of id semantics, behavior notes, and usage context leaves an agent under-informed. The description is clear about the core outcome but not enough about invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to run_id beyond what the schema's name and type already show. The phrase 'one run' weakly implies that run_id selects a run, but no format, uniqueness, or lookup semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Return'), a clear resource ('a run'), and the distinguishing payload ('its event timeline'), so an agent can tell this from generic detail tools. It is not a tautology of the tool name, though it doesn't explicitly contrast with sibling detail tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no indication of when to choose get_run_detail over nearby tools such as get_snapshot or get_assignment_detail. The selection context 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.
get_snapshotC
Return the derived accepted-state snapshot.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full behavioral burden. It only says the snapshot is 'derived' and 'accepted-state,' but does not disclose whether the snapshot is cached, computed on demand, read-only by design, or subject to staleness. No side effects or access requirements are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler, front-loading the action and object. It is efficient, though very sparse and lacking contextual anchors.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and there are no parameters, the main gap is contextual: the description does not explain what an 'accepted-state snapshot' is or when to query it relative to the many sibling tools. The one-line description is insufficient for an agent navigating a large toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and its schema is empty, so the description cannot add parameter meaning. Per the zero-parameter baseline, this is appropriate and the description does not mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb and resource: 'Return the derived accepted-state snapshot.' However, 'derived accepted-state' is domain-specific and not explained, and the description does not distinguish this snapshot tool from sibling query tools like get_team_board or get_contract_detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks any conditions, exclusions, or mentions of sibling tools, leaving the agent without routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_team_boardC
Return a team's assignment lanes from the local store.
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | No | default |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 implies a read operation via 'Return' and notes the 'local store' source, but it does not disclose side effects, error behavior, freshness, permissions, or what happens when the team does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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, target, and source, making it easy to scan and process.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple and has an output schema, the description lacks usage guidance, parameter semantics, and sufficient distinction from sibling tools. For a tool with no annotations and no schema parameter descriptions, this is too thin to fully guide correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'team_id' at all, leaving its meaning, requiredness, and format implicit. The parameter name and 'default' value offer some signal, but the description 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Return'), a concrete resource ('a team's assignment lanes'), and a data source ('local store'). It is clear about what the tool does, though it does not explicitly distinguish itself from sibling board-related tools like get_attention_board.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over alternatives such as get_attention_board or get_workspace_detail. There is no mention of conditions, prerequisites, or exclusions, leaving usage context entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspace_detailA
Return one workspace with its teams, assignments, and status counts.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. 'Return' implies a read-only operation and the description specifies the returned payload, but it does not explicitly state there are no side effects, mention auth requirements, or cover 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler. It front-loads the action and resource, then adds the specific contents. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 with an output schema, this description is mostly complete: it states what is returned and the scope. It lacks explicit usage boundaries versus siblings and behavioral notes, but the output schema covers return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the only parameter. The description's 'one workspace' implies that workspace_id selects the workspace to return, which adds some meaning past the bare schema title. However, it does not explicitly explain the parameter's role or any constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and a specific resource ('one workspace') with the exact contents included ('teams, assignments, and status counts'). The singular 'one workspace' clearly differentiates it from the sibling list_workspaces and other detail tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use this tool: when a single workspace's details are needed. However, it does not explicitly name alternatives or state when not to use it, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
heartbeat_runC
Record run liveness and keep the assignment in a running lane.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | ||
| summary | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 explains the intended effect—recording liveness and preserving running state—but does not mention side effects, idempotency, prerequisites, error behavior, or whether it updates existing state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler or repetition. It is compact and readable, though slightly too terse to compensate for the complete lack of parameter documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four required parameters, no annotations, and zero schema descriptions, the description is not complete enough for an agent to invoke the tool confidently. It conveys the general purpose but leaves parameter semantics and usage conditions unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description names none of the four required parameters. An agent cannot determine what 'summary' means in a heartbeat context, what actor_role values are expected, or how run_id and actor_id relate to the operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action—'Record run liveness'—and adds a meaningful outcome: 'keep the assignment in a running lane.' It is clear about the resource and purpose, though it does not explicitly differentiate itself from siblings like checkpoint_run or record_run_binding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'keep the assignment in a running lane' implies this tool is used to maintain an assignment's active/running status via repeated heartbeats. However, it does not explicitly state when to prefer this over alternatives or exclude any sibling tools, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_contractsA
List acceptance contracts, optionally filtered by workspace or team.
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | No | ||
| workspace_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'List' strongly implies a read-only operation, and the filter behavior is disclosed. However, it does not confirm absence of side effects, mention access requirements, pagination, or result scoping, leaving moderate gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence with a clear verb, resource, and filter context. No fluff, no repetition of schema details, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is an output schema, so return values need not be described. The tool is simple with two optional params, but the description omits details like whether both filters can be used together, filter combination logic, and pagination behavior. It is adequate for straightforward calls but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description's phrase 'filtered by workspace or team' is the main semantic signal for team_id and workspace_id. It clarifies that these are optional filters, which adds meaning beyond the raw schema, though it does not explain whether they can be combined or how they interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('List acceptance contracts') and notes optional filters, making its purpose immediately clear. It is distinct from siblings like get_contract_detail (single contract), create_acceptance_contract (creation), and list_workspaces (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (listing contracts, optionally scoped by workspace or team) but does not contrast it with alternatives such as get_contract_detail or list_pending_reviews. No explicit when-not-to-use guidance is given, though the filter context provides some situating.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pending_reviewsA
List reviewable events that do not yet have an Integrator decision.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It transparently conveys that this is a query for pending items and the filter criterion is having no Integrator decision. An explicit read-only statement would strengthen it, but the 'List' verb plus the pending filter makes the behavior clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that says exactly what the tool does with no filler. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with an output schema available, the description is fully sufficient. It states the operation and the exact selection predicate; nothing about return shape or invocation details is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty, so there are no parameters to explain. The baseline of 4 for a zero-parameter tool applies, and the description does not need to compensate for any schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and a precise resource ('reviewable events that do not yet have an Integrator decision'). It clearly distinguishes this read-only listing operation from action-oriented siblings like review_event, accept_event, and reject_event.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: call this when you need to see reviewable events lacking an Integrator decision. However, it does not explicitly state when to prefer this over related tools or mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspacesA
List workspaces with assignment status counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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. It does clarify the output shape (a list of workspaces with assignment status counts), which is useful, but it does not state whether this is read-only, whether it includes archived or inactive workspaces, or any other behavioral constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter listing tool with an output schema present, the description is largely sufficient: it states the action, resource, and key output content. It could have added whether all workspaces are included, but the low complexity and output schema make this a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline of 4 applies. There are no parameter meanings to clarify, and the description's mention of 'assignment status counts' relates to output rather than input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('List workspaces') and adds a meaningful output detail ('with assignment status counts'). It is clear, but it does not explicitly differentiate itself from sibling tools like get_workspace_detail or list_contracts, so it misses the top tier of distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 tool versus alternatives, no context for when listing workspaces is appropriate, and no mention of exclusions or prerequisites. The usefulness must be inferred entirely from the tool name and one-line description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
raise_attentionC
Write non-blocking yellow or green Attention for a run.
| Name | Required | Description | Default |
|---|---|---|---|
| level | Yes | ||
| run_id | Yes | ||
| target | Yes | ||
| why_now | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| dedupe_key | Yes | ||
| reason_code | Yes | ||
| client_update_id | Yes | ||
| source_event_ids | Yes | ||
| recommended_action | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It does reveal that the tool writes a non-blocking attention, which is useful, but it does not explain side effects, state changes, permissions, or what happens after the attention is written. This is minimal behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words, but it is under-specified rather than appropriately concise. For a tool with 11 required parameters and no annotation support, this is too terse to be considered well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is severely incomplete for an 11-parameter, 11-required tool. It omits parameter semantics, behavioral effects, and usage context, and the large sibling list suggests more guidance is needed to help an agent choose and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description compensates very little. It hints that 'level' may be yellow or green and that 'run' maps to run_id, but 11 required parameters such as actor_id, actor_role, dedupe_key, reason_code, why_now, recommended_action, and source_event_ids are left completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific action ('write'), a specific resource ('Attention for a run'), and a key qualifier ('non-blocking yellow or green'). This is more specific than the tool name alone and helps differentiate it from siblings like request_intervention or raise_deviation, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as request_intervention, raise_deviation, or get_attention_board. The phrase 'non-blocking' implies a contrast with blocking actions, but no explicit context, conditions, 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.
raise_deviationC
Register a shortcut/deviation with a forced disposition.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| contract_id | Yes | ||
| description | Yes | ||
| disposition | Yes | ||
| base_revision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden of behavioral disclosure. The phrase 'forced disposition' hints that the caller supplies the outcome, but it does not explain side effects, permissions, state changes, reversibility, or what happens after registration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single tight sentence with no filler. It front-loads the action and core constraint, which is efficient, though the brevity contributes to under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 required parameters, zero schema descriptions, no annotations, and significant sibling overlap, the description is far too thin. The output schema may clarify return values, but an agent still lacks essential information about parameter semantics, preconditions, and behavioral effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and none of the 7 required parameters are described in the schema. The description only references 'disposition' indirectly and says nothing about contract_id, actor_id, actor_role, base_revision, title, or description. An agent cannot reliably fill these parameters from this definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Register') and a specific resource ('shortcut/deviation'), and adds the key qualifier 'with a forced disposition.' This makes the tool's core action understandable, though it does not explicitly distinguish it from deviation-related siblings like waive_deviation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 raise_attention, request_intervention, or waive_deviation. No context, prerequisites, or exclusions are provided, so an agent must infer usage from the tool name and single sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_run_bindingC
Update active run communication metadata and append an observed event.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| binding_patch | Yes | ||
| event_payload | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only says 'update' and 'append', which implies mutation, but it does not disclose whether metadata is replaced or merged, what happens when event_payload is null, or whether the action is reversible or requires special permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one compact sentence with no filler and front-loads the primary update action. It is concise, though the brevity contributes to the lack of behavioral and parameter detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This tool has five parameters, nested objects, an output schema, and no annotations, yet the description only provides a high-level action. An agent cannot determine correct parameter values, the meaning of actor_role, the shape of binding_patch, or the relationship between this and sibling event/binding tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explain run_id, actor_id, actor_role, binding_patch, or event_payload. It loosely maps 'communication metadata' to binding_patch and 'observed event' to event_payload, but that is too weak to compensate for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names concrete actions ('Update', 'append') and targets ('active run communication metadata', 'observed event'), so it is more than a tautology. However, 'communication metadata' is vague and does not explicitly tie to the 'binding' concept in the tool name, nor does it clearly separate this from sibling tools like append_event.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives. It does not mention append_event, heartbeat_run, checkpoint_run, or any condition that would select this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_actorC
Register or refresh a local coordination actor profile.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | ||
| provider | No | ||
| actor_kind | Yes | ||
| capabilities | No | ||
| display_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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. 'Register or refresh' implies create-or-update semantics, but it does not explain whether refresh overwrites fields, what side effects occur, or whether any permissions are required. This is a significant gap for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no filler, and the core action is front-loaded. It loses points only because it is so terse that it leaves essential context entirely to the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with 0% schema description coverage and no annotations, this description is severely incomplete. It does not explain the meaning of actor kinds or capabilities, the 'local coordination' scope, or the behavior on refresh. An agent cannot invoke this tool correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about any of the five parameters. actor_id, actor_kind, capabilities, provider, and display_name are left entirely to inference from their names, which is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('register or refresh') and a resource ('local coordination actor profile'), and the target object ('actor') differentiates it from workspace- and team-oriented siblings. However, the term 'actor' is domain-specific and not elaborated, so it is not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool versus sibling registration tools, nor on whether 'refresh' should be used for existing actors. The single line offers no context about prerequisites, alternatives, or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_workspaceB
Create or refresh a workspace record (idempotent upsert).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| metadata | No | ||
| repo_root | No | ||
| workspace_id | Yes | ||
| default_branch | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does state a key trait: idempotent upsert semantics, meaning repeated calls are safe and may refresh an existing record. It does not disclose permissions, how missing optional fields are treated, or whether any existing data is cleared.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence with the core action and idempotency parenthetical up front. No filler or repetition; every word contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no annotations and no schema descriptions, this is under-specified. The output schema covers return expectations, but the description still leaves parameter semantics, side effects, and when-to-choose-this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate by explaining what parameters like metadata, repo_root, and default_branch do. It provides no parameter-level information at all, leaving agents to guess from names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation ('Create or refresh'), a target resource ('workspace record'), and a behavioral promise ('idempotent upsert'). It clearly differentiates from siblings like list_workspaces and archive_workspace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'create or refresh' phrasing implies the intended use case: registering or updating a workspace. However, it does not explicitly state when to prefer this over sibling tools or mention preconditions such as requiring workspace_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reject_contractB
Bound acceptor rejects the contract (criteria inadequate); moves to awaiting_human.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | ||
| actor_role | Yes | ||
| contract_id | Yes | ||
| base_revision | Yes | ||
| decision_note | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose the immediate state transition to 'awaiting_human', which is useful. But it does not mention consequences such as whether the rejection is final, whether the contract can be reopened, or what happens to the bound acceptor's obligations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the core action and state change. There is no filler or repetition, and every phrase adds meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-changing workflow tool with five required parameters and no annotations, the description is too thin. It lacks guidance on when to invoke this versus accept_contract, what base_revision represents, how decision_note is used, and what the output will contain beyond the state transition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explain any of the five required parameters. Parameter names like contract_id and actor_id are somewhat self-explanatory, but base_revision and decision_note remain ambiguous, and the description does not compensate for the missing schema-level documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('rejects the contract') and the resource, and adds the specific criterion 'criteria inadequate'. It conveys the primary state change ('moves to awaiting_human'), which helps distinguish it from accept_contract, though it does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when the acceptor finds the criteria inadequate. However, it gives no explicit guidance about when not to use it or how it compares to accept_contract, evaluate_contract, or other related workflow tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reject_eventC
Integrator-only reject decision.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | ||
| event_id | Yes | ||
| actor_role | Yes | ||
| base_revision | Yes | ||
| decision_note | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose an authorization constraint (integrator-only) and implies a mutating decision, but it omits side effects, reversibility, and how base_revision or decision_note affect behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The phrase is very concise and front-loads the role restriction, but it is under-specified to the point of being a fragment. There is no waste, but the compactness is achieved by omitting context rather than by structured explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needs no explanation, but the description still leaves the rejection workflow, parameter meanings, and side effects largely implicit. An agent would need sibling tools and schema names to infer the intended call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 five required parameters. It only hints at actor_role via 'Integrator-only'; event_id, base_revision, and decision_note semantics are left to inference from their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description communicates a rejection action and an integrator role restriction, so it is more than a tautology. However, it is a fragment that never names the event resource or explicitly contrasts with accept_event/review_event beyond the word 'reject'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Integrator-only' is an implicit usage condition: only integrators should invoke this. It does not state when rejection is appropriate or point to alternatives like accept_event, so the agent must infer the workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reopen_contractB
Integrator-only loud reset to drafting; unbinds acceptor, clears verifications.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| contract_id | Yes | ||
| base_revision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and it names concrete behavioral side effects: resetting to drafting, unbinding the acceptor, and clearing verifications. It stops short of explaining reversibility, audit/notification effects, or failure modes, but the core destructive behavior is disclosed. 'Loud' hints at observability but is left undefined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely compact and front-loads the most important qualifier ('integrator-only') and action. The semicolon-separated side effects are efficient, though 'loud' could be clarified without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-required-param mutation with no annotations and zero schema descriptions, a single sentence is insufficient. The agent cannot determine parameter semantics, usage conditions, or full consequences; the output schema helps with return shape but not with calling correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain the five required parameters; it only implies actor_role='integrator' through 'integrator-only.' contract_id, base_revision, reason, and actor_id remain unexplained, especially the revision-checking purpose of base_revision and why reason is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a distinct action—'reset to drafting'—on the contract resource and explicitly lists side effects ('unbinds acceptor, clears verifications'), separating it from accept_contract, seal_contract, and reject_contract. The term 'loud' is jargon but does not obscure the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is 'integrator-only,' which restricts who may call it but not when. It does not state conditions for resetting to drafting, contrast with reject_contract or waive_deviation, or mention prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_verificationB
Report a probe outcome for an invariant (append-only; post-seal only).
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | No | ||
| outcome | Yes | ||
| actor_id | Yes | ||
| evidence | No | ||
| actor_role | Yes | ||
| contract_id | Yes | ||
| invariant_key | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description itself must convey behavior, and it does disclose the key traits of being append-only and post-seal only. This is meaningful because it signals immutability and a lifecycle restriction. It does not cover permission requirements, failure behavior, or duplicate-report handling, leaving some transparency gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with no filler; the action and the two important constraints ('append-only', 'post-seal only') all earn their place. It is well-structured for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool still has 7 parameters (5 required) with no schema descriptions and no annotations. The one-line description does not explain required parameter semantics or operational details such as what counts as a valid outcome or how evidence should be shaped. This is insufficient for reliable invocation without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to explain fields like run_id, outcome, actor_id, evidence, actor_role, contract_id, and invariant_key. 'Invariant' and 'outcome' are the only concepts hinted at; the remaining parameters are left semantically undefined. The description adds only marginal value over the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Report') and a specific object ('probe outcome for an invariant'), so a model can tell what action this tool performs. It also adds 'append-only; post-seal only' scope, which makes the purpose more concrete. It does not explicitly differentiate from siblings like append_event or evaluate_contract, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Post-seal only' gives a clear lifecycle condition for when this tool can be used, and 'append-only' rules out updates. However, no alternative tool is named and there is no explicit 'when not to use' beyond the seal condition, so it does not fully replace comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_interventionC
Move an active run into a local awaiting-human lane.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| run_id | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| decision_packet | No | ||
| intervention_kind | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 only states the high-level action; it does not mention side effects, reversibility, whether the human lane persists, what happens to the run after intervention, or any authorization requirements. This is insufficient for a mutation-style tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence with no filler. It front-loads the action and destination. However, its brevity comes at the cost of omitting essential behavioral and parameter context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has six parameters, five required, no parameter descriptions, and no annotations, a one-sentence description is far from complete. The presence of an output schema reduces the need to document return values, but does not compensate for absent parameter semantics, usage guidance, and side-effect disclosure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to any of the six parameters. Terms like intervention_kind, decision_packet, and actor_role remain completely unexplained. With no enrichment from the description, the agent cannot correctly construct arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Move'), identifies the resource ('an active run'), and states the destination ('a local awaiting-human lane'). It clearly indicates the core operation. It does not explicitly differentiate from siblings like raise_attention, but the core action is understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as raise_attention, respond_intervention, or list_pending_reviews. The description implies the run must be active and the result is local, but it does not state prerequisites, exclusion conditions, or which sibling tools should be chosen instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
respond_interventionB
Record a human response and return the run to local execution.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | ||
| actor_id | Yes | ||
| response | Yes | ||
| actor_role | Yes | ||
| reviewed_event_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It clearly states the main side effect—recording a response and returning the run to local execution—but it does not disclose whether this resolves the intervention, what permissions are required, or how the response is associated with a reviewed event. The core behavior is transparent, though edge details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single tightly worded sentence with no filler. Both clauses earn their place: what is recorded and what effect it has. It is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters, no annotations, zero parameter descriptions, and a large sibling set representing an intervention workflow, this one-sentence description is not complete. It does not explain how this tool fits into the intervention lifecycle, who should call it, or how it relates to pending reviews and rejected/accepted events. The presence of an output schema reduces the need to describe return values, but the missing workflow context remains significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explaining parameters. It indirectly clarifies 'response' as the human response and 'run' as the run being returned to execution, but it does not explain run_id, actor_id, actor_role, or reviewed_event_id. This is insufficient for a 5-parameter tool with no other description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Record') and a clear resource ('a human response'), and it adds the consequence ('return the run to local execution'), which distinguishes it from related tools like request_intervention or review_event. It does not explicitly name a sibling, but the action is specific enough for an agent to infer its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used after an intervention when a human response needs to be recorded, but it offers no explicit guidance on when to choose this over request_intervention, review_event, accept_event, or reject_event. There are no stated exclusions or alternatives, leaving the decision largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_eventC
Append an Integrator review decision for a submitted event.
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | ||
| event_id | Yes | ||
| actor_role | Yes | ||
| base_revision | Yes | ||
| decision_note | Yes | ||
| decision_status | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It states the operation appends a review decision, but it does not explain what happens to the event, whether decision_status triggers a state transition, what base_revision means for concurrency, or what side effects and permissions are involved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 11-word sentence with no filler, front-loading the verb and object. It is appropriately sized and every word contributes to identifying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six required parameters, zero schema descriptions, no annotations, and a large sibling set that includes several review/decision tools, this description is not complete enough for correct invocation. It lacks parameter semantics, behavioral effects, and routing guidance between review_event and accept_event/reject_event.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds almost no parameter-level meaning. It hints that decision_status and decision_note relate to a review decision, but it does not define valid decision_status values, the purpose of base_revision, or how actor_role should be set. This is insufficient compensation for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Append') and a concrete resource ('Integrator review decision' for a 'submitted event'), so the core action is clear. It does not differentiate this tool from closely related siblings such as accept_event, reject_event, or list_pending_reviews, but it is not vague or tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 accept_event, reject_event, or other review-related siblings. The only implicit context is that the event is 'submitted' and the actor is an 'Integrator', but no explicit when-to-use, when-not-to-use, or alternative selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seal_contractC
Seal invariants and bind the independent acceptor (deny+second-instance required).
| Name | Required | Description | Default |
|---|---|---|---|
| actor_id | Yes | ||
| actor_role | Yes | ||
| contract_id | Yes | ||
| base_revision | Yes | ||
| acceptor_actor_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 implies a state change ('seal'/'bind') and hints at a requirement, but it does not explain side effects, reversibility, authorization needs, or what 'deny+second-instance' means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler—the verb and object come first. The parenthetical is compact, though cryptic, so the structure is efficient even if the terminology is not fully accessible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no annotations, this one-liner is incomplete: it omits preconditions, behavioral effects, and clear parameter semantics. The output schema may cover return values, but the input contract and operational context remain under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 map 'independent acceptor' to acceptor_actor_id or explain actor_id, actor_role, or base_revision. The parameter names are somewhat self-explanatory, but with five required parameters and no schema descriptions, this is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses an explicit verb ('Seal') and names the resource ('invariants') plus the act of binding an independent acceptor. It is reasonably clear, but it relies on domain jargon ('deny+second-instance required') and does not explicitly differentiate from sibling contract-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use seal_contract versus related tools such as add_invariant, accept_contract, or reject_contract. The parenthetical hints at a precondition but does not explain it or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_handoffA
Submit a reviewable handoff event; completion is not acceptance.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| assignment_id | Yes | ||
| base_revision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It usefully reveals that submitting a handoff does not mean accepting it, which is a meaningful behavioral nuance. However, it does not mention side effects, review flow consequences, required permissions, or idempotency, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. The core action and the key caveat are both included without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five required parameters including a nested payload, zero schema parameter coverage, and no annotations. The description gives only a high-level purpose and one caveat, but does not explain the roles, revision semantics, payload expectations, or what 'reviewable' entails in practice. The output schema reduces the need to explain return values, but the input contract remains under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no information about any of the five required parameters. In particular, base_revision and payload have no explanation, leaving the agent to guess their meaning and format. The description does nothing to compensate for the schema's complete lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Submit') and resource ('reviewable handoff event'), and the caveat that completion is not acceptance distinguishes this from acceptance-related siblings such as accept_event and reject_event. The purpose is immediately clear and non-tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'reviewable handoff event' gives clear context that this tool creates a handoff intended for review, and 'completion is not acceptance' warns against using it as an acceptance action. It does not explicitly name alternative siblings or define when-not conditions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
supersede_assignmentC
Integrator-only: retire an assignment replaced by another (superseded_by).
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| assignment_id | Yes | ||
| base_revision | Yes | ||
| superseded_by | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of explaining side effects. It discloses an integrator role restriction and a 'retire' state change, but not what retirement does to the assignment, whether it is reversible/destructive, how `base_revision` participates in optimistic concurrency, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single tight sentence with no filler and front-loads the important access restriction. It is slightly too terse to fully carry the tool's contract, but as a concise statement it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema, the 6-parameter mutation with 0% schema coverage and no annotations needs stronger contextual description to be invoked safely. Missing parameter semantics, behavior, and comparison to related assignment tools make the definition incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 six required parameters. It only clarifies `superseded_by`; `assignment_id`, `base_revision`, `actor_id`, `actor_role`, and `reason` receive no explanation beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation—retire an assignment—and identifies the distinguishing condition: it is replaced by another assignment via `superseded_by`. It is not a tautology and generally separates this from the sibling `cancel_assignment`, though it does not explicitly name that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'retire an assignment replaced by another' implies the triggering situation for use, and 'Integrator-only' provides an audience restriction. However, the description does not explicitly say when not to use it or direct the agent to alternatives such as `cancel_assignment`, leaving some selection reasoning to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
waive_deviationA
Acceptor-only: formally downgrade a blocker deviation to acceptable_this_phase.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| actor_id | Yes | ||
| actor_role | Yes | ||
| contract_id | Yes | ||
| deviation_id | Yes | ||
| base_revision | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral disclosure burden. It does disclose an authorization constraint ('Acceptor-only') and a state transition ('blocker' to 'acceptable_this_phase'), but it does not explain side effects, reversibility, concurrency implications of base_revision, or failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence with no filler. The most important constraint ('Acceptor-only') is front-loaded, and every word adds meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with six required parameters, no annotations, and no parameter descriptions in the schema. One sentence is not enough to guide an agent safely: it needs clarity on base_revision, the meaning and necessity of reason, and any preconditions or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meanings. It only hints at actor_role ('Acceptor-only') and the target deviation state ('blocker'), but it does not explain base_revision, reason, contract_id, deviation_id, or actor_id semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('downgrade'), a specific resource ('blocker deviation'), and a concrete target state ('acceptable_this_phase'). It also names the role constraint upfront ('Acceptor-only'), which distinguishes it from related deviation-handling tools like raise_deviation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context by specifying that only acceptors can perform this action and that it applies to blocker deviations. However, it does not explicitly say when to choose this over alternatives such as reject_event, review_event, or respond_intervention, nor does it state 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
42 tool updates
v0.2.6- First observed
accept_contract - First observed
accept_event - First observed
add_invariant - First observed
append_event - First observed
archive_workspace - First observed
bind_assignment_to_contract - First observed
cancel_assignment - First observed
checkpoint_run - First observed
claim_assignment - First observed
create_acceptance_contract - First observed
create_assignment - First observed
create_team - First observed
evaluate_contract - First observed
export_git_projection - First observed
get_assignment_detail - First observed
get_attention_board - First observed
get_contract_detail - First observed
get_human_brief - First observed
get_run_detail - First observed
get_snapshot - First observed
get_team_board - First observed
get_workspace_detail - First observed
heartbeat_run - First observed
list_contracts - First observed
list_pending_reviews - First observed
list_workspaces - First observed
raise_attention - First observed
raise_deviation - First observed
record_run_binding - First observed
register_actor - First observed
register_workspace - First observed
reject_contract - First observed
reject_event - First observed
reopen_contract - First observed
report_verification - First observed
request_intervention - First observed
respond_intervention - First observed
review_event - First observed
seal_contract - First observed
submit_handoff - First observed
supersede_assignment - First observed
waive_deviation
TDQS
Scored across 42 tools
Most operations target distinct entities and lifecycle stages, and descriptions are generally explicit. However, accept_event/reject_event sit alongside the more general review_event, and cancel_assignment/supersede_assignment plus record_run_binding/append_event/submit_handoff create overlapping clusters that could cause misselection in a 42-tool surface.
Names are uniformly snake_case and mostly follow a verb_noun shape (list_workspaces, create_assignment, seal_contract), which is easy to scan. Minor inconsistencies such as register_actor/register_workspace vs create_team, and noun-verb exceptions like heartbeat_run/checkpoint_run, keep it from being fully consistent.
Forty-two tools is well beyond the 25+ threshold and makes the surface heavy for an agent to navigate, even for a complex coordination domain. Several near-duplicate decision/event tools could be consolidated or grouped into sub-servers without losing capability.
The set covers the core coordination lifecycle well: registration, assignment claiming, run heartbeats, interventions, event review, contract creation/sealing/evaluation, verification, snapshots, and export. Missing direct reads for actors/teams and absence of unarchive/delete operations are minor gaps, but most workflows don't hit dead ends.
Maintenance
Related MCP Connectors
Durable agent-to-agent handoffs and shared scratchpad for multi-agent workflows.
- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
- ParleyOAuthdev.weldra
Coordination hub for AI coding agents: message teammates, ask humans, audit every event.
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA coordination layer for coding agents that provides memorable identities, inbox/outbox messaging, searchable message history, and file lease management to prevent conflicts. Uses Git for human-auditable artifacts and SQLite for fast queries, enabling multiple agents to collaborate across projects without stepping on each other.2,132MIT
- FlicenseNot gradedqualityNot gradedmaintenanceA production-grade coordination hub that enables AI agents and human teams to work as a single organism by sharing tasks, context, decisions, and persistent memory across projects. It features two-tier agentic memory with per-agent hot caches, inter-agent messaging, and multi-agent authorship tracking for seamless collaboration.2-
- AlicenseAqualityBmaintenanceLocal-first shared memory and coordination layer for AI coding agents, with repository evidence, reservations, handoffs, code graph context, and dashboard review backed by PostgreSQL/pgvector.303Apache 2.0
- AlicenseAqualityAmaintenanceLocal-first memory engine for AI-agent teams: private/team/project ACL, associative recall, and federated sync across nodes. One SQLite file, no LLM required.125Apache 2.0