Solana bridge-ingress console that ranks deployable capital by stablecoin mix and corridor share
Nexus defines 5 tools with explicit schemas and descriptions visible in src/agent/loop.ts. All tools have names starting with action verbs (get_, emit_) and descriptions (10-100 chars). However, parameter descriptions are sparse or missing: get_transfer_overview, get_large_transfers, and get_chain_netflows have empty input schemas with no documented parameters. get_transfer_detail has a transfer_id parameter with a description. emit_anomaly has 6 parameters with type enums and descriptions. Output schemas are not documented anywhere in the source. Error handling is absent, no recovery guidance, no categorization of errors, no actionable error messages. The tool set is well-composed (each does one thing), but lacks the depth of documentation and error handling expected in production tools.
Flag a bridge-ingress anomaly
Get net flow, stablecoin share, and route concentration per chain
Get all transfers above the large transfer threshold
Get full details for a specific transfer by ID
Get a summary of bridge transfers and Solana ingress quality for this cycle
Three read-only tools (get_transfer_overview, get_large_transfers, get_chain_netflows) have empty input schemas with no documented parameters.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns. Rubric baseline: 100% of A+ tools have documented return types.
No error handling or recovery guidance. Tools return results or fail silently with no actionable error messages. Agents cannot distinguish retryable from fatal errors or know what to do next.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
emit_anomaly is a destructive/write tool but has no confirmation step or dry-run mode. Agents can flag false anomalies without verification, polluting the alert stream.
Tool composition: get_transfer_detail requires a transfer_id, but no discovery tool (list_transfers, search_transfers) exists to help agents find valid IDs. Agents must guess or rely on context.