Skip to main content
Glama
gokeshenzhen

io.github.gokeshenzhen/traceweave

by gokeshenzhen

sweep_handshakes

Sweep all valid/ready and AHB interfaces in one call to detect handshake stalls, deadlocks, and protocol anomalies, returning a comparative fact table to pinpoint the misbehaving interface causing timeouts or hangs.

Instructions

Whole-design handshake anomaly sweep: discover EVERY valid/ready interface and every AHB interface, then inspect each over the window in one call, returning a comparative fact table (per-interface stalls, deadlock signature ended_in_stall, x-while-valid, payload-hold, write-data-hold, premature valid deassertion, backpressure) ordered by a transparent mechanical key. Use on opaque global symptoms (timeout/hang) when you don't know which of many interfaces misbehaves — it collapses N suggest+inspect round-trips into one. Always interpret flagged_count together with coverage_status: zero_coverage means no protocol interfaces were checked and is NOT a pass; truncated/degraded means partial coverage. Workflow follow-ups relay only parameter-changing retries: an unscoped zero-coverage result is not blindly replayed, but remains inconclusive. FSDB native transition-buffer truncation is propagated per row and forces degraded coverage; zero findings then cover only returned prefixes. Returns FACTS, not a root-cause verdict; re-rank as the symptom warrants. Reads existing waveforms only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
edgeNoClock edge to sample on. Default posedge.posedge
scopeNoOptional hierarchy prefix to limit the sweep (e.g. 'tb_top.u_dut'). If the scope contains no discovered interfaces the result reports coverage_status=zero_coverage; retry unscoped or with a parent/interface scope.
wave_pathYesWaveform (FSDB or VCD).
end_time_psNoWindow end. -1 = end of trace. Accepts ps int, '@cursor', or unit literal.
start_time_psNoWindow start (ps int, '@cursor', or unit literal like '12.3ns'). Default 0.
max_interfacesNoMax interfaces to sweep (default 64). If discovery exceeds this the result is flagged truncated=true — raise it for full coverage.
max_wait_cyclesNoStall length (cycles) above which a stall becomes a long_stall finding. Default 16.
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the tool reads existing waveforms only (read-only behavior), returns facts not root-cause verdicts, propagates FSDB truncation as degraded coverage, and defines zero_coverage as a non-pass condition. It also discloses the ordering by a mechanical key and partial-coverage semantics.

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

Conciseness4/5

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

The description is dense but each sentence contributes a distinct operational fact: purpose, when-to-use, coverage semantics, retry policy, truncation handling, return type, and read-only nature. It is slightly long, but the complexity and lack of annotations/output schema justify the length.

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

Completeness5/5

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

Given the tool's complexity and the absence of both annotations and an output schema, the description covers everything needed: the fact-table fields, coverage_status interpretation, truncated/degraded meanings, FSDB truncation caveats, read-only nature, and the distinction between facts and verdicts. An agent can correctly select, invoke, and interpret the tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds general context about sweeping over a window and interpreting coverage, but it does not materially add parameter-level meaning beyond what the schema already provides. The scope retry advice is already present in the schema's scope field description.

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

Purpose5/5

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

The description states a specific action (whole-design handshake anomaly sweep) and resource (valid/ready and AHB interfaces), and lists the concrete checks performed. It also differentiates from siblings like suggest_handshakes and inspect_handshake by explicitly noting that it collapses N suggest+inspect round-trips into one.

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

Usage Guidelines5/5

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

It explicitly says to use the tool on opaque global symptoms (timeout/hang) when the offending interface is unknown, and contrasts it with the alternative suggest_handshakes + inspect_handshake flow. It also provides workflow follow-up guidance, such as not blindly replaying unscoped zero-coverage results.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gokeshenzhen/TraceWeave'

If you have feedback or need assistance with the MCP directory API, please join our Discord server