Skip to main content
Glama
songzhifei512

multi-agent-bridge

task_depend

Override and recompute task dependencies to insert a new predecessor, with automatic cycle detection. Rejects loops and protects completed tasks, ensuring a valid dependency graph.

Instructions

前置插入核心原语⚠:动态重算任务依赖(覆盖式修改已有任务的 dependencies)。用于前置插入——fork 出补丁分支 S3' 后,把 S3' 的 dependencies 改为指向新插入的前置 S2.5(set=[原依赖…, S2.5]),实现『反向插入硬性前置 + 重算依赖链』。内置【无环校验】——若 set 引入环(目标任务成为自己的直接/间接依赖)则拒绝;已 terminal(completed/superseded)任务不可改(遵守『不破坏已完成段』演进约束)。不改变状态、不派单,纯依赖图调整。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
setYes覆盖后的完整 dependencies 数组(含原依赖 + 新插入的前置 id)
reasonNo改动原因(记入 task.progress_log 供审计,如 前置插入 S2.5)
task_idYes目标任务 id(S3')

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations provided, the description carries full behavioral burden and does so thoroughly: it discloses overwrite semantics, cycle rejection, the terminal-task restriction, the fact that status is unchanged, that no dispatch occurs, and that the reason is written to the audit log. This gives the agent a clear model of side effects and guardrails.

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

Conciseness4/5

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

The description is dense but purposeful; every clause contributes either usage context, a constraint, or behavioral clarification. It is not as crisp and front-loaded as it could be, but the complexity of the operation justifies its length.

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

Completeness4/5

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

For a complex graph-modifying tool with no annotations and no output schema, the description covers the main invocation concerns: when to use it, what it does, what could reject it, and what it does not do. It stops short of describing return values or error response shapes, but those are optional in this context.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description reinforces the set semantics with the 'original dependencies + new predecessor' example, but the schema already explains that set is the complete overwritten dependencies array, task_id is the target, and reason is for audit logging. The added value is illustrative, not substantive.

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

Purpose5/5

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

The description states a specific action—overwriting an existing task's dependencies to recompute the dependency graph—and clearly identifies the resource being modified. The concrete S3'/S2.5 example and the statement that it is a pure dependency-graph adjustment distinguish it from sibling tools like task_fork or task_create.

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

Usage Guidelines4/5

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

The description explicitly explains when to use the tool: after forking a patch branch, to insert a new predecessor and repoint dependencies. It also states when it cannot be used (terminal tasks, cycles), but it does not name direct sibling alternatives or contrast them explicitly.

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